MOCAS: A State-Based Component Model for Self-Adaptation

This paper introduces MOCAS (Model Of Components for Adaptive Systems), a generic state-based component model which enables the self-adaptation of software components together with their coordination. MOCAS relies on behavioral adaptation instead of structural adaptation and uses the United Modeling Language (UML). Each component embeds a UML state machine to realize its behavior at runtime. It is installed in a container managing the adaptation process and ensuring its consistency. Adaptation is triggered when invariants related to the components business properties are violated. The component supports updates of its specification while it is running. This component model is illustrated through the GridStix case study.

[1]  Michael Soden,et al.  Towards a model execution framework for Eclipse , 2009, BM-MDA '09.

[2]  Marc Léger,et al.  Fiabilité des reconfigurations dynamiques dans les architectures à composants. (Reliability of dynamic reconfigurations in component-based architectures) , 2009 .

[3]  Michel R. V. Chaudron Models in Software Engineering, Workshops and Symposia at MODELS 2008, Toulouse, France, September 28 - October 3, 2008. Reports and Revised Selected Papers , 2009, MoDELS Workshops.

[4]  Zhenbang Chen,et al.  Refinement and verification in component-based model-driven design , 2009, Sci. Comput. Program..

[5]  Olivier Barais,et al.  Un processus à base de modèles pour les systèmes auto-adaptatifs , 2009 .

[6]  F. Barbier,et al.  A Model-based Design Environment for Executing Self-* Software Components , 2009 .

[7]  Franck Barbier,et al.  State-Based Composition in UML 2 , 2008, Int. J. Softw. Eng. Knowl. Eng..

[8]  Mohamed Jmaiel,et al.  Towards modelling and analysis of a coordination protocol for dynamic software adaptation , 2008, CSTST.

[9]  Nabil Hameurlain,et al.  Dynamic adaptive software components: the MOCAS approach , 2008, CSTST.

[10]  Tatsuo Nakajima,et al.  A Framework for Self-Healing Device Drivers , 2008, 2008 Second IEEE International Conference on Self-Adaptive and Self-Organizing Systems.

[11]  Heather Goldsby,et al.  Automatically Generating Behavioral Models of Adaptive Systems to Address Uncertainty , 2008, MoDELS.

[12]  Laurent Vercouter,et al.  Component Reassembling and State Transfer in MaDcAr-Based Self-adaptive Software , 2008, TOOLS.

[13]  Carlos A. Flores-Cortés,et al.  Genie: supporting the model driven development of reflective, component-based adaptive systems , 2008, ICSE.

[14]  Benoît Combemale,et al.  Towards a Model Driven Autonomic Management System , 2008, Fifth International Conference on Information Technology: New Generations (itng 2008).

[15]  Wouter Joosen,et al.  Towards an aspect-oriented architecture for self-adaptive frameworks , 2008 .

[16]  Antoine Beugnard,et al.  Model-driven development of component-based adaptive distributed applications , 2008, SAC '08.

[17]  Xavier Crégut,et al.  Introducing Simulation and Model Animation in the MDE Topcased Toolkit , 2008 .

[18]  Jordi Torres,et al.  Towards Self-adaptable Monitoring Framework for Self-healing , 2008, CoreGRID Workshop on Grid Middleware.

[19]  Guillaume Grondin,et al.  MaDcAr-Agent : un modèle d'agents auto-adaptables à base de composants , 2008 .

