Scenarios: Models, Algorithms and Tools
September 7-12, 2003
Francis Bordeleau (Carleton), Stefan Leue (Freiburg), Tarja Systä (Tampere)
Scenario-based software modelling techniques have become rather popular in many application domains. They occur in telecommunications as message sequence charts, in object-oriented system design as sequence diagrams, in reverse engineering as execution traces, and in requirements engineering, e.g., as use case maps or life sequence charts. These techniques are used to capture requirements, in particular on reactive systems, to capture use cases in system documentation, to specify test cases, or to visualise runs of existing systems. They are often used to represent concurrent systems that interact via message passing or method invocations.
Scenario-based techniques have significant practical relevance. In telecommunications, for more than 15 years the International Telecommunications Union has standardised the Message Sequence Charts notation in its recommendation Z.120. More recently, with the emergence of UML as a predominant software design methodology, there has been special interest in the development of the sequence diagram notation. There is currently work on reconciling both notations in UML 2.0. Moreover, in UML, use cases can be conveniently realised using interaction diagrams, which in turn aid in recognising the operations and associations of classes and in specifying the behaviour of objects as statecharts. Use case maps have been proposed as a canonical notation for the capture of causalities in object-oriented system design. There is active research currently on extending scenario notations and their use such as the inclusion of real-time and probabilistic information, the inclusion of modalities, and the usage as play-in-play-out scenarios. Also, scenario-based notations do often not comply with the closed-world assumption, and much research is addressing the question how to infer implied information so as to make this assumption valid.