Exploiting Contextual and Social Variability for Software Adaptation

Self-adaptive software systems are systems that monitor their environment and compensate if there are deviations from their requirements. Self-adaptivity is gaining prominence as an approach to lowering software costs by reducing the need for manual system maintenance. Self-adaptivity is particularly important for distributed systems that involve both software and human/organizational actors because of the volatility as well as uncertainty that permeates their operational environments. We refer to such systems as Socio-Technical System (STS). The thesis proposes a comprehensive framework for designing self-adaptive software that operates within a socio-technical system. The framework is founded upon the notions of contextual and social variability. A key ingredient of our approach is to rely on high-level abstractions to represent the purpose of the system (requirements model), to explicitly represent the commitments that exist among participating actors in an STS, and also to consider how operational context influences requirements. The proposed framework consists of (i) modelling and analysis techniques for representing and reasoning about contextual and social variability; (ii) a conceptual architecture for self-adaptive STSs; and (iii) a set of algorithms to diagnose a failure and to compute and select a new variant that addresses the failure. To evaluate our proposal, we developed two prototype implementations of our architecture to demonstrate different features of our framework, and successfully applied them to two case studies. In addition, the thesis reports encouraging results on experiments we conducted with our implementations in order to check for scalability.

[1]  Anand S. Rao,et al.  An Abstract Architecture for Rational Agents , 1992, KR.

[2]  J. Lopreato,et al.  General system theory : foundations, development, applications , 1970 .

[3]  Jos Nijhuis,et al.  DySOA: Making Service Systems Self-adaptive , 2005, ICSOC.

[4]  H. Van Dyke Parunak,et al.  "Go to the ant": Engineering principles from natural multi-agent systems , 1997, Ann. Oper. Res..

[5]  Cees Witteveen,et al.  A resource based framework for planning and replanning , 2003, IEEE/WIC International Conference on Intelligent Agent Technology, 2003. IAT 2003..

[6]  John Mylopoulos,et al.  Modeling and Reasoning about Service-Oriented Applications via Goals and Commitments , 2010, CAiSE.

[7]  Lin Padgham,et al.  Goals in the context of BDI plan failure and planning , 2007, AAMAS '07.

[8]  Ladan Tahvildari,et al.  Change Support in Adaptive Software: A Case Study for Fine-Grained Adaptation , 2009, 2009 Sixth IEEE Conference and Workshops on Engineering of Autonomic and Autonomous Systems.

[9]  Munindar P. Singh,et al.  Service-Oriented Computing: Semantics, Processes, Agents , 2010 .

[10]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[11]  John Mylopoulos,et al.  Software Self-Reconfiguration: a BDI-based approach (Extended Abstract) , 2009 .

[12]  Steve R. White,et al.  Unity: experiences with a prototype autonomic computing system , 2004 .

[13]  Kim Mens,et al.  Co-Evolution of Object-Oriented Software Design and Implementation , 2002 .

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

[15]  Patrick Brézillon,et al.  Context in Artificial Intelligence: I. A Survey of the Literature , 1999, Comput. Artif. Intell..

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

[17]  Raian Ali,et al.  Modeling and Reasoning about Contextual Requirements: Goal-based Framework , 2010 .

[18]  Rudolph E. Seviora,et al.  An approach to automatic detection of software failures in real-time systems , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[19]  E. Gat On Three-Layer Architectures , 1997 .

[20]  Michael Winikoff,et al.  Avoiding Resource Conflicts in Intelligent Agents , 2002, ECAI.

[21]  Mary Shaw,et al.  Engineering Self-Adaptive Systems through Feedback Loops , 2009, Software Engineering for Self-Adaptive Systems.

[22]  Mary Shaw,et al.  Visibility of control in adaptive systems , 2008, ULSSIS '08.

[23]  Klaus Pohl,et al.  Communicating the variability of a software-product family to customers , 2003, Software and Systems Modeling.

[24]  Kyo Chul Kang,et al.  Feature-Oriented Domain Analysis (FODA) Feasibility Study , 1990 .

[25]  Bradley R. Schmerl,et al.  Architecture-based self-adaptation in the presence of multiple objectives , 2006, SEAMS '06.

[26]  Gabor Karsai,et al.  An Approach to Self-adaptive Software Based on Supervisory Control , 2001, IWSAS.

