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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Bahr, P., Hvitved, T.: Compositional data types. In: Proc. 7th ACM SIGPLAN Workshop on Generic Programming (WGP), pp. 83–94. ACM (2011)
Bahr, P., Hvitved, T.: Parametric compositional data types. In: Proc. Mathematically Structured Functional Programming, MSFP (2012)
Bernstein, A.J., Kifer, M.: Databases and Transaction Processing: An Application-Oriented Approach, 1st edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2001)
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)
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)
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)
Hvitved, T.: Contract Formalisation and Modular Implementation of Domain-Specific Languages. PhD thesis, Department of Computer Science, University of Copenhagen (DIKU) (November 2011)
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)
Thomsen, M.J.: Using Controlled Natural Language for specifying ERP Requirements. Master’s thesis, University of Copenhagen, Department of Computer Science (2010)
Liu, Y.A.: Efficiency by incrementalization: An introduction. Higher-Order and Symbolic Computation 13(4) (2000)
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)
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)
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)
Neubauer, J., Steffen, B.: Plug-and-play higher-order process integration. Computer 46(11), 56–62 (2013)
Neubauer, J., Steffen, B., Frohme, M., Margaria, T.: Prototype-driven development of web applications with dywa. In: These Proceedings (2014)
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)
Nissen, M.: Reporting technologies. In: 2nd 3gERP Workshop, Frederiksberg, Denmark (2008)
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)
Ohori, A.: A Polymorphic Record Calculus and Its Compilation. ACM Trans. Program. Lang. Syst. 17, 844–895 (1995)
Paige, R., Koenig, S.: Finite differencing of computable expressions. ACM TOPLAS 4(3), 402–454 (1982)
Pierce, B.C.: Types and Programming Languages. The MIT Press (2002)
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)
Terry, D., Goldberg, D., Nichols, D., Oki, B.: Continuous queries over append-only databases. In: Proc. SIGMOD Conference, vol. 21(2). ACM (1992)
Thomsen, M.J.: Using controlled natural language for specifying ERP requirements. Master’s thesis, Department of Computer Science (DIKU), University of Copenhagen (July 2010)
Wadler, P.: Comprehending monads. Mathematical Structures in Computer Science 2(04), 461–493 (1992)
Ward, M.P.: Language-oriented programming. Software-Concepts and Tools 15(4), 147–161 (1994)
Weygandt, J.J., Kieso, D.E., Kimmel, P.D.: Financial Accounting, with Annual Report. Wiley (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)