Software Engineering

Software Engineering (SE) has been a major research theme at Lancaster since 1986. In the 2010s our high-impact research spans the range from tool development to theoretical work and focuses on a number of SE themes. These include software product lines, model driven engineering (MDE), requirements engineering (RE), self-adaptive, cloud-based and service-oriented systems, and the challenges posed by (amongst others) social computing and e-health. 

Members and Interests

Prof. Pete Sawyer (Group Leader)

Requirements Engineering: Our RE interest focuses on novel techniques and tools for knowledge elicitation in software development, on the monitoring of requirements' fulfilment to help software adapt to changes in its environment and on the discovery of requirements for e-health systems where system acceptance is mediated by factors such as the user's emotional response to intervention and monitoring. 

Dr Amit Chopra

Sociotechnical Systems: We are interested in how to engineer sociotechnical systems systematically from stakeholder requirements. We are particularly focused on the use of commitments to model interactions among the principals in a sociotechnical system. Commitment is a foundational social abstraction and instances of commitments arise in many settings; all business transactions involve commitments for example.

Dr Gerald Kotonya

Service-oriented Computing: Our interest in Service-oriented Computing is focused on self-managing/self-configuring service and cloud frameworks for resource-constrained systems. As part of this research we have developed runtime frameworks for supporting fault-tolerance and for ensuring runtime Quality of Service in embedded service-based systems. We are currently integrating the various frameworks into a self-managing platform for embedded service-oriented systems. 

Dr Jaejoon Lee

Software Product Lines: Our research is focused on Service-Oriented Product Line (SOPL) engineering which is a paradigm for developing dynamically reconfigurable products of a product line. We have developed a feature-based approach for developing SOPLs by providing an analysis framework based on features to identify reconfiguration units and contexts, and an architectural framework for developing a dynamic reconfigurator.

Prof. Jon Whittle

Model-driven Engineering: Model-driven engineering (MDE) is an approach to software development in which models are treated as first-class entities, c.f. source code in conventional software development. Different flavours of MDE emphasise (e.g.) support for the identification and management of reusable patterns in domain models, the reification of models in a way that preserves the key properties of abstract models in less abstract models, and code generation. Our research in MDE includes work on the formalisation of use cases, the use of models for self-adaptation and empirical studies of MDE adoption in industry.