[27]  Hassan Gomaa,et al.  Modeling adaptive and evolvable software product lines using the variation point model , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[28]  Munindar P. Singh,et al.  Enhancing Tropos with Commitments , 2009, Conceptual Modeling: Foundations and Applications.

[29]  Don Cohen,et al.  Automatic Monitoring of Software Requirements , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[30]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[31]  Yijun Yu,et al.  Monitoring and diagnosing software requirements , 2009, Automated Software Engineering.

[32]  Raian Ali,et al.  A Goal Modeling Framework for Self-contextualizable Software , 2009, BMMDS/EMMSAD.

[33]  Timothy W. Finin,et al.  KQML as an agent communication language , 1994, CIKM '94.

[34]  Munindar P. Singh Agent Communication Languages: Rethinking the Principles , 2003, Communication in Multiagent Systems.

[35]  Anthony Finkelstein,et al.  A framework for requirements engineering for context-aware services , 2001, ICSE 2001.

[36]  Yijun Yu,et al.  An automated approach to monitoring and diagnosing requirements , 2007, ASE.

[37]  J. R. S. Fincham Reinventing Darwin: The Great Evolutionary Debate . By Niles Eldredge. Phoenix Giant, Paperback Edition 1996. 244 pages. Price £9.99. ISBN 1 85799 508 2. , 1996 .

[38]  Faris Nizamic,et al.  Service-Oriented Computing , 2010, Lecture Notes in Computer Science.

[39]  William N. Robinson A requirements monitoring framework for enterprise systems , 2005, Requirements Engineering.

[40]  Marco Aiello,et al.  Planning and monitoring the execution of web service requests , 2003, International Journal on Digital Libraries.

[41]  Bradley R. Schmerl,et al.  Model-based adaptation for self-healing systems , 2002, WOSS '02.

[42]  Raian Ali,et al.  A goal-based framework for contextual requirements modeling and analysis , 2010, Requirements Engineering.

[43]  W. Martin,et al.  Endosymbiotic gene transfer: organelle genomes forge eukaryotic chromosomes , 2004, Nature Reviews Genetics.

[44]  Yijun Yu,et al.  On Goal-based Variability Acquisition and Analysis , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[45]  Munindar P. Singh,et al.  Interaction protocols as design abstractions for business processes , 2005, IEEE Transactions on Software Engineering.

[46]  Eric Yu,et al.  Modeling Strategic Relationships for Process Reengineering , 1995, Social Modeling for Requirements Engineering.

[47]  Raffaela Mirandola,et al.  On exploiting decentralized bio-inspired self-organization algorithms to develop real systems , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[48]  J. Maienschein Growth of biological thought , 1994, Nature.

[49]  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..

[50]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

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

[52]  Alex Lascarides,et al.  Indirect Speech Acts , 2001, Synthese.

[53]  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).

[54]  P. Kotler,et al.  Principles of Marketing , 1983 .

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

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

[57]  John Mylopoulos,et al.  Self-Repair through Reconfiguration: A Requirements Engineering Approach , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[58]  L. Bertalanffy General system theory : foundations, development, applications , 1977 .

[59]  John Mylopoulos,et al.  Goal-driven risk assessment in requirements engineering , 2011, Requirements Engineering.

[60]  Jesper Andersson,et al.  Modeling Dimensions of Self-Adaptive Software Systems , 2009, Software Engineering for Self-Adaptive Systems.

[61]  Michael Wooldridge,et al.  Intention Reconsideration Reconsidered , 1998, ATAL.

[62]  Horst Lichter,et al.  Modeling Variability by UML Use Case Diagrams , 2002 .

[63]  Munindar P. Singh An ontology for commitments in multiagent systems: , 1999, Artificial Intelligence and Law.

[64]  Yixin Diao,et al.  ABLE: A toolkit for building multiagent autonomic systems , 2002, IBM Syst. J..

[65]  Maria Fox,et al.  PDDL2.1: An Extension to PDDL for Expressing Temporal Planning Domains , 2003, J. Artif. Intell. Res..

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

[67]  A. S. Roa,et al.  AgentSpeak(L): BDI agents speak out in a logical computable language , 1996 .

[68]  Munindar P. Singh Social and psychological commitments in multiagent systems , 2011 .

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

