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)