Engineering Foundations of Web Services: Theories and Tool Support

Lead Research Organisation: University of Glasgow
Department Name: School of Computing Science

Abstract

Recent years have seen the emergence of a new style of development of distributed software applications, such as e-commerce web sites. This style is known as web services , and is characterised by the notion that a machine-readable web site , or web service, provides information to a software application in the same way that a conventional web site provides information to a human user. Web services thus provides an infrastructure for the development of distributed applications which are able to integrate information and computational resources from diverse locations into a single service provided to the end-user. At the infrastructural level, web services offer powerful and general universal infrastructure for naming, communication and data representation to diverse kinds of applications. For software development, web services represent a fundamental transformation of software development style in the main stream of application development, and this leads to a number of engineering challenges which must be addressed in order to establish sound programming methodologies for the delivery of safe, secure and robust systems. This project will build on established theories of communication-based systems and transfer them to the arena of web services, in order to provide a foundation for software development techniques and tools to support successful programming in this new style.

Publications

10 25 50

publication icon
Castagna G (2009) A theory of contracts for Web services in ACM Transactions on Programming Languages and Systems

publication icon
Donaldson A (2010) Type inference and strong static type checking for Promela in Science of Computer Programming

publication icon
GAY S (2009) Linear type theory for asynchronous session types in Journal of Functional Programming

publication icon
Gay S (2015) Modular session types for objects in Logical Methods in Computer Science

 
Description The aim of the grant was to further develop the theory and practice of "session types", which is a technique for specifying and checking the communication behaviour of concurrent and distributed systems. During the project we made substantial progress. The main achievement of my component of the project, in Glasgow, was the development of a theory combining session types with object-oriented programming.
Exploitation Route The partners in this project have all continued to develop this line of research. It has fed into several further projects. The projects that I am involved in are the EPSRC Programme Grant "From Data Types to Session Types: A Basis for Concurrency and Distribution" (EP/K034413/1); and COST Action IC1201 "Behavioural Types for Reliable Large-Scale Software Systems". The Programme Grant is a collaboration with Professor Nobuko Yoshida (Imperial College London), who was also involved in this project, and Professor Philip Wadler (University of Edinburgh). The COST Action is a European research network involving around 100 researchers from 22 countries.
Sectors Digital/Communication/Information Technologies (including Software)

 
Description The results from my part of the project have been used by other researchers; for example, the paper "Linear Type Theory for Asynchronous Session Types" was been used by Wadler in his recent paper "Propositions as Sessions". Industrial applications are being explored as part of my Programme Grant.
First Year Of Impact 2010
Sector Digital/Communication/Information Technologies (including Software)
Impact Types Economic