Modelling Enterprise Information Systems
Summary of Most Relevant Topic Papers
Enterprise Information Systems (EIS) provide information to different user groups as main system goal. To be more precise, it is important to be able to create, read, update and delete data (CRUD). We use model-based methods to support these functionalities. Different types of models are used in the context of EIS: structural models to describe data structures, dynamic models to describe business processes, functional models to describe software functions or Graphical User Interface (GUI) models to describe graphical user interfaces. Usually, these models are developed using Domain-Specific Languages (DSLs).
Using our experiences in the model-based generation of code with MontiCore [KRV10] [HKR21], we developed several generators for data-centric applications. The following figure shows the main concepts for these approaches: Models from different DSLs are used as input for the generator in combination with predefined templates. As an output large parts of the information system are produced: the databases, data communication and infrastructure as well as the GUIs for different users and roles. Missing parts have to be added as handwritten code, such as application logic.
The MontiCore Data Explorer (MontiDEx) code generator was used for the automatic generation of customizable, extensible data-centric business applications from UML/P Class Diagrams [NRR15a] [Rot17]. It processes models to generate data-centric applications in Java and Java Swing. The department has developed further generators such as MontiEE [Loo17] or MontiWIS [Rei16].
The most recent generator, MontiGem [AMN+20a], was successfully applied in an application project for the financial controlling of the chairs of RWTH Aachen University, the MaCoCo project [ANV+18]. With MontiGem, it is possible to generate large parts of data centric business applications from a set of models: The data-structure and communication infrastructure, functions to access, retrieve and store the data, the GUIs, and parts of the access control. Additional transformations from UML/P class diagrams to models for graphical user interfaces [GMN+20] allow to even reduce the information needed for the generation process. MontiGem has, e.g., been used for financial management [GHK+20] or for creating digital twin cockpits [DMR+20].
Enterprise Information Systems are facing challenges: The General Data Protection Regulation (GDPR), in application since May 2018, marks a new era in data privacy. These regulations are also relevant for EIS dealing with private data. Thus, we investigate the architecture of cloud services for the Digital Me in a privacy-aware environment [ELR+17]. Further approaches go beyond architectural aspects: [MNRV19] discusses a privacy preserving data model and system architecture. The user-centered view on the system design allows to track who does what, when, why, where and how with personal data and can make this information available for users in an information portal.
We have developed a methodology for retrofitting generative aspects in existing applications [DGM+21] to improve the application of generative software engineering for brown-field information systems in practice.
Key Statements
- Model-based, generative development of enterprise information systems helps to reduce development time, increase flexibility and adaptivity.
- Models can be used for domain and data modeling.
- Generative approaches for enterprise information systems help to cope with new challenges such as privacy regulations.
- A methodology for retrofitting generative aspects in existing applications allows to replace existing code step-by-step with generated code.
Selected Topic-Specific Publications
-
[DGM+21]In: Journal of Object Technology (JOT), A. Pierantonio (Eds.), Volume 20, pp. 1-24, AITO - Association Internationale pour les Technologies Objets, Nov. 2021.
-
[HKR21]Aachener Informatik-Berichte, Software Engineering, Band 48, ISBN 978-3-8440-8010-0, Shaker Verlag, May 2021.
-
[DMR+20]In: Conceptual Modeling, G. Dobbie, U. Frank, G. Kappel, S. W. Liddle, H. C. Mayr (Eds.), pp. 377-387, Springer International Publishing, Oct. 2020.
-
[GMN+20]In: 25th Americas Conference on Information Systems (AMCIS 2020), B. Anderson, J. Thatcher, R. Meservy (Eds.), pp. 1-10, AIS Electronic Library (AISeL), Association for Information Systems (AIS), Aug. 2020.
-
[AMN+20a]In: 40 Years EMISA: Digital Ecosystems of the Future: Methodology, Techniques and Applications (EMISA’19), Volume P-304, pp. 59-66, LNI, Gesellschaft für Informatik e.V., May 2020.
-
[GHK+20]In: Companion Proceedings of Modellierung 2020 Short, Workshop and Tools & Demo Papers, J. Michael, D. Bork (Eds.), pp. 22-30, CEUR Workshop Proceedings, Feb. 2020.
-
[MNRV19]In: Proceedings of MODELS 2019. Workshop MDE4IoT, N. Ferry, A. Cicchetti, F. Ciccozzi, A. Solberg, M. Wimmer, A. Wortmann (Eds.), pp. 595-614, CEUR Workshop Proceedings, Sep. 2019.
-
[ANV+18]In: Enterprise Modeling and Information Systems Architectures (EMISA’18), M. Fellmann, K. Sandkuhl (Eds.), Volume 2097, pp. 75-79, CEUR Workshop Proceedings, CEUR-WS.org, May 2018.
-
[Rot17]Aachener Informatik-Berichte, Software Engineering, Band 31, ISBN 978-3-8440-5688-4, Shaker Verlag, Dec. 2017.
-
[ELR+17]In: Software Architecture for Big Data and the Cloud, I. Mistrik, R. Bahsoon, N. Ali, M. Heisel, B. Maxim (Eds.), ch. 12, pp. 207-226, Elsevier Science & Technology, Jun. 2017.
-
[Loo17]Aachener Informatik-Berichte, Software Engineering, Band 27, ISBN 978-3-8440-5131-5, Shaker Verlag, Mar. 2017.
-
[Rei16]Aachener Informatik-Berichte, Software Engineering, Band 22, ISBN 978-3-8440-4446-1, Shaker Verlag, May 2016.
-
[NRR15a]In: Domain-Specific Modeling Workshop (DSM’15), pp. 43-44, ACM, 2015.
-
[KRV10]In: International Journal on Software Tools for Technology Transfer (STTT), Volume 12(5), pp. 353-372, Springer, Sep. 2010.
Related Topics
- Agile Model-Based Software Engineering
- Domain-Specific Languages (DSLs)
- Energy Management
- Generative Software Engineering
- MontiCore - Language Workbench
- Modeling Software Architecture
- Unified Modeling Language (UML)
- UML/P