School of Computing

Embedded Languages for Business Process Modelling, Transformation and Quality Assurance in Business-Driven Development

Luana Micallef and Gordon J. Pace

Technical Report CS2009-02, Department of Computer Science, University of Malta, Msida, Malta, December 2009 Available online at reports.


In Business-Driven Development (BDD), process models are produced by business analysts. To ensure that the defined requirements are satisfied, the IT solution must ideally be derived directly from the specifications through a process of model refinement. However, if the original models contain errors or lack some technical detail, an incorrect implementation would be inferred and the entire BDD life-cycle would have to be revised. In this report, we investigate the use of embedded language techniques to enable more abstract model descriptions and enable quality assurance and transformation of models. We have embedded such a domain-specific language in the functional programming language Haskell and show how it enables: (i) the rapid development of models in a concise and abstract manner, focusing on the specifications rather than the implementation and ensuring that all the required details to generate the executable code are specified; (ii) quality assurance of the models through the use of Haskell's type checker, at construction-time and through soundness analysis; (iii) transformation, analysis and interpretation of the models; and (iv) definition of composite model transformations, including the use of quality assurance.

Download publication 2866 kbytes (PDF)

Bibtex Record

author = {Luana Micallef and Gordon J. Pace},
title = {{E}mbedded {L}anguages for {B}usiness {P}rocess {M}odelling, {T}ransformation and {Q}uality {A}ssurance in {B}usiness-{D}riven {D}evelopment},
month = {December},
year = {2009},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {Available online at{~}reports},
doi = {},
url = {},
    publication_type = {techreport},
    submission_id = {29426_1309170106},
    institution = {Department of Computer Science, University of Malta},
    number = {CS2009-02},
    address = {Msida, Malta},

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014