This is the Group's entry in the Department's Strategic Plan

Declarative Systems and Software Engineering

Technology Foresight identified Software Engineering as an area of significant importance for future wealth creation. This research group is concerned with software engineering, often with special focus on the more formal aspects exemplified by a declarative approach.

Although there is much interaction between the different topics, we can identify three main sub-groupings:

  1. Software Engineering has a focus on the evolution of large systems, including process modelling, process support and metrics for software development. There is collaborative work with ICL and with the DRA and funding from EPSRC and ESPRIT. A recent development has been to extend our ideas to embrace Business Process modelling, a clear priority also identified by Foresight.

  2. Formal Methods research has covered formal refinement, executable specifications and tool integration for specification and proof tools. In this work we have collaborated with IBM and SRI with whose help we have secured EPSRC funding to continue the collaboration.

  3. Declarative Systems brings together activities in functional programming, logic programming and visual dataflow programming, including implementation of such languages. An important emphasis of this area is that the research is undertaken in the context of Parallel and Distributed Systems. Collaboration with other UK Universities, ECRC, SICS, INRIA, National Power and Pictorius Inc has led to funding from EPSRC and ESPRIT.
Past work has been primarily concerned with developing technologies and tools within the research areas. The emphasis has now moved towards delivering those tools to users, and the future plans are to continue this shift.
1. Software Engineering
Our work on the evolution of complex systems and metrics for system development is contributing to a model of Open Systems which is expected to assist end-users in specifying their requirements when attempting to acquire an open system. We have developed Business Process modelling tools which are now being applied to the problems of end-user collaborators in the construction industry, in financial services and in local government. We will develop these tools much further, bridging the gap between formal methods and end-user requirements, in this field of Requirements Modelling for Business Processes. In addition, our work on metrics for the object-oriented paradigm will develop the meaning of quality in this area (with NCC).

2. Formal Methods
We are investing in research on calculational formal methods that, by integrating existing tools (from the UK and USA), will provide a means for our industrial collaborators to verify and validate their system components.

3. Declarative Systems
Work in this area has recently moved to collaboration on specific problems, usually with companies. In functional and dataflow programming the problems are in Operational Research (with National Power) and Smart Cards (with QC Technology BV). In logic programming the work is with legal and medical applications and also with integrating the technology with distributed hypermedia systems.

Apart from the specific plans above, even greater interaction between the subgroups (and other departmental groups) is also a priority. This is achieved by building projects around the user's problem, and bringing in experts from different sub-groups and groups to tackle different aspects of the problem. An example of this approach within the group is the Smart Card work, which brings together formal methods (mathematical modelling), functional programming (executable specification) and visual programming (conformant prototyping), and may in future enable us to involve staff from other groups.

The overall emphasis of the group is thus to test its methods and technology within the context of exemplar applications, while continuing to develop and improve the methods and technology in response to the users' inputs. We consider that this mix of research puts the group in a good position to exploit future research possibilities.