Domain-Specific Languages for Enterprise Systems

Jesper Andersen, Patrick Bahr, Fritz Henglein and Tom Hvitved
Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change, p. 73-95, 2014.


The process-oriented event-driven transaction systems (POETS) architecture introduced by Henglein et al. is a novel software architecture for enterprise resource planning (ERP) systems. POETS employs a pragmatic separation between (i) transactional data, that is, what has happened; (ii) reports, that is, what can be derived from the transactional data; and (iii) contracts, that is, which transactions are expected in the future. Moreover, POETS applies domain-specific languages (DSLs) for specifying reports and contracts, in order to enable succinct declarative specifications as well as rapid adaptability and customisation. In this paper we present an implementation of a generalised and extended variant of the POETS architecture. The extensions amount to a customisable data model based on nominal subtyping; support for run-time changes to the data model, reports and contracts, while retaining full auditability; and support for referable data that may evolve over time, also while retaining full auditability as well as referential integrity. Besides the revised architecture, we present the DSLs used to specify data definitions, reports, and contracts respectively. Finally, we illustrate a use case scenario, which we implemented in a trial for a small business.

Category: Domain-specific Languages