A survey of autonomic computing methods in digital service ecosystems

Service engineering of digital service ecosystems can be associated with several challenges, such as change and evolution of requirements; gathering of quality requirements and assessment; and uncertainty caused by dynamic nature and unknown deployment environment, composition and users. Therefore, the complexity and dynamics in which these digital services are deployed call for solutions to make them autonomic. Until now there has been no up-to-date review of the scientific literature on the application of the autonomic computing initiative in the digital service ecosystems domain. This article presents a review and comparison of autonomic computing methods in digital service ecosystems from the perspective of service engineering, i.e., requirements engineering and architecting of services. The review is based on systematic queries in four leading scientific databases and Google Scholar, and it is organized in four thematic research areas. A comparison framework has been defined which can be used as a guide for comparing the different methods selected. The goal is to discover which methods are suitable for the service engineering of digital service ecosystems with autonomic computing capabilities, highlight what the shortcomings of the methods are, and identify which research activities need to be conducted in order to overcome these shortcomings. The comparison reveals that none of the existing methods entirely fulfills the requirements that are defined in the comparison framework.

[1]  L. Zhen,et al.  AutoMate: Enabling Autonomic Applications on the Grid , 2003, 2003 Autonomic Computing Workshop.

[2]  Xiaodong Liu,et al.  Advanced Design Approaches to Emerging Software Systems: Principles, Methodologies and Tools , 2011 .

[3]  Heather Goldsby,et al.  Avida-MDE: a digital evolution approach to generating models of adaptive software behavior , 2008, GECCO '08.

[4]  Eila Niemelä,et al.  Integrability and Extensibility Evaluation from Software Architectural Models - A Case Study , 2007 .

[5]  Eitan Altman,et al.  Bio-Inspired Approaches for Autonomic Pervasive Computing Systems , 2008, BIOWIRE.

[6]  Benjamin C. Kuo,et al.  Automatic control systems (7th ed.) , 1991 .

[7]  Charles Ofria,et al.  Autonomic Software Development Methodology Based on Darwinian Evolution , 2008, 2008 International Conference on Autonomic Computing.

[8]  Nimal Jayaratna,et al.  Understanding and Evaluating Methodologies: NIMSAD, a Systematic Framework , 1994 .

[9]  Robert L. Nord,et al.  A general model of software architecture design derived from five industrial approaches , 2007, J. Syst. Softw..

[10]  Noëmie Simoni,et al.  Self-Control Cloud Services , 2014, 2014 IEEE 13th International Symposium on Network Computing and Applications.

[11]  Robert L. Nord,et al.  Applied Software Architecture , 1999, Addison Wesley object technology series.

[12]  Peyman Oreizy,et al.  Architectural styles for runtime software adaptation , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[13]  A. L. Randall,et al.  Overview of the small unit operations situational awareness system , 2003, IEEE Military Communications Conference, 2003. MILCOM 2003..

[14]  Jeffrey O. Kephart,et al.  Research challenges of autonomic computing , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[15]  Martin Gogolla,et al.  Using Models at Runtime to Address Assurance for Self-Adaptive Systems , 2015, Models@run.time@Dagstuhl.

[16]  Fanny Andalia,et al.  Implementation of Analytical Hierarchy Process On Airplane Ticket Booking Application Selection With Software Quality Requirements and Evaluation ISO / IEC 25010 : 2011 , 2018 .

[17]  Youakim Badr,et al.  Digital ecosystems: challenges and prospects , 2012, MEDES.

[18]  Toni Ruokolainen,et al.  A Model-Driven Approach to Service Ecosystem Engineering , 2013 .

[19]  A. Paepcke CLOS in Context: The Shape of the Design Space , 1993 .

[20]  Julie A. McCann,et al.  A survey of autonomic computing—degrees, models, and applications , 2008, CSUR.

[21]  Benjamin C. Kuo,et al.  AUTOMATIC CONTROL SYSTEMS , 1962, Universum:Technical sciences.

[22]  Lea Kutvonen,et al.  Managing interoperability knowledge in open service ecosystems , 2009, 2009 13th Enterprise Distributed Object Computing Conference Workshops.

[23]  Blesson Varghese,et al.  Robotic Ecologies for Deep Space Outposts , 2012, SyRoCo.

