Distributed Software Engineering Group Research
DSE Logo


The links below connect to overviews of the main areas of research within the group. Each summarises our work, and provides links to introductary papers and projects in these areas. Our work falls within the following four main areas:

Requirements and Software Engineering

Software Architecture, Design and Analysis

Distributed Systems

Ubiquitous Computing

Feedback, Evolution and Software Technology


Past Work

In the area of distributed systems, the group has been involved in distributed systems research for 20 years, receiving funds both from the EPSRC and industry. A concrete result was the development of the CONIC Environment for constructing and managing distributed systems, particularly for embedded applications. CONIC provided a comprehensive set of tools for program compilation, configuration, debugging and execution in a distributed environment. Flexible configuration, modularity and reuse of software components was facilitated by separation of the language for programming individual task modules from the language for configuring programs from predefined modules. In addition, CONIC catered for dynamic configuration, supporting on-line modifications to a running system. Users of the CONIC environment included both industry (British Coal, British Petroleum Research Centre, GEC Research PLC, British Telecom Research Laboratory, and Intracom) and academic centres in Belgium, Brazil, Canada, France, Germany, Greece, Hong Kong, Japan, Korea, Sweden, USA and the UK. This work was continued in a number of related projects, such as the REX Project , which aimed at providing a software environment for the development and maintenance of reconfigurable and extensible distributed and parallel systems. Recent work was conducted in the Regis project to provide support for distributed programming, including open systems connection. Darwin is used as a declarative architecture language supporting both static and dynamic structures.

The CONIC, Rex and Regis work demonstrated the utility of using a separate architectural language for describing system structure. Current work is centred on the Darwin language. This supports multiple views, including both a service view for system construction and a behaviour view for system modelling and analysis. An environment, the Architect's Assistant , supports the design of distributed Darwin/Regis programs.

Behaviour modelling is supported by modelling the behaviour of individual components and composing them to form composite components based on the architecture. The work thus exploits the positive experience in the use of configuration languages for system description and construction as the basis for formal specifications, i.e. using configurations of specifications as a means for specifying and analysing systems in a compositional manner. The work, which was conducted in the TRACTA project, uses LTS (labelled transition systems) as the underlying formalism, with specifications given in FSP (Finite State Processes), a process algebra. Model checking is provided by the LTSA analysis tool, which supports graphical LTS displays, animation, and safety and progress checking.


Future Work

In addition to the work described under the areas above, the following are new areas of research which are currently being developed:


Index to Projects

An index to curent and past projects in all areas of research within the group.

DSE Group Papers

Our publications are available from our ftp site. See individual group members' home pages for up-to-date details of publications.

Index to Software

An index to software implemented within the group.


Web pages maintained by Arosha Bandara (bandara@doc.ic.ac.uk), unless otherwise indicated.

Up to: DSE Group, Department of Computing, Imperial College