Software & Systems Modeling

, Volume 2, Issue 2, pp 82–107 | Cite as

Specifying and executing behavioral requirements: the play-in/play-out approach

  • David Harel
  • Rami Marelly
Regular papers


A powerful methodology for scenario-based specification of reactive systems is described, in which the behavior is “played in” directly from the system’s GUI or some abstract version thereof, and can then be “played out”. The approach is supported and illustrated by a tool, which we call the play-engine. As the behavior is played in, the play-engine automatically generates a formal version in an extended version of the language of live sequence charts (LSCs). As they are played out, it causes the application to react according to the universal (“must”) parts of the specification; the existential (“may”) parts can be monitored to check their successful completion. Play-in is a user-friendly high-level way of specifying behavior and play-out is a rather surprising way of working with a fully operational system directly from its inter-object requirements. The ideas appear to be relevant to many stages of system development, including requirements engineering, specification, testing, analysis and implementation.


Live sequence charts (LSCs) Requirements engineering System modeling and execution Scenarios Testing UML 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Altia Design & Altia FacePlate, web page: Google Scholar
  2. 2.
    Alur, R., Henzinger, T.: Real-time System = Discrete System + Clock Variables. Software Tools for Technology Transfer 1: 86–109 , 1997 Google Scholar
  3. 3.
    Amyot, D., Eberlein, A.: An Evaluation of Scenario Notations for Telecommunication Systems Development. In: Int. Conf. on Telecommunication Systems, 2001 Google Scholar
  4. 4.
    Bharadwaj, R., Heitmeyer, C.: Model Checking Complete Requirements Specifications Using Abstraction. Automated Software Engineering, 6(1): 37–68, January 1999 Google Scholar
  5. 5.
    Broy, M., Krüger, I.: Interaction Interfaces – Towards a Scientific Foundation of a Methodological Usage of Message Sequence Charts. In: Staples, J., Hinchey, M.G., Liu, S. (eds.) Formal Engineering Methods, IEEE Computer Society, 1998, pp. 2–15 Google Scholar
  6. 6.
    Boger, M., Baier, T., Wienberg, F., Lamersdorf, W.: Extreme Modeling. In: Extreme Programming and Flexible Processes in Software Engineering – XP2000. Addison Wesley, 6 2000 Google Scholar
  7. 7.
    Microsoft COM, web page: Google Scholar
  8. 8.
    Damm, W., Harel, D.: LSCs: Breathing Life into Message Sequence Charts. Formal Methods in System Design, 19(1) 2001. Preliminary version in: Ciancarini, P., Fantechi, A., Gorrieri, R. (eds.) Proc. 3rd IFIP Int. Conf. on Formal Methods for Open Object-Based Distributed Systems (FMOODS’99), Kluwer Academic Publishers, 1999, pp. 293–312 Google Scholar
  9. 9.
    Dromey, R.: Genetic Software Engineering. Manuscript, 2001 Google Scholar
  10. 10.
    e-SIM Rapid, web page Google Scholar
  11. 11.
    Macromedia Flash, web page: Google Scholar
  12. 12.
    Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Sci. Comput. Prog., 8: 231–274, 1987. (Preliminary version: Tech. Report CS84-05, The Weizmann Institute of Science, Rehovot, Israel, February 1984.) Google Scholar
  13. 13.
    Harel, D.: From Play-In Scenarios to Code: An Achievable Dream. IEEE Computer, 34(1): 53–60, January 2001 Google Scholar
  14. 14.
    Harel, D., Gery, E.: Executable Object Modeling with Statecharts. IEEE Computer, 30(7): 31–42, 1997 Google Scholar
  15. 15.
    Harel, D., Koren, Y.: Drawing Graphs with Non-Uniform Vertices. In: Proc. of Working Conference on Advanced Visual Interfaces (AVI’02). ACM Press, 2002, pp. 157–166 Google Scholar
  16. 16.
    Harel, D., Kugler, H.: Synthesizing State-Based Object Systems from LSC Specifications. Int. J. of Foundations of Computer Science (IJFCS)., 13(1): 5–51, Febuary 2002. (Also, Proc. Fifth Int. Conf. on Implementation and Application of Automata (CIAA 2000), July 2000, Lecture Notes in Computer Science, Springer-Verlag, 2000.) Google Scholar
  17. 17.
    Harel, D., Kugler, H., Marelly, R., Pnueli, A.: Smart Play-Out of Behavioral Requirements. In: Proc. 4th Int. Conf. on Formal Methods in Computer-Aided Design (FMCAD’02), Portland, Oregon, 2002, pp. 378–398. Also available as Tech. Report MCS02-08, Weizmann Institute of Science, 2002 Google Scholar
  18. 18.
    Harel, D., Marelly, R.: Come, Let’s Play: An Executable Scenario-Based Approach to Reactive Systems. (tentative title), manuscript, 2002 Google Scholar
  19. 19.
    Harel, D., Marelly, R.: Playing with Time: On the Specification and Execution of Time-Enriched LSCs. In: Proc. 10th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems (MASCOTS’02), Fort Worth, Texas, 2002, pp. 193–202 Google Scholar
  20. 20.
    Harel, D., Politi, M.: Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGraw-Hill, 1998. Early version titled: The Languages of STATEMATE. Technical Report, i-Logix, Inc., Andover, MA (250 pp.), 1991 Google Scholar
  21. 21.
    Heitmeyer, C., Kirby, J., Labaw, B., Bharadwaj, R.: SCR*: A Toolset for Specifying and Analyzing Software Requirements. In: Hu, A., Vardi, e.M.Y. (eds.) Intl. Conference on Computer Aided Verification (CAV’98), Lecture Notes in Computer Science, vol. 1427. Springer-Verlag, New York, 1998, pp. 5–51 Google Scholar
  22. 22.
    Heymans, P., Dubois, E.: Scenario-Based Techniques for Supporting the Elaboration and the Validation of Formal Requirements. Requirements Engineering Journal 3: 202–218, Springer-Verlag, 1998 Google Scholar
  23. 23.
    I-Logix,Inc., products web page: Google Scholar
  24. 24.
    Jacobson, I.: Object-Oriented Software Engineering: A Use Case Driven Approach. Addison-Wesley, Reading, MA, 1992 Google Scholar
  25. 25.
    Krüger, I., Grosu, R., Scholz, P., Broy, M.: From MSCs to Statecharts. Proc. DIPES’98, Kluwer, 1999 Google Scholar
  26. 26.
    Kugler, H., Harel, D., Pnueli, A., Lu, Y., Bontemps, Y.: Temporal Logic for Live Sequence Charts. Technical report, Weizmann Institute, 2000 Google Scholar
  27. 27.
    Lettrari, M., Klose, J.: Scenario-Based Monitoring and Testing of Real-Time UML Models. In: 4th Int. Conf. on the Unified Modeling Language, Toronto, Lecture Notes in Computer Science, vol. 2185, October 2001, pp. 317–328 Google Scholar
  28. 28.
    Magee, J., Kramer, J.: Concurrency – State Models & Java Programs. John Wiley & Sons, Chichester, 1999 Google Scholar
  29. 29.
    Magee, J., Pryce, N., Giannakopoulou, D., Kramer, J.: Graphical Animation of Behavior Models. 22nd Int. Conf. on Soft. Eng. (ICSE’00), Limeric, Ireland, 2000 Google Scholar
  30. 30.
    Marelly, R.: Specifying and Executing Behavioral Requirements: The Play-In/Play-Out Approach. PhD thesis, The Weizmann Institute of Science, 2002 Google Scholar
  31. 31.
    Marelly, R., Harel, D., Kugler, H.: Multiple Instances and Symbolic Variables in Executable Sequence Charts. In: Proc. 17th Ann. ACM Conf. on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA’02), Seattle, WA, 2002, pp. 83–100. Also available as Tech. Report MCS02-05 , Weizmann Institute of Science, 2002 Google Scholar
  32. 32.
    Özcan, M., Parry, P., Morrey, I., Siddiqi, J.: Visualization of Executable Formal Specifications for User Validation. Ann. Soft. Eng., 3: 131–155, 1997 Google Scholar
  33. 33.
    Pnueli, A.: The Temporal Semantics of Concurrent Programs. Theoretical Computer Science, 13: 1–20, 1981 Google Scholar
  34. 34.
    Pryce, N., Magee, J.: SceneBeans: A Component-Based Animation Framework for Java. Google Scholar
  35. 35.
    Rational,Inc., web page: Google Scholar
  36. 36.
    Robinson, J.: Logic: Form and Function, chap. 11. North-Holland, 1979, pp. 182–198 Google Scholar
  37. 37.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading, MA, 1999 Google Scholar
  38. 38.
    Schlor, R., Damm, W.: Specification and Verification of System-Level Hardware Designs using Timing Diagram. In: Proc. European Conference on Design Automation. IEEE Computer Society Press, Paris, France, 1993, pp. 518–524 Google Scholar
  39. 39.
    Selic, B., Gullekson, G., Ward, P.: Real-Time Object-Oriented Modeling. John Wiley & Sons, New York, 1994 Google Scholar
  40. 40.
    Siddiqi, J.I., Morrey, I.C., Roast, C.R., Ozcan, M.B.: Towards Quality Requirements via Animated Formal Specifications. Ann. Soft. Eng., 3: 131–155, 1997 Google Scholar
  41. 41.
    Suzuki, J., Yamamoto, Y.: Extending UML for Modelling Reflective Software Components. In: France, R., Rumpe, B. (eds.) UML’99 – The Unified Modeling Language. Beyond the Standard. Second International Conference, Fort Collins, CO, USA, October 28–30 1999, Proceedings, Lecture Notes in Computer Science, vol. 1723. Springer, New York, 1999, pp. 220–235 Google Scholar
  42. 42.
    Uchitel, S., Kramer, J., Magee, J.: Detecting Implied Scenarios in Message Sequence Chart Specifications. In: 9th European Software Engineering Conferece and 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE’01). Vienna, Austria, September 2001 Google Scholar
  43. 43.
    Documentation of the Unified Modeling Language (UML), available from the Object Management Group(OMG): Google Scholar
  44. 44.
    Web page: Google Scholar
  45. 45.
    Web page: Google Scholar
  46. 46.
    Z.120 ITU-TS Recommendation Z.120: Message Sequence Chart (MSC). ITU-TS, Geneva, 1996Google Scholar

Copyright information

© Springer-Verlag 2003

Authors and Affiliations

  • David Harel
    • 1
  • Rami Marelly
    • 1
  1. 1.The Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations