Enterprise Web applications are an essential part of the computer-based information system of most organizations. In the last ten years, the authors carried out an intense research activity in the field of automatic code generation of this category of software applications [1-3]. The pillars on which is based our approach are UML and the Model Driven Architecture.
The paper to be submitted to this forum describes the objectives, beneficiaries, architecture and technologies of an ongoing project. The goal of the project is to release an open-source software tool devoted to the creation, feeding and querying of a NoSQL metadata repository about UML class diagrams. The usage of such a tool is a precondition for speeding up the development process of high quality Enterprise Web applications through the reuse of UML artifacts.
Very Small Entities (VSEs) developing such a category of software are the beneficiaries of the software tool. VSEs are the global software industry’s dominant force since many offerings are coming from them. We adopt the following definition of VSEs taken from ISO/IEC TR 29110-1:2016(E): "A VSE is considered to be an entity that engages in systems or software engineering activities at any point, including development, integration, or maintenance."
The conceptual and technological choices underlying the ongoing project were driven by a careful investigation of the state of the art. The latter will be part of the full paper.
The project is composed of three phases. The first two of them are already finished. These phases can be summarized as follows. We started from the study of the state of the art about repositories of UML artifacts (Phase 1). The final design decision was to organize the VSE’s repository as three distinct components:
- a repository about the modeling artifacts, briefly model repository [4];
- a repository about the generated code; and
- a repository containing metadata about modeling artifacts result of past projects, briefly metadata repository [4].
Part of the Phase 2 was the formalization of the structure of the metadata repository and its implementation as a NoSQL database; moreover a parser was implemented which is responsible for the automatic extraction of metadata describing the artifacts in the model repository and their subsequent upload into the metadata repository.
At present we are implementing the User Interface towards the metadata repository (Phase 3). It is composed of three software components which support, in turn, the accomplishment of the following goals: (a) creation of an empty instance of the NoSQL DB; (b) extraction of metadata from the XMI file about a single class diagram present in the model repository and copying them into the NoSQL DB; (c) formulation of three predefined templates of queries against the NoSQL DB.
References
[1] Paolone, G.; Di Felice, P.; Liguori, G.; Cestra, G.; Clementini, E. A Business Use Case Driven Methodology -- A Step Forward. In Proceedings of the 5th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), Athens, Greece, 22–24 July 2010; pp. 221–226. Available online: https://pdfs.semanticscholar.org/70c0/819791d0f68bdf624c18c8a5a2f2a512e9f9.pdf (accessed on 7 April 2020).
[2] Paolone, G.; Marinelli, M.; Paesani, R.; Di Felice, P. Automatic Code Generation of MVC Web Applications. Computers, vol. 9, no.3, 56 2020; https://doi.org/10.3390/computers9030056.
[3] Paolone, G.; Paesani, R.; Marinelli, M.; Di Felice, P. Empirical Assessment of the Quality of MVC Web Applications Returned by xGenerator. Computers 2021, 10(2), 20; https://doi.org/10.3390/computers10020020 - 04 Feb 2021.
[4] Mayr, C.; Zdun, U.; Dustdar, S. Reusable Architectural Decision Model for Model and Metadata Repositories. In: de Boer F.S., Bonsangue M.M., Madelaine E. (eds) Formal Methods for Components and Objects, 2008. Lecture Notes in Computer Science, vol. 5751, 2009 1–20. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04167-9_1.