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:
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?
How do we reengineer legacy software systems in order to turn them into
Comparative review of adaptation mechanisms in Robotics, Multi-Agent
Systems, Software Engineering, Socio-Technical Systems, Ubiquitous Computing,
Usability issues for adaptive software systems. How do we ensure
effective human interaction with complex software systems that have adaptive
Evolution of adaptive software systems. How do deployed adaptive systems
evolve? How can we ensure convergence and stability for such systems?
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?
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?
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?
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.