Deriving software architectural models from requirements models for adaptive systems: the STREAM-A approach

Some quality attributes are known to have an impact on the overall architecture of a system, so that they are required to be properly handled from the early beginning of the software development. For example, adaptability is a key concern for autonomic and adaptive systems, which brings to them the capability to alter their behavior in response to changes on their surrounding environments. In this paper, we propose a Strategy for Transition between Requirements and Architectural Models for Adaptive systems (STREAM-A). In particular, we use goal models based on the i* (i-Star) framework to support the design and evolution of systems that require adaptability. To obtain software architectures for such systems, the STREAM-A approach uses model transformations from i* models to architectural models expressed in Acme. Both the requirements and the architectural model are refined to accomplish the adaptability requirement.

[1]  John Mylopoulos,et al.  Formal Reasoning Techniques for Goal Models , 2003, J. Data Semant..

[2]  John Mylopoulos,et al.  Modeling Domain Variability in Requirements Engineering with Contexts , 2009, ER.

[3]  John Mylopoulos,et al.  Software self-reconfiguration: a BDI-based approach , 2009, AAMAS.

[4]  Miguel Goulão,et al.  Bridging the gap between Acme and UML 2.0 for CBD , 2003 .

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

[6]  Oscar Pastor,et al.  Model-driven architecture in practice - a software production environment based on conceptual modeling , 2007 .

[7]  Lawrence Chung,et al.  Software architecture adaptability: an NFR approach , 2001, IWPSE '01.

[8]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

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

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

[11]  Márcia Lucena STREAM: a systematic process to derive architectural models from requirements models , 2010 .

[12]  Alberto H. F. Laender Conceptual Modeling - ER 2009, 28th International Conference on Conceptual Modeling, Gramado, Brazil, November 9-12, 2009. Proceedings , 2009, ER.

[13]  Eric Yu,et al.  Conceptual Modeling: Foundations and Applications: Essays in Honor of John Mylopoulos , 2009 .

[14]  Lin Liu,et al.  Goal-oriented requirements modelling for running systems , 2010, 2010 First International Workshop on Requirements@Run.Time.

[15]  David Garlan,et al.  Acme: an architecture description interchange language , 2010, CASCON.

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

[17]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

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

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

[20]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[21]  Rogério de Lemos,et al.  Software Engineering for Self-Adaptive Systems [outcome of a Dagstuhl Seminar] , 2009, Software Engineering for Self-Adaptive Systems.

[22]  Márcia Lucena,et al.  Applying Transformation Rules to Improve i* Models , 2009, SEKE.

[23]  Carme Quer,et al.  RiSD: A Methodology for Building i-Strategic Dependency Models , 2005, SEKE.

[24]  Xavier Franch,et al.  J-PRiM: A Java Tool for a Process Reengineering i* Methodology , 2006, 14th IEEE International Requirements Engineering Conference (RE'06).

[25]  Yijun Yu,et al.  From goals to aspects: discovering aspects from requirements goal models , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[26]  John Grundy,et al.  Early Aspects: Current Challenges and Future Directions - 10th International Workshop, Vancouver, Canada, March 13, 2007, Revised Selected Papers , 2007, EA@AOSD.

[27]  João Araújo,et al.  Towards modular i* models , 2010, SAC '10.

[28]  Tharam S. Dillon,et al.  On the Move to Meaningful Internet Systems: OTM 2009 Workshops, Confederated International Workshops and Posters, ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009, Vilamoura, Portugal, November 1-6, 2009. Proceedings , 2009, OTM Workshops.

[29]  Jean-Luc Hainaut Advances in Conceptual Modeling - Foundations and Applications, ER 2007 Workshops CMLSA, FP-UML, ONISW, QoIS, RIGiM,SeCoGIS, Auckland, New Zealand, November 5-9, 2007, Proceedings , 2007, ER Workshops.

[30]  John Mylopoulos,et al.  An Empirical Evaluation of the i* Framework in a Model-Based Software Generation Environment , 2006, CAiSE.

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

[32]  Axel van Lamsweerde,et al.  From System Goals to Software Architecture , 2003, SFM.

[33]  Remco C. de Boer,et al.  On the similarity between requirements and architecture , 2009, J. Syst. Softw..

[34]  John Mylopoulos,et al.  Why Goal-Oriented Requirements Engineering , 1998, Requirements Engineering: Foundation for Software Quality.

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

[36]  Fausto Giunchiglia,et al.  Modeling Early Requirements in Tropos: A Transformation Based Approach , 2001, AOSE.

[37]  Jaelson Brelaz de Castro,et al.  From requirements to multi-agent architecture using organisational concepts , 2005, ACM SIGSOFT Softw. Eng. Notes.

[38]  Neil A. Ernst,et al.  Towards a continuous requirements engineering framework for self-adaptive systems , 2010, 2010 First International Workshop on Requirements@Run.Time.

[39]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[40]  Neil A. Ernst,et al.  Techne: Towards a New Generation of Requirements Modeling Languages with Goals, Preferences, and Inconsistency Handling , 2010, 2010 18th IEEE International Requirements Engineering Conference.

[41]  John Mylopoulos,et al.  Modeling Organizational Architectural Styles in UML , 2003, CAiSE.

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

[43]  Anna Perini,et al.  Dealing with Complexity Using Conceptual Models Based on Tropos , 2009, Conceptual Modeling: Foundations and Applications.

[44]  John Mylopoulos,et al.  Conceptual Modeling: Foundations and Applications - Essays in Honor of John Mylopoulos , 2009, Conceptual Modeling: Foundations and Applications.

[45]  John Mylopoulos,et al.  Multi-Agent Architectures as Organizational Structures , 2006, Autonomous Agents and Multi-Agent Systems.

[46]  Ji Zhang,et al.  The Four Levels of Requirements Engineering for and in Dynamic Adaptive Systems , 2005 .

[47]  Xavier Franch,et al.  On the Adequacy of i* Models for Representing and Analyzing Software Architectures , 2007, ER Workshops.

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

[49]  Thaís Vasconcelos Batista,et al.  On the Symbiosis of Aspect-Oriented Requirements and Architectural Descriptions , 2007, EA@AOSD.

[50]  T. Mens,et al.  A Taxonomy of Model Transformations , 2004 .

[51]  Paola Inverardi,et al.  Formal Methods for Software Architectures , 2003 .

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

[53]  Richard N. Taylor,et al.  Software architecture: foundations, theory, and practice , 2009, 2010 ACM/IEEE 32nd International Conference on Software Engineering.

[54]  João Pimentel,et al.  A Model Transformation Approach to Derive Architectural Models from Goal-Oriented Requirements Models , 2009, OTM Workshops.

[55]  A. van Lamsweerde Goal-oriented requirements enginering: a roundtrip from research to practice [enginering read engineering] , 2004 .

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

[57]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .