HPobSAM for modeling and analyzing IT Ecosystems - Through a case study

The next generation of software systems includes systems composed of a large number of distributed, decentralized, autonomous, interacting, cooperating, organically grown, heterogeneous, and continually evolving subsystems, which we call IT Ecosystems. Clearly, we need novel models and approaches to design and develop such systems which can tackle the long-term evolution and complexity problems. In this paper, our framework to model IT Ecosystems is a combination of centralized control (top-down) and self-organizing (bottom-up) approach. We use a flexible formal model, HPobSAM, that supports both behavioral and structural adaptation/evolution. We use a detailed, close to real-life, case study of a smart airport to show how we can use HPobSAM in modeling, analyzing and developing an IT Ecosystem. We provide an executable formal specification of the model in Maude, and use LTL model checking and bounded state space search provided by Maude to analyze the model. We develop a prototype of our case study designed by HPobSAM using Java and Ponder2. Due to the complexity of the model, we cannot check all properties at design time using Maude. We propose a new approach for run-time verification of our case study, and check different types of properties which we could not verify using model checking. As our model uses dynamic policies to control the behavior of systems which can be modified at runtime, it provides us a suitable capability to react to the property violation by modification of policies.

[1]  Emil C. Lupu,et al.  Ponder2 - A Policy Environment for Autonomous Pervasive Systems , 2008, 2008 IEEE Workshop on Policies for Distributed Systems and Networks.

[2]  Paola Inverardi,et al.  Context-Aware Adaptive Services: The PLASTIC Approach , 2009, FASE.

[3]  Aaron J. Quigley,et al.  Model Checking for Autonomic Systems Specified with ASSL , 2009, NASA Formal Methods.

[4]  Grigore Rosu,et al.  Monitoring Java Programs with Java PathExplorer , 2001, RV@CAV.

[5]  Andreas Rausch,et al.  DemSy - A Scenario for an Integrated Demonstrator in a Smart City , 2010 .

[6]  Grigore Rosu,et al.  Towards Monitoring-Oriented Programming: A Paradigm Combining Specification and Implementation , 2003, RV@CAV.

[7]  Heather Goldsby,et al.  AMOEBA-RT: Run-Time Verification of Adaptive Software , 2008, MoDELS.

[8]  Michael G. Hinchey,et al.  The ASSL approach to specifying self‐managing embedded systems , 2012, Concurr. Comput. Pract. Exp..

[9]  B. Cheng,et al.  Specifying adaptation semantics , 2005, WADS@ICSE.

[10]  Howard Barringer,et al.  Rule Systems for Run-time Monitoring: from Eagle to RuleR , 2010, J. Log. Comput..

[11]  Heather Goldsby,et al.  Modular verification of dynamically adaptive systems , 2009, AOSD '09.

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

[13]  Doron Drusinsky,et al.  The Temporal Rover and the ATG Rover , 2000, SPIN.

[14]  Holger Giese,et al.  Model-Driven Development of Reconfigurable Mechatronic Systems with Mechatronic UML , 2004, MDAFA.

[15]  Gul A. Agha Computing in pervasive cyberspace , 2008, CACM.

[16]  Gabriele Taentzer,et al.  Dynamic Change Management by Distributed Graph Transformation: Towards Configurable Distributed Systems , 1998, TAGT.

[17]  Wei-Min Shen,et al.  Hormone-Inspired Self-Organization and Distributed Control of Robotic Swarms , 2004, Auton. Robots.

[18]  Bernd Finkbeiner,et al.  Checking Finite Traces using Alternating Automata , 2001, Electron. Notes Theor. Comput. Sci..

[19]  Jadwiga Indulska,et al.  Methods for conflict resolution in policy-based management systems , 2003, Seventh IEEE International Enterprise Distributed Object Computing Conference, 2003. Proceedings..

[20]  Christoph Bockisch,et al.  Applying the Composition Filter Model for Runtime Verification of Multiple-Language Software , 2009, 2009 20th International Symposium on Software Reliability Engineering.

