Research
Evolving Critical Systems
Evolving critical systems must evolve without any loss of reliability or predictability. There is a clear tension between the need for a stable and reliable system, and one which changes (possibly frequently) over time, resulting in more, rather than fewer, failures. Our research addresses this dichotomy by inventing, investigating and validating approaches to designing, building and maintaining systems, which are both flexible and dependable.
The engineering of ECS can be viewed as a special case of the broader software engineering discipline. Similar issues and questions must be addressed within ECS as in other software engineering research, but with the added (and conflicting) requirements of dependability and the ability to change.
Lero’s research agenda addresses two themes within Evolving Critical Systems:
These themes focus on the core issue of ECS – the tension between evolution and dependability. They examine this tension at the two key periods of the software lifecycle – the building of new systems in a manner that facilitates their successful evolution, and the managed evolution of existing systems which may not have been originally designed to evolve, or which change during run-time.
Improved Development Methodologies for ECS
The Development methodologies theme examines existing software processes and methodologies (agile, global software development, inner-source / open-source, and plan-driven) and seeks to identify, define and refine the best processes, tools and techniques to develop evolving critical systems from the ground up. This theme also examines the maintenance of existing critical systems as they evolve. Evolution is typically implemented by corrective or perfective maintenance in response to new requirements or problems identified.
Lero will tackle three key challenges within this theme:
- Processes and methodologies for the development and maintenance of ECS
- ECS maintenance support and automation
- Reverse engineering, refactoring and re-engineering of critical systems
Enabling Run-time Adaptation of Critical Systems
The run-time dynamic adaptation theme addresses the challenge of evolving a critical system, which is already deployed. Two important categories of such a scenario exist – the evolution of autonomic systems, where the challenge is to monitor and to direct the evolutionary process, and the evolution of “traditional” legacy systems, while they are deployed in a run-time environment.
Lero will tackle three key challenges within this theme:
- Modelling evolving critical systems in a dynamic environment
- Generation and maintenance of run-time models of ECS evolution
- Prediction of the outcomes of run-time evolution
Click here for whitepaper on ECS
- Automated Code Generation
- Autonomic Computing
- Cloud Computing
- Embedded Systems
- Empirical Software Engineering
- Formal Methods
- Global Software Development
- Medical Device Software Engineering
- Model driven Software Engineering
- Open Source Software
- Parallel and Multicore Computing
- Requirements Engineering
- Security and Privacy
- Software Processes
- Software Product Lines