[24]  Muhammad Ali Babar,et al.  A Comparison Framework for Open Source Software Evaluation Methods , 2010, OSS.

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

[26]  Mohammad Reza Nami,et al.  A Survey of Autonomic Computing Systems , 2007 .

[27]  Ada Diaconescu,et al.  Autonomic Computing: Principles, Design and Implementation , 2013 .

[28]  Michele Amoretti,et al.  Towards fully autonomic peer-to-peer systems , 2010, ICCS.

[29]  David B. Knoester,et al.  Harnessing Digital Evolution , 2008, Computer.

[30]  Nelly Bencomo,et al.  RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems , 2009, 2009 17th IEEE International Requirements Engineering Conference.

[31]  Daniele Miorandi,et al.  BIONETS : a New Vision of Opportunistic Networks , 2007 .

[32]  Nelly Bencomo,et al.  RELAX: a language to address uncertainty in self-adaptive systems requirement , 2010, Requirements Engineering.

[33]  Pierre America,et al.  Multi-view Variation Modeling for Scenario Analysis , 2003, PFE.

[34]  Eila Ovaska,et al.  Piecemeal Development of Intelligent Applications for Smart Spaces , 2014, IEEE Access.

[35]  Andreas Paepcke Object-oriented programming: the CLOS perspective , 1993 .

[36]  Frank S. de Boer,et al.  Formal Methods for Components and Objects , 2012, Lecture Notes in Computer Science.

[37]  Franco Zambonelli,et al.  SOTA: Towards a General Model for Self-Adaptive Systems , 2012, 2012 IEEE 21st International Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises.

[38]  Francesco Tiezzi,et al.  The Autonomic Cloud: A Vision of Voluntary, Peer-2-Peer Cloud Computing , 2013, 2013 IEEE 7th International Conference on Self-Adaptation and Self-Organizing Systems Workshops.

[39]  Nelly Bencomo,et al.  Requirements-Aware Systems: A Research Agenda for RE for Self-adaptive Systems , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[40]  David B. Knoester,et al.  Digital Evolution of Behavioral Models for Autonomic Systems , 2008, 2008 International Conference on Autonomic Computing.

[41]  Jyrki Huusko,et al.  Simulation and Implementation of the Autonomic Service Mobility Framework , 2009, BIONETICS.

[42]  Andres J. Ramirez,et al.  A taxonomy of uncertainty for dynamically adaptive systems , 2012, 2012 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

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

[44]  M. Mari,et al.  The impact of maintainability on component-based software systems , 2003, 2003 Proceedings 29th Euromicro Conference.

[45]  Nelly Bencomo,et al.  Requirements reflection: requirements as runtime entities , 2010, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[46]  Corrado Moiso,et al.  Autonomic Nature-Inspired Eco-systems , 2012, Trans. Comput. Sci..

[47]  Francesco Tisato,et al.  Architectural Reflection: Realising Software Architectures via Reflective Activities , 2000, EDO.

[48]  Andres J. Ramirez,et al.  Harnessing evolutionary computation to enable dynamically adaptive systems to manage uncertainty , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[49]  Euiho Suh,et al.  Context-aware systems: A literature review and classification , 2009, Expert Syst. Appl..

[50]  Eila Niemelä,et al.  A Tool Chain for Quality-Driven Software Architecting , 2008, 2008 12th International Software Product Line Conference.

[51]  S. Hariri,et al.  Autonomic grid computing , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[52]  Nelly Bencomo,et al.  Requirements for Self-adaptation , 2011, GTTSE.

[53]  Eila Niemelä,et al.  The impact of maintainability on component-based software systems , 2003, 2003 Proceedings 29th Euromicro Conference.

[54]  Richard P. Gabriel,et al.  CLOS in context: the shape of the design space , 1993 .

[55]  Gerard Briscoe,et al.  Digital Ecosystems: Evolving Service-Orientated Architectures , 2006, 2006 1st Bio-Inspired Models of Network, Information and Computing Systems.

[56]  Franco Zambonelli,et al.  Looking ahead in pervasive computing: Challenges and opportunities in the era of cyber-physical convergence , 2012, Pervasive Mob. Comput..

