Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8802))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Andersen, J., Elsborg, E., Henglein, F., Simonsen, J.G., Stefansen, C.: Compositional specification of commercial contracts. International Journal on Software Tools for Technology Transfer (STTT) 8(6), 485–516 (2006)

    Article  Google Scholar 

  2. Bahr, P., Hvitved, T.: Compositional data types. In: Proc. 7th ACM SIGPLAN Workshop on Generic Programming (WGP), pp. 83–94. ACM (2011)

    Google Scholar 

  3. Bahr, P., Hvitved, T.: Parametric compositional data types. In: Proc. Mathematically Structured Functional Programming, MSFP (2012)

    Google Scholar 

  4. Bernstein, A.J., Kifer, M.: Databases and Transaction Processing: An Application-Oriented Approach, 1st edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)

    Google Scholar 

  5. Fuchs, N.E., Kaljurand, K., Kuhn, T.: Attempto Controlled English for Knowledge Representation. In: Baroglio, C., Bonatti, P.A., Małuszyński, J., Marchiori, M., Polleres, A., Schaffert, S. (eds.) Reasoning Web. LNCS, vol. 5224, pp. 104–124. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  6. Henglein, F., Larsen, K.F., Simonsen, J.G., Stefansen, C.: POETS: Process-oriented event-driven transaction systems. Journal of Logic and Algebraic Programming 78(5), 381–401 (2009)

    Article  MATH  Google Scholar 

  7. Hvitved, T.: A survey of formal languages for contracts. In: Fourth Workshop on Formal Languages and Analysis of Contract–Oriented Software (FLACOS 2010), pp. 29–32 (2010)

    Google Scholar 

  8. Hvitved, T.: Contract Formalisation and Modular Implementation of Domain-Specific Languages. PhD thesis, Department of Computer Science, University of Copenhagen (DIKU) (November 2011)

    Google Scholar 

  9. Hvitved, T., Klaedtke, F., Zălinescu, E.: A trace-based model for multiparty contracts. The Journal of Logic and Algebraic Programming 81(2), 72–98 (2012); Preliminary version presented at 4th Workshop on Formal Languages and Analysis of Contract-Oriented Software (FLACOS 2010) (2010)

    Google Scholar 

  10. Thomsen, M.J.: Using Controlled Natural Language for specifying ERP Requirements. Master’s thesis, University of Copenhagen, Department of Computer Science (2010)

    Google Scholar 

  11. Liu, Y.A.: Efficiency by incrementalization: An introduction. Higher-Order and Symbolic Computation 13(4) (2000)

    Google Scholar 

  12. Margaria, T., Steffen, B.: Business process modelling in the jabc: the one-thing-approach. In: Handbook of Research on Business Process Modeling, pp. 1–26. IGI Global (2009)

    Google Scholar 

  13. McCarthy, W.E.: The REA Accounting Model: A Generalized Framework for Accounting Systems in a Shared Data Environment. The Accounting Review LVII(3), 554–578 (1982)

    Google Scholar 

  14. Murthy, C.: Advanced programming language design in enterprise software: A lambda-calculus theorist wanders into a datacenter. In: Proc. ACM Symp. on Principles of Programming Languages (POPL), ACM SIGPLAN Notices, vol. 42(1), pp. 263–264. ACM (2007)

    Google Scholar 

  15. Neubauer, J., Steffen, B.: Plug-and-play higher-order process integration. Computer 46(11), 56–62 (2013)

    Article  Google Scholar 

  16. Neubauer, J., Steffen, B., Frohme, M., Margaria, T.: Prototype-driven development of web applications with dywa. In: These Proceedings (2014)

    Google Scholar 

  17. Neubauer, J., Steffen, B., Margaria, T.: Higher-order process modeling: Product-lining, variability modeling and beyond. Electronic Proceedings in Theoretical Computer Science (EPTCS) 129, 259–283 (2013)

    Article  Google Scholar 

  18. Nissen, M.: Reporting technologies. In: 2nd 3gERP Workshop, Frederiksberg, Denmark (2008)

    Google Scholar 

  19. Nissen, M., Larsen, K.F.: FunSETL — Functional Reporting for ERP Systems. In: Chitil, O. (ed.) 19th International Symposium on Implementation and Application of Functional Languages, IFL 2007, pp. 268–289 (2007)

    Google Scholar 

  20. Ohori, A.: A Polymorphic Record Calculus and Its Compilation. ACM Trans. Program. Lang. Syst. 17, 844–895 (1995)

    Article  Google Scholar 

  21. Paige, R., Koenig, S.: Finite differencing of computable expressions. ACM TOPLAS 4(3), 402–454 (1982)

    Article  MATH  Google Scholar 

  22. Pierce, B.C.: Types and Programming Languages. The MIT Press (2002)

    Google Scholar 

  23. Steffen, B., Margaria, T., Nagel, R., Jörges, S., Kubczak, C.: Model-driven development with the jABC. In: Bin, E., Ziv, A., Ur, S. (eds.) HVC 2006. LNCS, vol. 4383, pp. 92–108. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  24. Terry, D., Goldberg, D., Nichols, D., Oki, B.: Continuous queries over append-only databases. In: Proc. SIGMOD Conference, vol. 21(2). ACM (1992)

    Google Scholar 

  25. Thomsen, M.J.: Using controlled natural language for specifying ERP requirements. Master’s thesis, Department of Computer Science (DIKU), University of Copenhagen (July 2010)

    Google Scholar 

  26. Wadler, P.: Comprehending monads. Mathematical Structures in Computer Science 2(04), 461–493 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  27. Ward, M.P.: Language-oriented programming. Software-Concepts and Tools 15(4), 147–161 (1994)

    Google Scholar 

  28. Weygandt, J.J., Kieso, D.E., Kimmel, P.D.: Financial Accounting, with Annual Report. Wiley (2004)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Andersen, J., Bahr, P., Henglein, F., Hvitved, T. (2014). Domain-Specific Languages for Enterprise Systems. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. ISoLA 2014. Lecture Notes in Computer Science, vol 8802. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-45234-9_6

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-45234-9_6

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-45233-2

  • Online ISBN: 978-3-662-45234-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics