Skip to content The Open University

Engineering Adaptive Software Systems (EASSy)

As software-intensive systems continue to invade all aspects of personal, business and social life, they are required to operate in ever more open and dynamic environments where the one constant is uncertainty. Coping with such uncertainty calls for systems that monitor their environment and adapt so that they can continue to fulfill their requirements. The problem of engineering such systems is being addressed in a number of research communities, including Software Engineering, Systems, Ubiquitous Computing, Service-Oriented Computing, Multi-Agent Systems, Robotics and more. As a result of research efforts within these communities, there have been many proposals on how to engineer such adaptive systems. Some are policy- / requirements-based, others biologically-inspired, still others focus on awareness as the key facility that leads to adaptivity. The main objective of the proposed workshop is to bring together some of the authors of these proposals so that they can compare and contrast their respective approaches. In the process, we hope that participants in the workshop will go away with a better understanding of what ideas work, and under what circumstances. Some of the more specific issues to be discussed at the meeting include:
  1. How do we engineer adaptive software systems? What are the concepts, tools and techniques that can support requirements elicitation, architectural design and implementation of such systems?
  2. How do we reengineer legacy software systems in order to turn them into adaptive ones?
  3. Comparative review of adaptation mechanisms in Robotics, Multi-Agent Systems, Software Engineering, Socio-Technical Systems, Ubiquitous Computing, etc.
  4. Usability issues for adaptive software systems. How do we ensure effective human interaction with complex software systems that have adaptive components?
  5. Evolution of adaptive software systems. How do deployed adaptive systems evolve? How can we ensure convergence and stability for such systems?
  6. Evolution and control of systems-of-systems, where each component system has its own requirements and its own adaptation mechanism. How do we ensure convergence, stability and coherence for such systems-of-systems?
  7. Runtime models: most of the approaches to adaptivity are model-based in the sense that they deploy models of system requirements and the domain to support monitoring, diagnosis and compensation in the case of failure. How are such runtime models different from their design counterparts? How do we reason with runtime models to support adaptation functions, i. e., monitoring, diagnosis and compensation?
  8. How do we prevent failures for such systems through run-time reasoning mechanisms? Since such mechanisms are inherently intractable, how can we support incremental run-time reasoning that predicts and/or prevents failures? Workshop format
This four-day EASSy workshop has been held at the Shonan Village Center near Tokyo. The format of the workshop consisted of presentations and discussions. Senior presenters delivered position statements on comprehensive approaches to adaptive software system engineering, other presentations described on-going work through group presentations.