07. – 12. September 2003, Dagstuhl Seminar 03371
Scenarios: Models, Transformations and Tools
Auskunft zu diesem Dagstuhl Seminar erteilt
The Dagstuhl seminar on "Scenarios: Models, Transformation and Tools" was organized as a continuation of a series of workshops that were co-located with larger conferences such as International Conference on Software Engineering (ICSE) and Object-Oriented Programming, Systems, Lanugaguges, and Applications (OOSPLA) since year 2000. In these workshops we had only a limited amount of time (one day) to discuss the various research problems in this field, which motivated us to apply for arranging a Dagstuhl seminar on the theme. One of the main reasons for the increased interest towards the workshops was the wide spectrum of application domains of scenario-based software modeling techniques. Scenarios are used 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. In telecommunications, for more than 15 years the International Telecommunications Union has standardised the Message Sequence Charts (MSCs) 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. Both MSC and UML 2.0 interaction diagrams, in addition to other scenario notations, were intensively discussed in the seminar.
The presentations were organized into a number of sessions of related topics. The presentations in each of the Sessions can be summarized as follows:
- Interactions in different forms are part of UML 2.0. The problems of agreeing on a common semantics as well as insufficiencies in the semantics of UML Sequence Diagrams were discussed.
- Formal Analysis and Semantics:
- This session presented a wide range of formal analysis technique either addressing scenario notations, or using scenario notations to capture requirements. These included work on checking the compliance of the behaviour of UML models with a given set of scenarios; an review of syntactic and semantic analysis techniques for sequence diagrams, including decidability and complexity results for different model checking problems; a presentation of the play-in/play-out approach to using collections of sequence charts; an overview of different temporal logics for sequence charts and the complexity of their model checking problems; the use of sequence charts in the visualization of security protocols; and finally an introduction into the concept of shared variable interaction diagrams.
- This session described an approach to synthesizing state machine models from scenarios given as UML use case diagrams; the use of scenarios presented as use case maps in the derivation of performance models; the synthesis of performance models and test cases from message sequence chart specifications; a method to derive behaviour trees from sets of requirements given as scenarios; an approach to infering class behaviour from instance descriptions given as message sequence charts; a characterization of temporal interval relationships as expressed by scenario diagrams; a game theoretic approach to the synthesis of operational models from sequence chart specifications; and a synthesis approach based on the scenario based description of coordination patterns between software roles.
- Work on the modeling and testing of systems based on ASML specified scenarios as well as the joint use of MSCs and TTCN3 for the specification of tests were discussed in this session.
- This session presented work on specifying dynamic, mobile systems using extensions of sequence and activity diagrams; on refining MSC specifications into models of communicating finite state machines under special consideration of the resulting communication channel structure; and on algorithms for the synthesis of operational models from service specifications given as sequence diagrams.
During one afternoon session and one additionally scheduled night session a requirements capture and documentation case study was performed. Base on a number of requirements on an autonomous shuttle transport system four groups of participants were formed to apply their favourite scenario based modeling technique and, if possible, a related tool to capture and formalize these requirements. One participant with particular familiarity in the case study acted as the oracle and answered additional questions during the sessions. As expected and hoped for, the case study helped participants to understanding the essence of the tools and methods and their intended use and created lively discussions on the results. The intent of the on-line case study was not to aim at a competitive comparion but rather learn from different methods and tools and open lines for future collaboration. A number of groups arrived at synthesizing executable models from the requirements during the case-study sessions.
The audience was very active during all the sessions, creating an interactive atmosphere. Since sessions had time limitations, although somewhat relaxed ones, the discussions were continued over the coffee and lunch breaks, as well as during the evenings in the customary pleasant atmosphere of Schloss Dagstuhl.
The outcome of the Dagstuhl seminar 03371 include the following:
- A collection of abstracts, presentations (slides) and a number of papers surveying the current state of the art in this field and latest research initiatives (available on the Proceedings page).
- A list list of main open research problems.
- A plan for future work.
The list main open research problems in the field proposed during the seminar contains the following items:
- Integration of scenario based synthesis in an iterative software development process.
- Incorporating component structure in scenarios and related synthesis approaches.
- Clarifying and reserving intention throughout the software development process.
- Integrating the different notations, semantics, and approaches.
- Synthesis for testing and simulation in the presence of data models.
- Scalability to real world complexity.
- Taking advantage of the structure of scenario model (with temporal ordering) in the synthesis and verification process.
- Enable the description of system dynamics (different dynamic system aspects) in scenario models.
- Enable the use (reuse) existing components in scenario models.
- Introduce QoS in the overall design process, starting with scenario models.
- Integration of temporal modalities expressiveness in scenario notations while maintaining intuitive, visual appeal.
- Roadmap for scenario technique usage in the context of the overall development processes.
- Round-trip tool support.
- Tool integration (development of a common tool integration framework).
- Improve the algorithmic aspect (improve existing algorithms and develop new ones).
- Traceability and consistency between models.
A plan for future work was discussed during the final day of the seminar. It was agreed that a summary of the results of the case study would be useful, possibly accompanied with the application of other tools not presented in the seminar. The exact form of the summary was left open. It was also decided that another workshop on the theme was proposed to be held in connection with ICSE 2004.
The local Web page of Dagstuhl seminar 03371 includes the final program of the seminar. Springer Verlag has meanwhile agreed to publish a peer reviewed post seminar proceedings volume in its Lecture Notes in Computer Science series. It is expected that this volume will appear during the second half of the year 2004.