Semantically Configurable Modelling Notations and Tools

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.