[20]  Shih-Wei Liao,et al.  DJ: A Transparent Java-Integrated Data Access System , 2007, IEEE International Conference on e-Business Engineering (ICEBE'07).

[21]  Tao Huang,et al.  Adaptive Self-Configuration of EJB Server: A Performance Model Approach , 2007, IEEE International Conference on e-Business Engineering (ICEBE'07).

[22]  Alexander Egyed,et al.  Self-Adaptive Systems for Information Survivability: PMOP and AWDRAT , 2007, First International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2007).

[23]  Gérard Padiou,et al.  Safe Adaptation of Component Coordination , 2007, Electron. Notes Theor. Comput. Sci..

[24]  Peter Van Roy,et al.  Self Management and the Future of Software Design , 2007, FACS.

[25]  Jeff Magee,et al.  Self-Managed Systems: an Architectural Challenge , 2007, Future of Software Engineering (FOSE '07).

[26]  H. Conrad Cunningham Reflexive metaprogramming in Ruby: tutorial presentation , 2007 .

[27]  Mohsen Sharifi,et al.  A Survey of Autonomic Computing Systems , 2006, Third International Conference on Autonomic and Autonomous Systems (ICAS'07).

[28]  Kung-Kiu Lau,et al.  Software Component Models , 2006, IEEE Transactions on Software Engineering.

[29]  Fabien Romeo Administration de composants logiciels pour systèmes sans fil , 2007 .

[30]  Achim Rettberg,et al.  Towards a Dynamically Reconfigurable Automotive Control System Architecture , 2007, IESS.

[31]  Theo D'Hondt,et al.  An alternative to Quiescence: Tranquility , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[32]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[33]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[34]  Xiaohong Guan,et al.  Autonomic and Dependable Computing: Moving Towards a Model-Driven Approach , 2006 .

[35]  Franck Barbier An Enhanced Composition Model for Conversational Enterprise JavaBeans , 2006, CBSE.

[36]  Gordon S. Blair,et al.  GridStix: supporting flood prediction using embedded hardware and next generation grid middleware , 2006, 2006 International Symposium on a World of Wireless, Mobile and Multimedia Networks(WoWMoM'06).

[37]  Betty H. C. Cheng,et al.  Model-based development of dynamically adaptive software , 2006, ICSE.

[38]  Xavier Crégut,et al.  The TOPCASED project : a toolkit in open source for critical aeronautic systems design , 2006 .

[39]  Thomas Ledoux,et al.  WildCAT: a generic framework for context-aware applications , 2005, MPAC '05.

[40]  Djalel Chefrour Plate-forme de composants logiciels pour la coordination des adaptations multiples en environnement dynamique , 2005 .

[41]  Willem P. de Roever,et al.  29 New Unclarities in the Semantics of UML 2.0 State Machines , 2005, ICFEM.

[42]  Pierre-Charles David,et al.  Développement de composants Fractal adaptatifs : un langage dédié à l'aspect d'adaptation , 2005 .

[43]  Huaglory Tianfield,et al.  A concise introduction to autonomic computing , 2005, Adv. Eng. Informatics.

[44]  Tom De Wolf,et al.  Decentralised Autonomic Computing: Analysing Self-Organising Emergent Behaviour using Advanced Numerical Methods , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[45]  M. Salehie,et al.  Autonomic computing , 2005, ACM SIGSOFT Softw. Eng. Notes.

[46]  Jim Dowling,et al.  The Decentralised Coordination of Self-Adaptive Components for Autonomic Distributed Systems , 2005 .

[47]  Mikaël Beauvois Composition comportementale de composants , 2005 .

[48]  Theo D'Hondt,et al.  Pitfalls in Unanticipated Dynamic Software Evolution , 2005, RAM-SE.

[49]  Yolande Berbers,et al.  Component State Mapping for Runtime Evolution , 2005, PLC.

[50]  Miranda Mowbray,et al.  What kind of self-aware systems does the Grid need? , 2005 .

[51]  Philippe Merle,et al.  OpenCCM : une infrastructure a composants pour le deploiement d'applications a base de composants CORBA , 2004, ArXiv.

[52]  Alexander Egyed Architecture differencing for self management , 2004, WOSS '04.

[53]  Roy Sterritt,et al.  Autonomic networks: engineering the self-healing property , 2004, Eng. Appl. Artif. Intell..

[54]  Salim Hariri,et al.  Autonomic Computing: An Overview , 2004, UPP.

[55]  Rajarshi Das,et al.  A multi-agent systems approach to autonomic computing , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[56]  Alexander Egyed,et al.  An externalized infrastructure for self-healing systems , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[57]  Jeffrey O. Kephart,et al.  An artificial intelligence perspective on autonomic computing policies , 2004, Proceedings. Fifth IEEE International Workshop on Policies for Distributed Systems and Networks, 2004. POLICY 2004..

[58]  Roy Sterritt,et al.  Exploring autonomic options in an unified fault management architecture through reflex reactions via pulse monitoring , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[59]  Sandeep S. Kulkarni,et al.  Correctness of Component-Based Adaptation , 2004, CBSE.

[60]  Steve R. White,et al.  An architectural approach to autonomic computing , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[61]  Bradley R. Schmerl,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[62]  Salim Hariri,et al.  Online monitoring and analysis for self-protection against network attacks , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[63]  O. Patrick Kreidl,et al.  Feedback control applied to survivability: a host-based autonomic defense system , 2004, IEEE Transactions on Reliability.

[64]  Franco Zambonelli,et al.  Methodologies and software engineering for agent systems : the agent-oriented software engineering handbook , 2004 .

[65]  Chantal Taconet,et al.  Architecture base de composants pour le dploiement adaptatif des applications multi- composants , 2004 .

[66]  Raul Silaghi,et al.  Defining Model Driven Engineering Processes , 2004 .

[67]  Brian Melcher Towards an Autonomic Framework : Self-Configuring Network Services and Developing Autonomic Applications , 2004 .

[68]  Ji Zhang,et al.  Enabling Safe Dynamic Component-Based Software Adaptation , 2004, WADS.

[69]  Alfred Strohmeier,et al.  Integrating CBSE, SoC, MDA, and AOP in a software development method , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[70]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[71]  Gordon S. Blair,et al.  A Resource Adaptation Framework For Reflective Middleware , 2003, Middleware Workshops.

[72]  Zièd Choukair,et al.  Dynamic, adaptive and reconfigurable systems overview and prospective vision , 2003, 23rd International Conference on Distributed Computing Systems Workshops, 2003. Proceedings..

[73]  Bertrand Meyer,et al.  The grand challenge of trusted components , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[74]  Ming Zhang,et al.  Autonomia: an autonomic computing environment , 2003, Conference Proceedings of the 2003 IEEE International Performance, Computing, and Communications Conference, 2003..

[75]  I. Crnkovic Component-based software engineering - new challenges in software development , 2001, Proceedings of the 25th International Conference on Information Technology Interfaces, 2003. ITI 2003..

[76]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[77]  Thomas A. Corbi,et al.  The dawning of the autonomic computing era , 2003, IBM Syst. J..

[78]  Charles C. Palmer,et al.  Security in an autonomic computing environment , 2003, IBM Syst. J..

[79]  Kathryn Anne Weiss,et al.  Reusable Specification Components for Model-Driven Development∗ , 2003 .

[80]  Michael Haupt,et al.  Axon | Dynamic AOP through Runtime Inspection and Monitoring , 2003 .

[81]  Dilma Da Silva,et al.  Enabling autonomic behavior in systems software with hot swapping , 2003, IBM Syst. J..

[82]  Gregory R. Ganger,et al.  A Human Organization Analogy for Self-* Systems , 2003 .

[83]  Seyed Masoud Sadjadi,et al.  An aspect-oriented approach to dynamic adaptation , 2002, WOSS '02.

[84]  Gordon S. Blair,et al.  Reflection, self-awareness and self-healing in OpenORB , 2002, WOSS '02.

[85]  Yolande Berbers,et al.  A meta-model driven methodology for state transfer in component-oriented systems , 2002 .

[86]  Michel Riveill,et al.  Aspects dynamiques des langages de description d'architecture logicielle , 2002, Obj. Logiciel Base données Réseaux.

[87]  James Snell,et al.  Introduction to Web services architecture , 2002, IBM Syst. J..

[88]  Sanjiva Weerawarana,et al.  Unraveling the Web services web: an introduction to SOAP, WSDL, and UDDI , 2002, IEEE Internet Computing.

[89]  L. Pazzi Part-Whole Statecharts , or How I Learned to Turn the Explicit Attitude of Composition Languages on My Side , 2002 .

[90]  Thierry Coupaye,et al.  Recursive and Dynamic Software Composition with Sharing , 2002 .

[91]  Jim Dowling,et al.  The K-Component Architecture Meta-model for Self-Adaptive Software , 2001, Reflection.

[92]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[93]  Alexander Egyed,et al.  Statechart simulator for modeling architectural dynamics , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[94]  Stefan Poslad,et al.  Standardizing Agent Interoperability: The FIPA Approach , 2001, EASSS.

[95]  Bill Councill,et al.  Definition of a software component and its elements , 2001 .

[96]  Douglas C. Schmidt,et al.  Overview of the CORBA component model , 2001 .

[97]  Gilda Pour,et al.  Accelerating Development with Agent Components , 2001, Computer.

[98]  Petr Jan Horn,et al.  Autonomic Computing: IBM's Perspective on the State of Information Technology , 2001 .

[99]  L. Bellissard,et al.  Ensuring Dynamic Reconfiguration Consistency , 2001 .

[100]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[101]  Helmut Veith,et al.  Progress on the State Explosion Problem in Model Checking , 2001, Informatics.

[102]  George T. Heineman,et al.  Software Agents as Next Generation Software Components , 2001 .

[103]  Julie A. McCann,et al.  Kendra: adaptive Internet system , 2000, J. Syst. Softw..

[104]  Jacques Noyé,et al.  A declarative approach for designing and developing adaptive components , 2000, Proceedings ASE 2000. Fifteenth IEEE International Conference on Automated Software Engineering.

[105]  Günter Kniesel Type-Safe Delegation for Run-Time Component Adaptation , 1999, ECOOP.

[106]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[107]  José M. Troya,et al.  Specification and Refinement of Dynamic Software Architectures , 1999, WICSA.

[108]  Kaveh M. Moazami-Goudarzi,et al.  Consistency preserving dynamic reconfiguration of distributed systems , 1999 .

[109]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[110]  Peyman Oreizy,et al.  Architecture-based runtime software evolution , 1998, Proceedings of the 20th International Conference on Software Engineering.

[111]  Frantisek Plasil,et al.  SOFA/DCUP: architecture for component trading and dynamic updating , 1998, Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159).

[112]  Wolfgang Weck,et al.  A Plea for Grey-Box Components , 1997 .

[113]  Johannes Sametinger,et al.  Software Engineering with Reusable Components , 1997, Springer Berlin Heidelberg.

[114]  Steve Vinoski,et al.  CORBA: integrating diverse applications within distributed heterogeneous environments , 1997, IEEE Commun. Mag..

[115]  Clemens Szyperski,et al.  Component software , 1997 .

[116]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[117]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[118]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[119]  Philip A. Bernstein,et al.  Middleware: a model for distributed system services , 1996, CACM.

[120]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[121]  Bill N. Schilit,et al.  Context-Aware Computing Applications , 1994, 1994 First Workshop on Mobile Computing Systems and Applications.

[122]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[123]  Christine Hofmeister Dynamic reconfiguration of distributed applications , 1993 .

[124]  James M. Purtilo,et al.  Surgeon: a packager for dynamically reconfigurable distributed applications , 1992, Softw. Eng. J..

[125]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[126]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[127]  Rodney A. Brooks,et al.  A Robust Layered Control Syste For A Mobile Robot , 2022 .

[128]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[129]  S. Seshu,et al.  Introduction to the theory of finite-state machines , 1963 .