Elaborating and Evaluating UMLís 3-Layer Semantics Architecture
Juergen Dingel, Associate Professor
School of Computing, Queenís University
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.
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:
- Develop formal semantics for the subset of actions used in the definition of Executable UML.
- Develop unified, formal semantics for activity diagrams (containing, at least, the parts used in the definition of Executable UML), and non-trivial fragments of state machines, and sequence diagrams
- Develop prototype implementation of execution environment based on 3-layer architecture
- Identify and experiment with suitable techniques based on 3-layer architecture to analyze UML models with respect to their consistency and run-time properties
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.
Automated Management of Virtual Database Appliances
Fine-grained Resource Management and Problem Detection in Dynamic Content Servers
Semantically Configurable Modelling Notations and Tools
Model Management for Continuously Evolving Systems
Modeling, Evolution, and Automated Configuration of Software Services
Intelligent Autonomic Computing for Computational Biology
Performance Management of IT Infrastructure
Performance-Model-Assisted Creation and Management of Service Systems