_Principal Investigator:_
Juergen Dingel, Associate Professor
School of Computing, Queen’s University
Background: Software modeling is a promising approach to increase the effectiveness and efficiency of software development. However, to maximize the usefulness of software models, precise descriptions of their semantics are necessary. The Uniform Modeling Language (UML), the de facto standard in software modeling, is still lacking such a precise description. In particular, the run-time semantics of UML is not formally defined. Instead, the definition of UML outlines a three-layer semantics architecture, which identifies key semantic areas and how they relate to each other: Layer 3 comprises behavioural specification notations such as Activity Diagrams and Sequence Diagrams. Layer 2 defines an Action Language onto which the notations in Layer 3 are supposed to be reduced. Layer 1 comprises the Structural Foundation and identifies the elements necessary for action execution.
The primary purpose of this architecture is to provide the basis for a clear and manageable, comprehensive, and extensible definition of the run-time semantics of UML. However, due to the relative novelty of this architecture (it was only introduced in UML 2), much more work is needed to evaluate the architecture and to elaborate it into a comprehensive formal semantics. Another potential use of the 3-layer architecture is for implementation and analysis. For instance, an Action Language interpreter manipulating an implementation of the Structural Foundation may provide a suitable execution and analysis environment for UML models. However, the precise implementation and use of such an execution environment for the effective and efficient analysis of behavioural models is unclear.
Objectives: This project aims at evaluating and elaborating the 3-layer architecture with the goal to provide a formal semantics for a substantial part of UML’s behavioural specification notations. More precisely, the project has the following objectives:
Potential benefit to Ontario: The research will be carried out in close collaboration with the IBM team in Kanata (Ontario) working on the development of software modeling tools. The results of the work will give IBM a competitive advantage through, for instance, an increased understanding of the meaning of behavioural UML models and the integration of advanced analysis techniques into the tools. Moreover, due to UML's international popularity and the potential benefits of the research, work on this project is likely to increase the international profile of the Ontario academic teams involved. Finally, the research will lead to the training of highly qualified personnel in areas that are of high interest to the Ontario software industry such as: Model-Driven Development techniques and practices, and the theory and practice of formal semantics and analysis.
_Other Projects_