Software & Systems Modeling

, 4:355 | Cite as

STAIRS towards formal design with sequence diagrams

  • Øystein Haugen
  • Knut Eilif Husa
  • Ragnhild Kobro Runde
  • Ketil StølenEmail author
Special Issue Paper


The paper presents STAIRS [1], an approach to the compositional development of UML interactions supporting the specification of mandatory as well as potential behavior. STAIRS has been designed to facilitate the use of interactions for requirement capture as well as test specification. STAIRS assigns a precise interpretation to the various steps in incremental system development based on an approach to refinement known from the field of formal methods and provides thereby a foundation for compositional analysis. An interaction may characterize three main kinds of traces. A trace may be (1) positive in the sense that it is valid, legal or desirable, (2) negative meaning that it is invalid, illegal or undesirable, or (3) inconclusive meaning that it is considered irrelevant for the interaction in question. The basic increments in system development proposed by STAIRS, are structured into three main kinds referred to as supplementing, narrowing and detailing. Supplementing categorizes inconclusive traces as either positive or negative. Narrowing reduces the set of positive traces to capture new design decisions or to match the problem more adequately. Detailing involves introducing a more detailed description without significantly altering the externally observable behavior.


UML interactions Formal semantics Explicit non-determinism Refinement Sequence diagrams 


  1. 1.
    Haugen, Ø. and Stølen, K.: STAIRS—Steps to analyze interactions with refinement semantics. In: Sixth International Conference on UML (UML'2003), no. 2863 in Lecture Notes in Computer Science, pp. 388–402. Springer (2003)Google Scholar
  2. 2.
    Hoare, C.A.R.: Proof of correctness of data representations. Acta Informatica 1, 271–282 (1972)CrossRefzbMATHGoogle Scholar
  3. 3.
    Jones, C.B.: Formal development of correct algorithms: An example based on Earley's recogniser. In: ACM Conference on Proving Assertions about Programs, no. 7 in SIGPLAN Notices, pp. 150–169 (1972)Google Scholar
  4. 4.
    Milner, R.: An algebraic definition of simulation between programs. In: International Joint Conference on Artificial Intelligence, pp. 481–489. Kaufmann (1971)Google Scholar
  5. 5.
    de Roever, W.-P.: The quest for compositionality: A survey of assertion-based proof systems for concurrent programs: Part 1. In Formal Models in Programming, pp. 181–205. North-Holland (1985)Google Scholar
  6. 6.
    Jones, C.B.: Development Methods for Computer Programs Including a Notion of Interference. PhD thesis, Oxford University (1981)Google Scholar
  7. 7.
    Haugen, Ø., Husa, K.E., Runde, R.K., Stølen, K.: Why timed sequence diagrams require three-event semantics. Technical Report 309, Department of Informatics, University of Oslo (2004)Google Scholar
  8. 8.
    Object Management Group.: UML 2.0 Superstructure Specification, document: ptc/04-10-02 edition (2004)Google Scholar
  9. 9.
    Haugen, Ø., Møller-Pedersen, B., Weigert, T.: Structural modeling with UML 2.0. In: UML for Real, pp. 53–76. Kluwer (2003)Google Scholar
  10. 10.
    Jones, C.B.: Systematic Software Development Using VDM. Prentice-Hall (1986)Google Scholar
  11. 11.
    Abadi, M., Lamport, L.: Conjoining specifications. ACM Trans. Prog. Lang. Sys. 17, 507–533 (1995)CrossRefGoogle Scholar
  12. 12.
    Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, Berlin Heidelberg New York (2001)zbMATHGoogle Scholar
  13. 13.
    Haugen, Ø.: Using MSC-92 effectively. In: 7th SDL Forum (SDL'95), pp. 37–49. North-Holland (1995)Google Scholar
  14. 14.
    International Telecommunication Union.: Recommendation Z.120—Message Sequence Chart (MSC) (1993)Google Scholar
  15. 15.
    International Telecommunication Union.: Recommendation Z.120 Annex B: Algebraic Semantics of Message Sequence Charts (1994)Google Scholar
  16. 16.
    International Telecommunication Union.: Recommendation Z.120 Annex B: Formal Semantics of Message Sequence Charts (1998)Google Scholar
  17. 17.
    Reniers, M.A.: Message Sequence Chart: Syntax and Semantics. PhD thesis, Eindhoven University of Technology (1998)Google Scholar
  18. 18.
    Combes, P., Pickin, S., Renard, B., Olsen, F.: MSCs to express service requirements as properties on an SDL model: Application to service interaction detection. In: 7th SDL Forum (SDL'95), pp. 243–256. North-Holland (1995)Google Scholar
  19. 19.
    Damm, W., Harel, D.: LSCs: Breathing life into message sequence charts. In: Formal Methods for Open Object-Based Distributed Systems (FMOODS'99), pp. 293–311. Kluwer (1999)Google Scholar
  20. 20.
    Haugen, Ø.: MSC-2000 interaction diagrams for the new millennium. Computer Networks 35, 721–732 (2001)CrossRefGoogle Scholar
  21. 21.
    Harel, D., Marelly, R.: Specifying and executing behavioral requirements: The play-in/play-out approach. Soft. Sys. Model. 2, 82–107 (2003)Google Scholar
  22. 22.
    Krüuger, I.: Distributed System Design with Message Sequence Charts. PhD thesis, Technische Universität München (2000)Google Scholar
  23. 23.
    Jacobson, I., Booch, G., Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley (1999)Google Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  • Øystein Haugen
    • 1
  • Knut Eilif Husa
    • 2
  • Ragnhild Kobro Runde
    • 1
  • Ketil Stølen
    • 3
    Email author
  1. 1.Department of InformaticsUniversity of OsloNorway
  2. 2.Department of InformaticsUniversity of Oslo and EricssonNorway
  3. 3.Department of InformaticsUniversity of Oslo and SINTEF ICTNorway

Personalised recommendations