[21]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[22]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[23]  Jesper Andersson,et al.  FORMS: a formal reference model for self-adaptation , 2010, ICAC '10.

[24]  Franco Zambonelli,et al.  Towards nature-inspired pervasive service ecosystems: Concepts and simulation experiences , 2011, J. Netw. Comput. Appl..

[25]  Arnd Poetzsch-Heffter,et al.  Using Abstraction in Modular Verification of Synchronous Adaptive Systems , 2006, Trustworthy Software.

[26]  Hartmut Schmeck,et al.  Adaptivity and self-organization in organic computing systems , 2010, TAAS.

[27]  Saeed Jalili,et al.  Formal modeling of evolving self-adaptive systems , 2012, Sci. Comput. Program..

[28]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[29]  Michael G. Hinchey,et al.  ASSL: A Software Engineering Approach to Autonomic Computing , 2009, Computer.

[30]  Tobias Schüle,et al.  From Model-Based Design to Formal Verification of Adaptive Embedded Systems , 2007, ICFEM.

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

[32]  Saeed Jalili,et al.  PobSAM: Policy-based Managing of Actors in Self-Adaptive Systems , 2010, Electron. Notes Theor. Comput. Sci..

[33]  Heike Wehrheim,et al.  Jass - Java with Assertions , 2001, RV@CAV.

[34]  Mahesh Viswanathan,et al.  Runtime Assurance Based On Formal Specifications , 1999, PDPTA.

[35]  M.S. Feather,et al.  Reconciling system requirements and runtime behavior , 1998, Proceedings Ninth International Workshop on Software Specification and Design.

[36]  Saeed Jalili,et al.  Formal analysis of policy-based self-adaptive systems , 2010, SAC '10.

[37]  Koushik Sen,et al.  Rule-Based Runtime Verification , 2004, VMCAI.

[38]  Bradley R. Schmerl,et al.  Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure , 2004, Computer.

[39]  Jim Buckley Requirements-Based Visualization Tools for Software Maintenance and Evolution , 2009, Computer.

[40]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[41]  Holger Giese,et al.  Modeling of correct self-adaptive systems: a graph transformation system based approach , 2008, CSTST.

[42]  Dov M. Gabbay,et al.  From Runtime Verification to Evolvable Systems , 2007, RV.

[43]  Javier Cámara,et al.  Behavioural self-adaptation of services in ubiquitous computing environments , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[44]  Saeed Jalili,et al.  Monitoring safety properties of composite web services at runtime using CSP , 2009, 2009 13th Enterprise Distributed Object Computing Conference Workshops.

[45]  N. Müller,et al.  NTH - Niedersächsische Technische Hochschule , 2009 .

[46]  Jacob Beal,et al.  Infrastructure for engineered emergence on sensor/actuator networks , 2006, IEEE Intelligent Systems.

[47]  Tobias Schüle,et al.  Verifying the adaptation behavior of embedded systems , 2006, SEAMS '06.

[48]  Jürgen Dingel,et al.  A survey of self-management in dynamic software architecture specifications , 2004, WOSS '04.

[49]  Andrea Omicini,et al.  Environment as a first class abstraction in multiagent systems , 2007, Autonomous Agents and Multi-Agent Systems.

[50]  Andrea Omicini,et al.  Towards a Pervasive Infrastructure for Chemical-Inspired Self-organising Services , 2009, SOAR.

[51]  Berthold Hoffmann,et al.  Hierarchical Graph Transformation , 2000, J. Comput. Syst. Sci..

[52]  Emil C. Lupu,et al.  Engineering Policy-Based Ubiquitous Systems , 2010, Comput. J..

[53]  Arnd Poetzsch-Heffter,et al.  Component-based modeling and verification of dynamic adaptation in safety-critical embedded systems , 2011, TECS.

[54]  Javier Cubo,et al.  A Formal Framework for Structural Reconfiguration of Components under Behavioural Adaptation , 2010, Electron. Notes Theor. Comput. Sci..