Research themes
Software systems engineering
Current work in software systems engineering is focused on four overlapping areas:
- System dependability
- System requirements engineering
- Aspect-oriented systems development
- Component and service-based software engineering
System dependability
System dependability research is concerned with techniques and methods for developing trustworthy systems. Our interests span a range of topics from human and organisational factors in dependable systems design through process dependability and organisational memory to access control techniques for secure systems. We are particularly interested in exploring areas of dependability related to ubiquitous computing and system security. The group is part of a national inter-disciplinary research collaboration (DIRC) with other leading universities in the area of system dependability.
System requirements engineering
In requirements engineering, we have developed a number of viewpoint- oriented techniques for eliciting and structuring system requirements. We are well-known for our work in requirements engineering process improvement and pioneered the use of sociological techniques to understand the requirements of cooperative systems in large organisations. Ongoing work is concerned understanding the links between requirements and organisational decision making, the use of technologies such as large-screens to support requirements engineering and the development of patterns of interaction to reuse requirements analysis for interactive systems.
Aspect-oriented systems development
Aspect-oriented development focuses on technologies and techniques for supporting systems development and evolution through the separation of broadly scoped concerns. Systems can be generated from a generic core by weaving code into the core that is concerned with particular aspects such as performance and dependability. Our particular interests include aspect-oriented databases, aspect- oriented requirements engineering, aspect-oriented specification and formal methods and aspect-oriented programming. Ongoing work includes projects concerned with use of aspects to support database and product line evolution, aspect composition and resolution of feature interactions.
Component and service-based software engineering
In component and service-based software engineering our principal research interests are in the development and use of architectural description languages for CBSE, exploring the links between requirements engineering and CBSE, and in developing frameworks that support the construction of secure systems from potentially insecure components. We are also exploring the relatively new area of service- centric systems development and are developing techniques for supporting fault- tolerant grid computing systems, the dynamic reconfiguration of service-based systems and contract and costing models for grid services.
