Semantically Configurable Modelling Notations and Tools

_Principal Investigators:_
Joanne Atlee, Associate Professor
Nancy Day, Associate Professor
David R. Cheriton School of Computer Science, University of Waterloo

Background: Software errors frequently arise from incorrect requirements specifications and from unintended feature interactions. Software modeling and analysis can be used to detect such errors in requirements specifications and early designs, when errors are cheaper and easier to fix. However, a significant barrier to effective modeling is the semantic gap between the software problems to be modeled and the available modeling notations, as evidenced by the demand for domain-specific languages (DSLs).

Objectives: For the past few years, this project team has been working on semantically configurable modeling notations and tools, as a way of enabling rapid development of DSLs and supporting modeling and analysis environments. We have developed a formalism, called template semantics, that is a parameterized (i.e., template) semantics definition for a family of notations. Each notation in the family is defined in terms of parameter values that instantiate the template. The result is a semantics definition that isolates as parameters the semantic variation points in modeling notations. Note that this work is distinct from, and complimentary to, meta-modeling efforts, which ease the description of a notation's syntax and structure and which enable automatic generation of certain tools. In contrast, our work aims to ease the task of defining a notation's semantics, and to enable the automatic generation of semantics-aware tools, such as model analyzers, verifiers, and simulators. For example, we can take advantage of the parameterization in a template-semantics description and create tools that are configured by semantic parameter values. So far, we have built a configurable translator from a configurable state-machine-like modeling notation to the SMV model checker and a Java code generator.

As part of CERAS, we are interested in extending and evaluating our configurable-semantics philosophy and technology with respect to (1) its expressive power to capture various domain-specific semantics, (2) the ease in creating new domain-specific languages and supporting tools, and (3) the extent to which such semantically configurable tools can be optimized and made efficient. Possible project topics include

  • Rapid definition of semantics of existing DSLs (which is often neglected)
  • Evaluation of the need for configurability in modeling notations
  • Evaluation of the expressiveness of template semantics
  • Possible extension of template semantics to accommodate currently unsupported behaviours
  • Development of domain-specific templates (if appropriate)
  • Evaluation of our ability to generate efficient template-based tools

Potential benefit to Ontario: Companies that are interested in modeling and analyzing their software products (e.g., telecommunications, automotive, intelligent transportation) would benefit directly from this research. Companies that produce software-development tools may be interested in commercializing the technology.

_Other Projects_

  • Automated Management of Virtual Database Appliances
  • Fine-grained Resource Management and Problem Detection in Dynamic Content Servers
  • Model Management for Continuously Evolving Systems
  • Modeling, Evolution, and Automated Configuration of Software Services
  • Elaborating and Evaluating UML’s 3-Layer Semantics Architecture
  • 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