[57]  Sebastian VanSyckel,et al.  A survey on engineering approaches for self-adaptive systems , 2015, Pervasive Mob. Comput..

[58]  Azween B. Abdullah,et al.  Towards self-organizing Service Oriented Architecture , 2009, 2009 Innovative Technologies in Intelligent Systems and Industrial Applications.

[59]  Axel van Lamsweerde,et al.  Managing Conflicts in Goal-Driven Requirements Engineering , 1998, IEEE Trans. Software Eng..

[60]  Charles Ofria,et al.  Avida , 2004, Artificial Life.

[61]  Stefan Gruner,et al.  URDAD as a Quality-Driven Analysis and Design Process , 2011, SoMeT.

[62]  Heather Goldsby,et al.  Goal-Based Modeling of Dynamically Adaptive System Requirements , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[63]  Eila Ovaska,et al.  Situation-based and self-adaptive applications for the smart environment , 2012, J. Ambient Intell. Smart Environ..

[64]  Franco Zambonelli,et al.  The CASCADAS Framework for Autonomic Communications , 2010, Autonomic Communication.

[65]  Muhammad Agni Catur Bhakti,et al.  Design of an autonomic services oriented architecture , 2010, 2010 International Symposium on Information Technology.

[66]  Ravi Kumar,et al.  Self-similarity in the web , 2001, TOIT.

[67]  Ernesto Martínez,et al.  Agent-based modeling and simulation of an autonomic manufacturing execution system , 2012, Comput. Ind..

[68]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..

[69]  KruchtenPhilippe The 4+1 View Model of Architecture , 1995 .

[70]  Franco Zambonelli,et al.  From Service-Oriented Architectures to Nature-Inspired Pervasive Service Ecosystems , 2010, WOA.

[71]  Anne Immonen,et al.  Requirements of an Open Data Based Business Ecosystem , 2014, IEEE Access.

[72]  Rajkumar Buyya,et al.  A taxonomy and survey on autonomic management of applications in grid computing environments , 2011 .

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

[74]  ISO / IEC 25010 : 2011 Systems and software engineering — Systems and software Quality Requirements and Evaluation ( SQuaRE ) — System and software quality models , 2013 .

[75]  Fu Duan,et al.  A survey on autonomic computing research , 2009, 2009 Asia-Pacific Conference on Computational Intelligence and Industrial Applications (PACIIA).

[76]  Wilhelm Hasselbring,et al.  Run-time Architecture Models for Dynamic Adaptation and Evolution of Cloud Applications , 2015 .

[77]  Franco Zambonelli,et al.  A coordination model of pervasive service ecosystems , 2015, Sci. Comput. Program..

[78]  Franco Zambonelli,et al.  ASCENS: Engineering Autonomic Service-Component Ensembles , 2011, FMCO.

[79]  Marko Palviainen,et al.  Knowledge based quality-driven architecture design and evaluation , 2010, Inf. Softw. Technol..

[80]  Hans de Bruin,et al.  Quality-driven software architecture composition , 2003, J. Syst. Softw..

[81]  Valérie Issarny,et al.  The role of models@run.time in supporting on-the-fly interoperability , 2013, Computing.

[82]  Seyed Masoud Sadjadi,et al.  Composing adaptive software , 2004, Computer.

[83]  Corrado Moiso,et al.  BIONETS architecture: from networks to SerWorks , 2007, 2007 2nd Bio-Inspired Models of Network, Information and Computing Systems.

[84]  Franco Zambonelli,et al.  Engineering Pervasive Service Ecosystems: The SAPERE Approach , 2015, TAAS.

[85]  Malik Jahan Khan,et al.  Survey of Frameworks, Architectures and Techniques in Autonomic Computing , 2009, 2009 Fifth International Conference on Autonomic and Autonomous Systems.

