Project Information
Semantically Configurable Notations and Tools - Jo Atlee, Nancy Day
Software errors frequently arise from incorrect requirements specifications and from unintended feature interactions. Software modelling 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 modelling is the semantic gap between the software problems to be modelled and the available modelling notations, as evidenced by the demand for domain-specific languages (DSLs).
For the past few years, Prof. Atlee, Prof. Day, and their students have been working on semantically configurable modelling notations and tools, as a way of enabling rapid development of DSLs and supporting modelling 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 modelling notations. Note that this work is distinct from, and complimentary to,
meta-modelling 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 modelling 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 modelling 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
Back to Projects - Overview
- Atlee-CV.pdf: 3-page NSERC-like CV (you'll eventually ask for this)