Domain-Specific Languages for Enterprise Systems

Jesper Andersen, Patrick Bahr, Fritz Henglein, Tom Hvitved

    Research output: Conference Article in Proceeding or Book/Report chapterBook chapterResearchpeer-review

    Abstract

    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.
    Original languageUndefined/Unknown
    Title of host publicationLeveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change
    EditorsTiziana Margaria, Bernhard Steffen
    Number of pages23
    Volume8802
    PublisherSpringer
    Publication date1 Oct 2014
    Pages73-95
    ISBN (Print)978-3-662-45233-2
    DOIs
    Publication statusPublished - 1 Oct 2014

    Keywords

    • POETS architecture
    • enterprise resource planning
    • transactional data
    • domain-specific languages
    • auditability

    Cite this