Elaborating and Evaluating UML’s 3-Layer Semantics Architecture

_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:

  1. Develop formal semantics for the subset of actions used in the definition of Executable UML.
  2. 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
  3. Develop prototype implementation of execution environment based on 3-layer architecture
  4. Identify and experiment with suitable techniques based on 3-layer architecture to analyze UML models with respect to their consistency and run-time properties

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_

  • 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
  • Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
    Topic revision: r2 - 2007-05-14 - CherylMorris
     
    This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
    Ideas, requests, problems regarding TWiki? Send feedback