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:
- 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.
- 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.
- 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.