SBLP logo SBLP 2004
Universidade Federal Fluminense - UFF
Niterói, RJ, Brazil - May 26-28, 2004

Invited Talks

José Fiadeiro, HMWS - At your service.

David Turner, Total Functional Programming.

HMWS - At your service

by José Fiadeiro
University of Leicester


In its edition of May 10th 2003 (vol 367), "The Economist" wrote:

[...] Computing is becoming a utility and software a service.  This will profoundly change the economics of the IT industry.[...] For software truly to become a service, something else has to happen: there has to be a wide deployment of web services. [...] applications will no longer be a big chunk of software that runs on a computer but a combination of web services; and the platform for which developers write their programs will no longer be the operating system, but application servers.

The challenges raised by the emerging Service-Oriented Software Development (SOSD) paradigm are, indeed, multiple and the fact that they make news in "The Economist" just means that key sectors of the Economy and, indeed, the Society as a whole, are feeling threatened. The functioning of the modern society is becoming ever more dependent on the use of software systems.  We are by now quite familiar with expressions such as e-Business, e-Commerce, e-Government, e-Learning, e-Medicine, e-Science, etc.  Unfortunately, this multitude of expressions also reflects a multitude of approaches, each of which tackles the challenges of developing e-services for its own particular area and in its own ad hoc way.  This fragmentation is real and raises the spectrum of a society whose functioning relies on services that are either not compatible or put together in ways that lead to unpredictable interactions.  Are the concerns expressed by "The Economist" justified? Are there reasons to feel threatened?  What are we, scientists, doing about it?

About Professor Fiadeiro

José Luiz Fiadeiro joined the University of Leicester in November 2002 as Professor of Software Science and Engineering. He held previous academic positions at the Technical University of Lisbon and the University of Lisbon, and visiting research positions at Imperial College, King's College London, PUC^ÖRio de Janeiro, and the SRI International. He is a member of the Editorial Board of Information Processing Letters, Science et Technique Informatiques and the Journal of the Brasilian Computer Society. He became chairman of the IFIP WG 1.3 (Foundations of System Specification) in January 2004. He is also chairman of the Steering Committee of ETAPS, the European Joint Conferences on Theory and Practice of Software, and chairman of the Steering Committee of WADT, the Workshop on Algebraic Development Techniques. His research interests include software specification formalisms and methods, especially as applied to component-based, reactive systems, and their integration in the wider area of General Systems Theory. His main contributions have been in the formalisation of specification and program design techniques using modal logics, and of their underlying modularisation principles using Category Theory. His most recent work has focused on Software Architectures, including the semantics of architectural connectors and the impact of coordination mechanisms in software evolution. This work has also been developed with, and put into practice by ATX Software, an IT company with a strong presence in European Research and Development. He is now focusing on the methodological and scientific challenges raised by Service Oriented Computing.

Total Functional Programming

by David Turner
Middlesex University


The driving idea of functional programming is to make programming more closely related to mathematics. A program in a functional language such as Haskell or Miranda consists of equations, which are both computation rules and a basis for simple algebraic reasoning about the functions and data structures they define. The existing model of functional programming, although elegant and powerful, is compromised to a greater extent than is commonly recognised by the presence of partial functions. I will sketch a discipline of TOTAL functional programming in which the language is modified to exclude the possibility of non-termination. Among other things this requires introducing a type distinction between data, which is finite, and codata, which is potentially infinite.

About Professor Turner

David Turner is Professor of Computation at Middlesex University in England, and has held professorships at Queen Mary College London, University of Texas at Austin, and the University of Kent. He is one of the pioneers of functional programming and has been active in the field since 1973. He is best known as the inventor of combinator graph reduction, a fundamental implementation technique for lazy functional languages that is the root of family of later implementation methods including supercombinators and the G machine. He also designed a series of pure non-strict functional programming languages that had a strong influence on the development of the field, including Miranda which was the main precursor of Haskell. He invented or coinvented many of the ideas which are now standard in functional programming including pattern matching with guards, list comprehensions and the "list of successes" method for eliminating backtracking, His current research interests include "strong functional programming", in which all computations terminate, type systems with dependent types and connections between functional programming and intuitionist logic.