Advertisement

Software & Systems Modeling

, Volume 4, Issue 1, pp 71–93 | Cite as

From scenarios to code: An air traffic control case study

  • Jon WhittleEmail author
  • Richard Kwan
  • Jyoti Saboo
Regular Paper

Abstract

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.

Keywords

Code generation Software modeling Scenario State machine Case study 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alur R, Etessami K, Yannakakis M (2003) Inference of Message Sequence Charts. IEEE Transactions on Software Engineering 29(7), JulyGoogle Scholar
  2. 2.
    Alur R, Holzmann GJ, Peled D (1996) An Analyzer for Message Sequence Charts. In: Proceedings of TACAS96, Lecture Notes in Computer Science, vol 1055. Springer VerlagGoogle Scholar
  3. 3.
    Biermann A, Krishnaswamy R (1976) Constructing programs from example computations. IEEE Transactions on Software Engineering SE-2(3):141–153Google Scholar
  4. 4.
    Bordeleau F, Corriveau J (2002) On the need for state machine implementation design patterns. In: Systä T (ed) Proceedings of the ICSE2002 Workshop on Scenarios amd state machines: models, algorithms, and toolsGoogle Scholar
  5. 5.
    Damm W, Harel D (1999) LSCs : Breathing life into message sequence charts. In: 3rd International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS99). Kluwer, pp 293–312Google Scholar
  6. 6.
    Denery D, Erzberger H, Davis T, Green S, McNally B (1997) Challenges of air traffic management research: Analysis, simulation and field test. In: AIAA Guidance, Navigation and Control ConferenceGoogle Scholar
  7. 7.
    Glinz M (1995) An integrated formal model of scenarios based on statecharts. In: 5th European Software Engineering Conference (ESEC), Sitges, Spain, pp 254–271Google Scholar
  8. 8.
    Harel D (1987) Statecharts: A visual formalism for complex systems. Science of Computer Programming 8:231–274MathSciNetCrossRefGoogle Scholar
  9. 9.
    Harel D, Kugler H (2000) Synthesizing state-based object systems from LSC specifications. In: Fifth International Conference on Implementation and Application of Automata (CIAA2000), Lecture Notes in Computer Science, vol 2088. Springer-VerlagGoogle Scholar
  10. 10.
    Khriss I, Elkoutbi M, Keller R (1999) Automating the synthesis of UML statechart diagrams from multiple collaboration diagrams. In: Bézivin J, Muller P (eds) UML98: Beyond the Notation, Lecture Notes in Computer Science, vol 1618. Springer-Verlag, pp 132–147Google Scholar
  11. 11.
    Klockwork SDL Synthesizer (2004) Klockwork, Ottawa, Canada. http://www.klocwork.comGoogle Scholar
  12. 12.
    Krüger I (2000) Distributed System Design with Message Sequence Charts. PhD thesis, Technical University of MunichGoogle Scholar
  13. 13.
    Leue S, Mehrmann L, Rezai M (1998) Synthesizing software architecture descriptions from Message Sequence Chart specifications. In: Automated Software Engineering. Honolulu, Hawaii, pp 192–195Google Scholar
  14. 14.
    Makinen E, Systä T (2001) MAS: An interactive synthesizer to support behavioral modeling in UML. In: Proceedings of the International Conference on Software Engineering (ICSE01). IEEE Computer Society, pp 15–24Google Scholar
  15. 15.
    Männistö T, Systä T, Tuomi J (1994) SCED report and user manual. Report A-1994-5, Dept of Computer Science, University of TampereGoogle Scholar
  16. 16.
    Message sequence chart (MSC) (2004) ITU-T Recommendation Z.120 (previously CCITT Recommendation), Formal description techniquesGoogle Scholar
  17. 17.
    The Object Management Group (2001) Unified Modeling Language specification version 1.4, September. Available from http://www.omg.orgGoogle Scholar
  18. 18.
    The Object Management Group (2004) Unified Modeling Language specification version 2.0, January. Available from http://www.omg.orgGoogle Scholar
  19. 19.
    Rational Rose RealTime (2004) IBM Corporation, White Plains, NYGoogle Scholar
  20. 20.
    In: Systä T (ed) (2000) Proceedings of the OOPSLA2000 Workshop on Scenario-based Round Trip EngineeringGoogle Scholar
  21. 21.
    In: Systä T (ed) (2002) Proceedings of the ICSE2002 Workshop on Scenarios and State Machines: Models, Algorithms, and ToolsGoogle Scholar
  22. 22.
    In: Uchitel S, Whittle J, Zündorf A, Krüger I (eds) (2003) Proceedings of the ICSE2003 Workshop on Scenarios and State Machines: Models, Algorithms, and ToolsGoogle Scholar
  23. 23.
    Schumann J (2000) Automatic debugging support for UML designs. In: Ducasse M (ed) Proceedings of the 4th International Workshop on Automated Debugging (AADEBUG), Munich, GermanyGoogle Scholar
  24. 24.
    Somé S, Dssouli R (1995) From scenarios to timed automata: building specifications from users requirements. In: Asia Pacific Software Engineering Conference, pp 48–57Google Scholar
  25. 25.
    Systä T (2000) Incremental construction of dynamic models for object oriented software systems. Journal of Object Oriented Programming 13(5):18–27Google Scholar
  26. 26.
    Uchitel S, Kramer J (2001) A workbench for synthesizing behavior models from scenarios. In: Proceedings of the 23rd IEEE International Conference on Software Engineering (ICSE01), Toronto, CanadaGoogle Scholar
  27. 27.
    Uchitel S, Kramer J, Magee J (2001) Detecting implied scenarios in message sequence chart specifications. In: Proceedings of the 9th European Software Engineering Conference (ESEC01), Vienna, AustriaGoogle Scholar
  28. 28.
    van Lamsweerde A, Willemet L (1998) Inferring declarative requirements specifications from operational scenarios. IEEE Transactions on Software Engineering 24(12):1089–1114CrossRefGoogle Scholar
  29. 29.
    Warmer J, Kleppe A (1999) The Object Constraint Language: Precise Modeling with UML. Addison-Wesley Object Technology Series. Addison-WesleyGoogle Scholar
  30. 30.
    Weidenhaupt K, Pohl K, Jarke M, Haumer P (1998) Scenarios in system development: Current practice. IEEE Software, pp 34–45, March/April 1998Google Scholar
  31. 31.
    Whittle J, Saboo J, Kwan R (2003) From scenarios to code: An air traffic control case study. In: Proceedings of the 25th International Conference on Software Engineering (ICSE2003), pp 490–497Google Scholar
  32. 32.
    Whittle J, Schumann J (2000) Generating Statechart Designs From Scenarios. In: Proceedings of the International Conference on Software Engineering (ICSE 2000). Limerick, Ireland, pp 314–323, June 2000Google Scholar

Copyright information

© Springer-Verlag 2004

Authors and Affiliations

  1. 1.QSS Group Inc./NASA Ames Research CenterUSA
  2. 2.Aerospace Computing Inc./NASA Ames Research CenterMoffett FieldUSA

Personalised recommendations