Designing languages using lightning
Abstract
Modelling languages are defined by specifying their abstract syntax, concrete syntax and semantics. In the Lightning tool the definition of all these language components is based on the lightweight formal language Alloy. Lightning makes use of the powerful automatic analysis features of Alloy to allow language designers to develop and validate the definition of a modelling language in an incremental fashion. By providing immediate visual feedback, it allows errors in the language definition to be quickly identified and corrected. Furthermore Lightning introduces F-Alloy, a new Alloy based model transformation language. Transformations expressed in F-Alloy can be efficiently interpreted in Lightning. We illustrate the use of the tool on the language of structured business processes.