Location of Repository

An Embedded Domain Specific Language to Model, Transform and Quality Assure Business Processes in Business-Driven Development

By Luana Micallef and Gordon J. Pace


In Business-Driven Development (BDD), business process models are produced by business analysts. To ensure that the business requirements are satisfied, the IT solution is directly derived through a process of model refinement. If models do not contain all the required technical details or contain errors, the derived implementation would be incorrect and the BDD lifecycle would have to be repeated. In this project we present a functional domain specific language embedded in Haskell, with which: 1) models can rapidly be produced in a concise and abstract manner, 2) enables focus on the specifications rather than the implementation, 3) ensures that all the required details, to generate the executable code, are specified, 4) models can be transformed, analysed and interpreted in various ways, 5) quality assures models by carrying out three types of checks; by Haskell.s type checker, at construction-time and by functions that analyse the soundness of models, 6) enables users to define quality assured composite model transformations

Topics: QA76
Year: 2008
OAI identifier: oai:kar.kent.ac.uk:24081

Suggested articles



  1. (2003). A foundation for embedded languages," doi
  2. (1996). Building domain-specific embedded languages," doi
  3. (2005). Business-Driven Development”, IBM developerWorks article,
  4. (2007). Combining Quality Assurance and Model Transformations in Business-Driven Development," doi
  5. (2000). Composing contracts: an adventure in financial engineering," doi
  6. (2005). Declarative techniques for model-driven," doi
  7. (1999). Domain specific embedded compilers," doi
  8. (2001). Embedded languages for describing and verifying hardware,
  9. (2007). Faster and More Focused Control-Flow Analysis for Business Process Models Through SESE Decomposition," doi
  10. (2005). Hardware Design and Functional Programming: a Perfect Match," j-jucs,
  11. (2003). Haskell 98 Language and Libraries: The Revised Report,
  12. (1994). Haskell vs. Ada vs. C++ vs. Awk vs. … - An Experiment in Software Prototyping Productivity," Yale,
  13. (1998). Modular domain-specific implementation and exploration framework for embedded software platforms," doi
  14. (1999). Observable Sharing for Functional Circuit Description," doi
  15. (2007). Process anti-patterns: How to avoid the common traps of business process modeling, Part 1 modeling control flow, Part2 modeling data flow,"
  16. (2008). Process Modeling Notation Specification doi
  17. (2006). The role of visual modeling and model transformations in business-driven development,"
  18. (1997). Type classes: exploring the design space,"

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.