Synthesis of Partial Behavior Models from Properties and Scenarios

Synthesis of behavior models from software development artifacts such as scenario-based descriptions or requirements specifications helps reduce the effort of model construction. However, the models favored by existing synthesis approaches are not sufficiently expressive to describe both universal constraints provided by requirements and existential statements provided by scenarios. In this paper, we propose a novel synthesis technique that constructs behavior models in the form of modal transition systems (MTS) from a combination of safety properties and scenarios. MTSs distinguish required, possible, and proscribed behavior, and their elaboration not only guarantees the preservation of the properties and scenarios used for synthesis but also supports further elicitation of new requirements.

[1]  Kim G. Larsen,et al.  A Constraint Oriented Proof Methodology Based on Modal Transition Systems , 1994, TACAS.

[2]  Erkki Mäkinen,et al.  Automatic synthesis of state machines from trace diagrams , 1994, Softw. Pract. Exp..

[3]  Axel van Lamsweerde,et al.  Deriving tabular event-based specifications from goal-oriented requirements models , 2004, Requirements Engineering.

[4]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[5]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[6]  Shailey Minocha,et al.  Supporting Scenario-Based Requirements Engineering , 1998, IEEE Trans. Software Eng..

[7]  Altaf Hussain,et al.  On model checking multiple hybrid views , 2008, Theor. Comput. Sci..

[8]  Philippe Massonet,et al.  Goal-oriented requirements animation , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[9]  Radha Jagadeesan,et al.  A domain equation for refinement of partial systems , 2004, Mathematical Structures in Computer Science.

[10]  Kim G. Larsen,et al.  Equation solving using modal transition systems , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[11]  Philippe Massonet,et al.  Early verification and validation of mission critical systems , 2005, Formal Methods Syst. Des..

[12]  Andrew William Roscoe,et al.  The Theory and Practice of Concurrency , 1997 .

[13]  Sebastián Uchitel,et al.  MTSA: The Modal Transition System Analyser , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[14]  Manfred Broy,et al.  From MSCs to Statecharts , 1998, DIPES.

[15]  Marsha Chechik,et al.  Behaviour Model Synthesis from Properties and Scenarios , 2007, 29th International Conference on Software Engineering (ICSE'07).

[16]  Grigore Rosu,et al.  Monitoring programs using rewriting , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[17]  Axel van Lamsweerde Goal-Oriented Requirements Engineering: From System Objectives to UML Models to Precise Software Specifications , 2003, ICSE.

[18]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[19]  Michael Huth,et al.  Automata Games for Multiple-model Checking , 2006, MFPS.

[20]  William F. Gilreath,et al.  Concurrency State Models and Java Programs , 2000, Parallel Distributed Comput. Pract..

[21]  Raman Kazhamiakin,et al.  Formal verification of requirements using SPIN: a case study on Web services , 2004, Proceedings of the Second International Conference on Software Engineering and Formal Methods, 2004. SEFM 2004..

[22]  Patrice Godefroid,et al.  Generalized Model Checking: Reasoning about Partial State Spaces , 2000, CONCUR.

[23]  Marsha Chechik,et al.  Merging partial behavioural models , 2004, SIGSOFT '04/FSE-12.

[24]  Sebastián Uchitel,et al.  A foundation for behavioural conformance in software product line architectures , 2006, ROSATEA '06.

[25]  Pierre-Yves Schobbens,et al.  From live sequence charts to state machines and back: a guided tour , 2005, IEEE Transactions on Software Engineering.

[26]  Axel van Lamsweerde,et al.  Scenarios, goals, and state machines: a win-win partnership for model synthesis , 2006, SIGSOFT '06/FSE-14.

[27]  Z. Manna,et al.  Verification of concurrent programs: a temporal proof system , 1983 .

[28]  Dimitra Giannakopoulou,et al.  Fluent model checking for event-based systems , 2003, ESEC/FSE-11.

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

[30]  Morris Sloman,et al.  CONIC: an integrated approach to distributed computer control systems , 1983 .

[31]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[32]  S. C. Kleene,et al.  Introduction to Metamathematics , 1952 .

[33]  Anca Muscholl,et al.  Message Sequence Charts , 2003, Lectures on Concurrency and Petri Nets.

[34]  Sebastián Uchitel,et al.  On correct and complete strong merging of partial behaviour models , 2008, SIGSOFT '08/FSE-16.

[35]  Axel van Lamsweerde,et al.  Deriving operational software specifications from system goals , 2002, SIGSOFT '02/FSE-10.

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

[37]  Greg Brunet,et al.  A CHARACTERIZATION OF MERGING PARTIAL BEHAVIOURAL MODELS , 2006 .

[38]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[39]  Sebastián Uchitel,et al.  Fluent temporal logic for discrete-time event-based models , 2005, ESEC/FSE-13.

[40]  Kim G. Larsen,et al.  The Methodology of Modal Constraints , 1994, Formal Systems Specification.

[41]  Jun Sun,et al.  Design synthesis from interaction and state-based specifications , 2006, IEEE Transactions on Software Engineering.

[42]  Sebastián Uchitel,et al.  Incremental elaboration of scenario-based specifications and behavior models using implied scenarios , 2004, TSEM.

[43]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[44]  Axel van Lamsweerde,et al.  Deriving tabular event-based specifications from goal-oriented requirements models , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[45]  Martín Abadi,et al.  The existence of refinement mappings , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[46]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[47]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

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

[49]  Radha Jagadeesan,et al.  Modal Transition Systems: A Foundation for Three-Valued Program Analysis , 2001, ESOP.

[50]  Dimitra Giannakopoulou,et al.  Graphical animation of behavior models , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[51]  George S. Avrunin,et al.  Patterns in property specifications for finite-state verification , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[52]  Kim G. Larsen,et al.  A modal process logic , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[53]  Kim G. Larsen,et al.  Modal I/O Automata for Interface and Product Line Theories , 2007, ESOP.

[54]  Marsha Chechik,et al.  How Thorough Is Thorough Enough? , 2005, CHARME.

[55]  A. van Lamsweerde Goal-oriented requirements engineering: from system objectives to UML models to precise software specifications , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..