Authors:
Ahmed Ghoneim
;
Sven Apel
and
Gunter Saake
Affiliation:
Otto-von-Guericke-University, Germany
Keyword(s):
Reflection, Runtime Adaptation, Software Evolution, Meta-Data Techniques, UML.
Related
Ontology
Subjects/Areas/Topics:
Enterprise Information Systems
;
Information Engineering Methodologies
;
Information Systems Analysis and Specification
;
Methodologies, Processes and Platforms
;
Model-Driven Software Development
;
Modeling Formalisms, Languages and Notations
;
Requirements Analysis And Management
;
Software Engineering
;
Systems Engineering
Abstract:
Reactive non-stoppable software systems perform tasks continually to face environmental changes. These changes require for adapting strategies of the set of behaviors, or to add new ones according to the ability of the underlying hardware capabilities. Current approaches to runtime adaptation focus only on information which is provided by the implementation phase. Design information is not involved, even though it is extremely useful for adaptation, because they holds the semantics of the regarding software system. We present an evolutionary life cycle for self-evolving software systems by combining the traditional spiral life cycle model, known from software development with a reflective architecture which processes design information. This allows the iterative evolution of software systems at runtime. The reflective architecture (especially the meta-level) evolves the behavior and structure of the software system using its design information. Furthermore, we propose the concept of
meta-feedback to react flexibly on the continuous changes of the environment. The proposed life cycle practicability is illustrated through a case study, a robot control software.
(More)