From scenarios to code: An air traffic control case study

There has been much recent interest in synthesis algorithms that generate finite state machines from scenarios of intended system behavior. One of the uses of such algorithms is in the transition from requirements scenarios to design. Despite much theoretical work on the nature of these algorithms, there has been very little work on applying the algorithms to practical applications. In this paper, we apply the Whittle & Schumann synthesis algorithm [32] to a component of an air traffic advisory system under development at NASA Ames Research Center. We not only apply the algorithm to generate state machine designs from scenarios but also show how to generate code from the generated state machines using existing commercial code generation tools. The results demonstrate the possibility of generating application code directly from scenarios of system behavior.

[1]  T. Systa,et al.  MAS - an interactive synthesizer to support behavioral modeling in UML , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[2]  F. Bordeleau,et al.  On the Need for “ State Machine Implementation ” Design Patterns , 1997 .

[3]  Alan W. Biermann,et al.  Constructing Programs from Example Computations , 1976, IEEE Transactions on Software Engineering.

[4]  Axel van Lamsweerde,et al.  Inferring Declarative Requirements Specifications from Operational Scenarios , 1998, IEEE Trans. Software Eng..

[5]  Erkki Mäkinen,et al.  MAS — an interactive synthesizer to support behavioral modelling in UML , 2001, ICSE.

[6]  Matthias Jarke,et al.  Scenarios in System Development: Current Practice , 1998, IEEE Softw..

[7]  J. Whittle,et al.  From scenarios to code: An air traffic control case study , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[8]  Rajeev Alur,et al.  Inference of Message Sequence Charts , 2003, IEEE Trans. Software Eng..

[9]  Ismaïl Khriss,et al.  Automating the Synthesis of UML StateChart Diagrams from Multiple Collaboration Diagrams , 1998, UML.

[10]  Rajeev Alur,et al.  An Analyser for Mesage Sequence Charts , 1996, TACAS.

[11]  Sjouke Mauw,et al.  Message Sequence Chart (MSC) , 1996 .

[12]  Sebastián Uchitel,et al.  Detecting implied scenarios in message sequence chart specifications , 2001, ESEC/FSE-9.

[13]  Heinz Erzberger,et al.  CHALLENGES OF AIR TRAFFIC MANAGEMENT RESEARCH: ANALYSIS, SIMULATION, AND FIELD TEST , 1997 .

[14]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, CIAA.

[15]  Anneke Kleppe,et al.  The object constraint language: precise modeling with UML , 1998 .

[16]  Jean G. Vaucher,et al.  From scenarios to timed automata: building specifications from users requirements , 1995, Proceedings 1995 Asia Pacific Software Engineering Conference.

[17]  Kai Koskimies,et al.  Summary report of the OOPSLA 2000 workshop on scenario-based round-trip engineering , 2001, SOEN.

[18]  Johann Schumann Automatic Debugging Support for UML Designs , 2000, AADEBUG.

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

[20]  Mohammad Reza Mousavi,et al.  Synthesizing software architecture descriptions from Message Sequence Chart specifications , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[21]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[22]  Johann Schumann,et al.  Generating statechart designs from scenarios , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[23]  Ingolf Krüger,et al.  Distributed system design with message sequence charts , 2000 .

[24]  Sebastián Uchitel,et al.  A workbench for synthesising behaviour models from scenarios , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[25]  Martin Glinz,et al.  An Integrated Formal Model of Scenarios Based on Statecharts , 1995, ESEC.