From requirements to statecharts via design refinement

The derivation of statecharts from requirements has been addressed from many perspectives. All of them assume that the derivation process is a linear series of refinements resulting in a single statechart, thereby missing the opportunity to explore alternatives in the design space. We propose a multi-dimensional approach that exploits inherent variability of the design space, where alternative refinements are considered for the same intermediate problem, resulting in multiple solutions (statecharts) from a single initial problem (requirements). In order to accomplish this, we propose an extended form of goal model where architects can incrementally refine the original requirements by considering behavioral alternatives leading to design solutions. The proposed refinement process is illustrated through an example from the literature. Experimentation with randomly generated models suggests that the proposal is scalable.

[1]  Lucia R. D. Bastos,et al.  From requirements to multi-agent architecture using organisational concepts , 2005, SELMAS.

[2]  João Pimentel,et al.  Deriving software architectural models from requirements models for adaptive systems: the STREAM-A approach , 2011, Requirements Engineering.

[3]  Paul Clements,et al.  Documenting Software Architecture: Documenting Behavior , 2002 .

[4]  João Pimentel,et al.  Requirements and architectural approaches to adaptive software systems: A comparative study , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[5]  Francesca Levi,et al.  Verification of Temporal and Real-Time Properties of Statecharts , 1997 .

[6]  John Mylopoulos,et al.  Runtime Goal Models , 2013, RCIS 2013.

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

[8]  Marin Litoiu,et al.  Behavioral adaptation of information systems through goal models , 2012, Inf. Syst..

[9]  Philippe Kruchten,et al.  An Ontology of Architectural Design Decisions in Software-Intensive Systems , 2004 .

[10]  João Pimentel,et al.  Changing attitudes towards the generation of architectural models , 2012, J. Syst. Softw..

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

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

[13]  Vítor Estêvão Silva Souza,et al.  Engineering adaptation with Zanshin: An experience report , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[14]  Sebastián Uchitel,et al.  Deriving event-based transition systems from goal-oriented requirements models , 2008, Automated Software Engineering.

[15]  Bashar Nuseibeh,et al.  Weaving Together Requirements and Architectures , 2001, Computer.

[16]  Yijun Yu,et al.  From Goals to High-Variability Software Design , 2008, ISMIS.

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

[18]  Alan C. Shaw,et al.  Software Descriptions with Flow Expressions , 1978, IEEE Transactions on Software Engineering.

[19]  Nenad Medvidovic,et al.  Reconciling software requirements and architectures: the CBSP approach , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[20]  John Mylopoulos,et al.  Awareness Requirements , 2010, Software Engineering for Self-Adaptive Systems.