[70]  Jeff Magee,et al.  Using resemblance to support component reuse and evolution , 2006, SAVCBS '06.

[71]  Peyman Oreizy,et al.  Self-Adaptive Software: An Architecture-based Approach , 1999 .

[72]  John Mylopoulos,et al.  High variability design for software agents: Extending Tropos , 2007, TAAS.

[73]  Tom Mens,et al.  Towards a taxonomy of software change: Research Articles , 2005 .

[74]  Munindar P. Singh,et al.  Amoeba: A methodology for modeling and evolving cross-organizational business processes , 2009, TSEM.

[75]  John Mylopoulos,et al.  Reasoning about agents and protocols via goals and commitments , 2010, AAMAS.

[76]  G. Ropohl PHILOSOPHY OF SOCIO-TECHNICAL SYSTEMS , 1999 .

[77]  Anind K. Dey,et al.  Understanding and Using Context , 2001, Personal and Ubiquitous Computing.

[78]  Abbe Mowshowitz,et al.  Virtual Organization: A Vision of Management in the Information Age , 1994, Inf. Soc..

[79]  John Mylopoulos,et al.  Designing socio-technical systems: from stakeholder goals to social networks , 2009, Requirements Engineering.

[80]  Schahram Dustdar,et al.  Interaction-Driven Self-adaptation of Service Ensembles , 2010, CAiSE.

[81]  T. D. Fletcher,et al.  Web Services Choreography Description Language Version 1.0, W3C , 2004 .

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

[83]  Colette Rolland,et al.  Guiding Goal Modeling Using Scenarios , 1998, IEEE Trans. Software Eng..

[84]  Piergiorgio Bertoli,et al.  MBP: a Model Based Planner , 2001 .

[85]  Ladan Tahvildari,et al.  A Weighted Voting Mechanism for Action Selection Problem in Self-Adaptive Software , 2007, First International Conference on Self-Adaptive and Self-Organizing Systems (SASO 2007).

[86]  Luciano Baresi,et al.  A framework for the deployment of adaptable web service compositions , 2007, Service Oriented Computing and Applications.

[87]  James M. Purtilo,et al.  Planning for change: a reconfiguration language for distributed systems , 1994, Distributed Syst. Eng..

[88]  Raian Ali,et al.  Location-Based Software Modeling and Analysis: Tropos-Based Approach , 2008, ER.

[89]  Paolo Giorgini,et al.  Self-Configuring Socio-Technical Systems: Redesign at Runtime , 2006, Int. Trans. Syst. Sci. Appl..

[90]  John Mylopoulos,et al.  Designing Cooperative IS: Exploring and Evaluating Alternatives , 2006, OTM Conferences.

[91]  Munindar P. Singh,et al.  Multiagent commitment alignment , 2009, AAMAS.

[92]  James Bailey,et al.  Managing Semantic Compensation in a Multi-agent System , 2004, CoopIS/DOA/ODBASE.

[93]  Vicente Pelechano,et al.  Autonomic Computing through Reuse of Variability Models at Runtime: The Case of Smart Homes , 2009, Computer.

[94]  Richard John Anthony A Policy-Definition Language and Prototype Implementation Library for Policy-based Autonomic Systems , 2006, 2006 IEEE International Conference on Autonomic Computing.

[95]  Philip R. Cohen,et al.  Representing and executing protocols as joint actions , 2002, AAMAS '02.

[96]  Karen L. Myers CPEF: A Continuous Planning and Execution Framework , 1999, AI Mag..

[97]  James A. Hendler,et al.  UMCP: A Sound and Complete Procedure for Hierarchical Task-network Planning , 1994, AIPS.

[98]  William N. Robinson Extended OCL for Goal Monitoring , 2008, Electron. Commun. Eur. Assoc. Softw. Sci. Technol..

[99]  Tomi Männistö,et al.  A Koala-Based Approach for Modelling and Deploying Configurable Software Product Families , 2003, PFE.

[100]  Thomas Vogel,et al.  Adaptation and abstract runtime models , 2010, SEAMS '10.

[101]  João Pimentel,et al.  Conditions for ignoring failures based on a requirements model , 2010, SEKE.

[102]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[103]  Betty H. C. Cheng,et al.  An approach to implementing dynamic adaptation in C++ , 2005, ACM SIGSOFT Softw. Eng. Notes.

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