[86]  Ying Chen,et al.  Self-reconfiguration of service-based systems: a case study for service level agreements and resource optimization , 2005, IEEE International Conference on Web Services (ICWS'05).

[87]  Peyman Oreizy,et al.  Runtime software adaptation: framework, approaches, and styles , 2008, ICSE Companion '08.

[88]  Andres J. Ramirez,et al.  Automatic derivation of utility functions for monitoring software requirements , 2011, MODELS'11.

[89]  Corrado Moiso,et al.  Specification, Development, and Verification of CASCADAS Autonomic Computing and Networking Toolkit , 2011 .

[90]  Mehdi Jazayeri,et al.  Software Architecture for Product Families: Principles and Practice , 2000 .

[91]  Norman F. Schneidewind,et al.  IEEE Standard For A Software Quality Metrics Methodology Revision And Reaffirmation , 1997, Proceedings of IEEE International Symposium on Software Engineering Standards.

[92]  Jani Suomalainen,et al.  Architecture and Knowledge-Driven Self-Adaptive Security in Smart Space , 2013, Comput..

[93]  Richard Murch,et al.  Autonomic Computing , 2004 .

[94]  Clemens van Dinther,et al.  Service Value Networks , 2009, 2009 IEEE Conference on Commerce and Enterprise Computing.

[95]  Daniel Pakkala,et al.  A service requirements engineering method for a digital service ecosystem , 2015, Service Oriented Computing and Applications.

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

[97]  Lea Kutvonen,et al.  Solving Service Ecosystem Governance , 2011, 2011 IEEE 15th International Enterprise Distributed Object Computing Conference Workshops.

[98]  F. Zambonelli,et al.  The Service Ecosystem: Dynamic Self-Aggregation of Pervasive Communication Services , 2007, First International Workshop on Software Engineering for Pervasive Computing Applications, Systems, and Environments (SEPCASE '07).

[99]  Mari Ervasti,et al.  A situation-aware safety service for children via participatory design , 2014, Journal of Ambient Intelligence and Humanized Computing.

[100]  Marina L. Gavrilova,et al.  Transactions on Computational Science XV: special issue on advances in autonomic computing: formal engineering methods for nature-inspired computing systems , 2012 .

[101]  Franco Zambonelli,et al.  A survey on nature-inspired metaphors for pervasive service ecosystems , 2011, Int. J. Pervasive Comput. Commun..

[102]  David Sinreich,et al.  An architectural blueprint for autonomic computing , 2006 .

[103]  Franco Zambonelli,et al.  Autonomic communication services: a new challenge for software agents , 2008, Autonomous Agents and Multi-Agent Systems.

[104]  Rodolfo E. Haber,et al.  Self-adaptive systems: A survey of current approaches, research challenges and applications , 2013, Expert Syst. Appl..

[105]  Nelly Bencomo,et al.  A Goal-Based Modeling Approach to Develop Requirements of an Adaptive System with Environmental Uncertainty , 2009, MoDELS.

[106]  H. Boley,et al.  Digital Ecosystems: Principles and Semantics , 2007, 2007 Inaugural IEEE-IES Digital EcoSystems and Technologies Conference.

[107]  Jung,et al.  Autonomic, self-organizing service-oriented architecture in service ecosystem , 2010 .

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

[109]  Judy Pearsall,et al.  Oxford Dictionary of English , 2010 .

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

[111]  Ludovic Henrio,et al.  Management of service compositionbased on self-controlled components , 2015, Journal of Internet Services and Applications.

[112]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[113]  David L. Cohn,et al.  Autonomic Computing , 2003, ISADS.

[114]  Mari Matinlassi,et al.  Comparison of software product line architecture design methods: COPA, FAST, FORM, KobrA and QADA , 2004, Proceedings. 26th International Conference on Software Engineering.

[115]  Pearl Brereton,et al.  Performing systematic literature reviews in software engineering , 2006, ICSE.

[116]  Gregory D. Abowd,et al.  Towards a Better Understanding of Context and Context-Awareness , 1999, HUC.

[117]  Franco Zambonelli,et al.  Engineering and implementing software architectural patterns based on feedback loops , 2015, Scalable Comput. Pract. Exp..

[118]  Bradley R. Schmerl,et al.  On Patterns for Decentralized Control in Self-Adaptive Systems , 2010, Software Engineering for Self-Adaptive Systems.

[119]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[120]  Andres J. Ramirez,et al.  Applying evolutionary computation to mitigate uncertainty in dynamically-adaptive, high-assurance middleware , 2011, Journal of Internet Services and Applications.

[121]  Maja Hadzic,et al.  A digital ecosystem for extended logistics enterprises , 2006 .