Javascript Menu by Deluxe-Menu.com

 


Follow us on Twitter

"continued investment in software engineering is required …" "This should involve work on new methodologies for development of software, testing and quality assurance." - Forfás Baseline Assessment of the Public Research System – April 2003

Increasingly software can be considered to be critical, due to the business or other functionality which it supports. Upgrades or changes to such software are expensive and risky, primarily because the software has not been designed and built for ease of change. Expertise, tools and methodologies which support the design and implementation of software systems that evolve without risk (of failure or loss of quality) are essential. Lero addresses a research agenda for building software that (a) is highly reliable and (b) retains this reliability as it evolves, either over time or at run-time. We propose Evolving Critical Systems as an area for research to tackle the challenge. Given that software evolution can be seen as a compromise between cost and risk, the most pressing question to ask is which processes, techniques and tools are most cost-effective for evolving critical systems?

Plan, Evolve, Assess Cycle of ECS, with Tooling.

We divide software change activities among three stages that make up a cycle for evolving critical systems: Plan, Evolve, and Assess (PEA) --- shown below. Tooling cross-cuts the PEA cycle and refers to tool support for ECS:

  • Plan: All activities/considerations that can occur before the system is next changed, including deciding on the processes to use, requirements engineering, and risk management.
  • Evolve: All activities/considerations that can occur as the system is changing, including impact analysis and reengineering.
  • Assess: All activities/considerations that can occur after the most recent change has been made to the system, including incremental verification and validation, and ensuring software quality attributes are maintained.
  • Tooling: Consideration of tools to assist in the evolution cycle. Many of these support the whole cycle, e.g., visualisation, version control, others support particular aspects, e.g., refactoring tools and traceability model databases.

In order to describe the scope of research required to develop a body of knowledge for ECS we have defined a taxonomy of research topics under the PEA+T headings, summarized in Lero's White Paper on Evolving Critical Systems. Lero helped organise a Dagstuhl Perspectives Workshop on Evolving Critical Systems in December 2009 and a special issue on Evolving Critical Systems is scheduled to be published in IEEE Computer in May 2010.

RSS icon
View a printer-friendly version of this page
Page last updated: 10/08/2010