[105]  Earl David Sacerdoti,et al.  A Structure for Plans and Behavior , 1977 .

[106]  Stephen Fickas,et al.  Goal-Directed Requirements Acquisition , 1993, Sci. Comput. Program..

[107]  Michael Jackson,et al.  Four dark corners of requirements engineering , 1997, TSEM.

[108]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[109]  Salim Hariri,et al.  A component-based programming model for autonomic applications , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

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

[111]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[112]  James Clark,et al.  XSL Transformations (XSLT) Version 1.0 , 1999 .

[113]  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..

[114]  Krzysztof Czarnecki,et al.  Formalizing cardinality-based feature models and their specialization , 2005, Softw. Process. Improv. Pract..

[115]  Annie I. Antón,et al.  The use of goals to surface requirements for evolving systems , 1998, Proceedings of the 20th International Conference on Software Engineering.

[116]  Matthias Jarke,et al.  Telos: representing knowledge about information systems , 1990, TOIS.

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

[118]  Martin S. Feather,et al.  Requirements monitoring in dynamic environments , 1995, Proceedings of 1995 IEEE International Symposium on Requirements Engineering (RE'95).

[119]  Csr Young,et al.  How to Do Things With Words , 2009 .

[120]  Mahadev Satyanarayanan,et al.  Pervasive computing: vision and challenges , 2001, IEEE Wirel. Commun..

[121]  Carlo Ghezzi,et al.  A journey to highly dynamic, self-adaptive service-based applications , 2008, Automated Software Engineering.

[122]  Luciano Baresi,et al.  Fuzzy Goals for Requirements-Driven Adaptation , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[123]  M. Weiser The Computer for the Twenty-First Century , 1991 .

[124]  Matteo Pradella,et al.  A Tile-Based Approach for Self-Assembling Service Compositions , 2010, 2010 15th IEEE International Conference on Engineering of Complex Computer Systems.

[125]  Frank Eliassen,et al.  Using architecture models for runtime adaptability , 2006, IEEE Software.

[126]  Mathijs de Weerdt,et al.  Plan Repair as an Extension of Planning , 2005, ICAPS.

[127]  Bradley R. Schmerl,et al.  RAIDE for engineering architecture-based self-adaptive systems , 2009, 2009 31st International Conference on Software Engineering - Companion Volume.

[128]  Franco Zambonelli,et al.  Self-Organization in Multi Agent Systems: A Middleware Approach , 2003, Engineering Self-Organising Systems.

[129]  Håkan L. S. Younes,et al.  VHPOP: Versatile Heuristic Partial Order Planner , 2003, J. Artif. Intell. Res..

[130]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[131]  Tom Mens,et al.  Towards a Taxonomy of Software Evolution , 2003 .

[132]  H. Van Dyke Parunak,et al.  Representing Agent Interaction Protocols in UML , 2000, AOSE.

[133]  Jeff Magee,et al.  From goals to components: a combined approach to self-management , 2008, SEAMS '08.

[134]  Franco Zambonelli,et al.  A roadmap towards sustainable self-aware service systems , 2010, SEAMS '10.

[135]  Marco Sinnema,et al.  VxBPEL: Supporting variability for Web services in BPEL , 2009, Inf. Softw. Technol..

[136]  Munindar P. Singh,et al.  Commitment-Based Service-Oriented Architecture , 2009, Computer.

[137]  John Mylopoulos,et al.  Non-Functional Requirements in Software Engineering , 2000, International Series in Software Engineering.

[138]  Wang Fei,et al.  The design of an autonomic computing model and the algorithm for decision-making , 2005, GrC.

[139]  KarageorgosAnthony,et al.  Self-organization in multi-agent systems , 2005 .

[140]  John McCarthy,et al.  Notes on Formalizing Context , 1993, IJCAI.

[141]  Michael Wooldridge,et al.  Programming Multi-Agent Systems in AgentSpeak using Jason (Wiley Series in Agent Technology) , 2007 .

[142]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[143]  J. Lake,et al.  Horizontal gene transfer among genomes: the complexity hypothesis. , 1999, Proceedings of the National Academy of Sciences of the United States of America.

[144]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[145]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[146]  Bradley R. Schmerl,et al.  Improving Architecture-Based Self-Adaptation through Resource Prediction , 2009, Software Engineering for Self-Adaptive Systems.

[147]  Michael Winikoff,et al.  Hermes: Designing Goal-Oriented Agent Interactions , 2005, AOSE.

[148]  Raian Ali,et al.  Location-Based Variability for Mobile Information Systems , 2008, CAiSE.

[149]  Ladan Tahvildari,et al.  StarMX: A framework for developing self-managing Java-based systems , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[150]  Anna Perini,et al.  Towards goal-oriented development of self-adaptive systems , 2008, SEAMS '08.

[151]  Munindar P. Singh,et al.  Protocols for processes: programming in the large for open systems (extended abstract) , 2004, OOPSLA '04.

[152]  Marcus J. Huber JAM: a BDI-theoretic mobile agent architecture , 1999, AGENTS '99.

[153]  Paola Inverardi,et al.  Towards an assume-guarantee theory for adaptable systems , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

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

[155]  Gerald Tesauro,et al.  Reinforcement Learning in Autonomic Computing: A Manifesto and Case Studies , 2007, IEEE Internet Computing.

[156]  Winfried Lamersdorf,et al.  Jadex: A BDI Reasoning Engine , 2005, Multi-Agent Programming.

[157]  Jaejoon Lee,et al.  FORM: A feature-;oriented reuse method with domain-;specific reference architectures , 1998, Ann. Softw. Eng..

[158]  Michael E. Bratman,et al.  Intention, Plans, and Practical Reason , 1991 .

[159]  Sandeep Purao,et al.  Specifying and Monitoring Interactions and Commitments in Open Business Processes , 2009, IEEE Software.

[160]  John Mylopoulos,et al.  Adaptation in Open Systems: Giving Interaction Its Rightful Place , 2010, ER.

[161]  Yun Peng,et al.  Agent communication languages: the current landscape , 1999, IEEE Intell. Syst..

[162]  Patrick Brézillon,et al.  Context in problem solving: a survey , 1999, The Knowledge Engineering Review.

[163]  André van der Hoek,et al.  Design-time product line architectures for any-time variability , 2004, Sci. Comput. Program..

[164]  James Bailey,et al.  A Framework for Goal-Based Semantic Compensation in Agent Systems , 2009, Safety and Security in Multiagent Systems.

[165]  Craig Boutilier,et al.  New Approaches to Optimization and Utility Elicitation in Autonomic Computing , 2005, AAAI.

[166]  F. Emery Characteristics of Socio-Technical Systems , 1993 .

[167]  Agostino Poggi,et al.  Jade - a fipa-compliant agent framework , 1999 .

[168]  John R. Searle,et al.  Speech Acts: An Essay in the Philosophy of Language , 1970 .

[169]  John Mylopoulos,et al.  Awareness requirements for adaptive systems , 2011, SEAMS '11.

[170]  Seyed Masoud Sadjadi,et al.  TRAP/J: Transparent Generation of Adaptable Java Programs , 2004, CoopIS/DOA/ODBASE.

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

[172]  Marco Pistore,et al.  Automated Composition of Semantic Web Services into Executable Processes , 2004, SEMWEB.

[173]  C. Peltz,et al.  Web Services Orchestration and Choreography , 2003, Computer.

[174]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[175]  Giovambattista Ianni,et al.  Computable Functions in ASP: Theory and Implementation , 2008, ICLP.

[176]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[177]  Munindar P. Singh,et al.  Amoeba : A Methodology for Modeling and Evolution of Cross-Organizational Business Processes , 2008 .

[178]  John Mylopoulos,et al.  Revisiting the Core Ontology and Problem in Requirements Engineering , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[179]  Giovanni Denaro,et al.  Towards self-adaptive service-oriented architectures , 2006, TAV-WEB '06.

[180]  Matjaz B. Juric,et al.  Business process execution language for web services , 2004 .

[181]  Hans H. Kron,et al.  Programming-in-the-Large Versus Programming-in-the-Small , 1975, IEEE Transactions on Software Engineering.

[182]  Luciano Baresi,et al.  Live goals for adaptive service compositions , 2010, SEAMS '10.

[183]  John Mylopoulos,et al.  An Architecture for Requirements-Driven Self-reconfiguration , 2009, CAiSE.

[184]  Carl Hewitt,et al.  Offices are open systems , 1986, TOIS.