Software Engineering Group
Overview
The group focuses on the engineering and provision of complex software systems as part of broader socio-technical systems, structures and activities. The activities of the group are concerned with both the processes that need to be deployed in order to develop and manage the provision of software systems in ways that can effectively address the interests and requirements of different types of stakeholders (e.g. system providers, developers, users, regulators etc), and the artefacts (models) that need to be constructed in order to facilitate the understanding, analysis, verification, acceptance and effective long term management of software systems.
Within these broad areas, the research activities of the group have been focused on:
-
Service-centric software systems engineering
Service-centric software systems engineering has emerged as a new paradigm for developing complex software systems by orchestrating distributed software components that are available in the form of “software services” and can be deployed remotely on heterogeneous devices and infrastructures (without the need for owning them). The research of the group in this area has focused on some fundamental technical issues for the effective realisation of the new paradigm, including the discovery and composition of software services whilst designing and developing service based systems or during their operation at runtime, and the need for developing support for monitoring and adapting such systems at runtime (often in proactive rather than reactive ways) in order to address problems that can arise due to the lack of control over external software services and the potential for experiencing unexpected changes in their structure, behavior and/or quality or continuity of service provision. The group is also interested in the investigation and development of techniques for assessing and enhancing trust in service centric systems including, amongst other, techniques for dynamic assessment of software services trust, creating and managing Service Level Agreements to regulate the provision of services, and developing support for service centric systems governance.
-
Distributed systems security
This strand of work focuses on developing platforms for assessing statically and dynamically the effectiveness of implementations of security solutions for highly distributed systems and the extent to which such systems address certain security properties. This work includes the development of distributed event capturing mechanisms for system monitoring, negotiation protocols for the initiation and termination of monitoring activities in distributed systems without forms of centralised control and patterns for the specification of monitorable security properties. It also includes mechanisms for the detection of security threats in distributed systems.
-
Software systems verification
The group has been investigating into the development of techniques to support the detection, handling and diagnosis of inconsistencies in software system specifications for several years. Recently, this work focuses on the verification of dependability and security properties with an explicit focus on mobile and highly distributed systems such as service centric and peer-to-peer systems
-
Software systems requirements engineering
Development of techniques to support the automatic generation and maintenance of fine-grain traceability relations between different parts in the documentation of software systems. This work is based on the use of lightweight natural language processing techniques and rule-based reasoning. As part of this work, we have also investigated the application of probabilistic reasoning and machine learning techniques in the automatic generation of traceability relations. We have also looked at processes of requirement specification evolution supported by the use of abductive reasoning and inductive machine learning techniques.
-
Embedded Software Systems
Another area where we are applying our experience in software systems verification and description and management of Service Level Agreements for the achievement of very stringent Qualities of Service, is that of Embedded Software Systems. Many of these are either mission or safety critical systems and our research aids in their analysis, fine grain control, optimisation and verification.
Dr. Howard Foster (Research Assistant)
Dr. Davide Lorenzoli (Research Fellow)
Dr. Khaled Mahbub (Research Fellow)
Mr. Theoharis Tsigritis (Research Assistant)
Mr. Alexander Kozlenkov
A list of selected
publications of the members of the groups is maintained. In addition
to it the members of the group have their own lists which can be accessed
from their
web-pages.
The group welcomes applications from students who want to do research
in the areas that are of interest to the academic members of the group.
Those interested may initially contact the relevant member of the group
or Prof. George
Spanoudakis.Members
Group Leader:
Academic staff:
Visiting staff:
Research assistants:
Research students:
Publications
Research Opportunities
Further information about Research Studies within The School of Informatics can be found here
