A Successful Experiment – The A12-Low-Code-Evolution

Every low-code platform needs tools to design parts of an application. But can these tools also be created with the means of that very platform itself? This question was the seed for the development of the Simple Model Editor (SME) of the Enterprise Low Code Platform A12. We trace the development and follow the SME’s path from prototype to standard tool from A12.

For the modeling world of the Enterprise Low Code Platform A12, the year 2023 marks an important turning point: the first generation of tools is being retired. As the central, modular tool of the new generation, the SME (Simple Model Editor) now offers the means to edit all models more conveniently than ever before. We take this milestone as an opportunity to review the evolution of modeling tools.

This article is part of a series about the tool development of A12:

Building software tools does not require a physical factory. Development typically takes place at several locations – depending on where the specialized experts are located. If we nevertheless want to name a representative location where the current tool generation of the Enterprise Low Code Platform A12 is being fine-tuned today, we inevitably end up in Aachen. A large part of the tool development takes place in an office complex at Karlshof, directly on the market square in front of the Gothic town hall. In addition to its immediate proximity to the historic city center, mgm’s Aachen location is also characterized by its proximity to the RWTH. The university library is just a few hundred meters away. Through a cooperation with the Chair of Software Engineering headed by Prof. Dr. Bernhard Rumpe, mgm and RWTH are also closely linked institutionally.

The closeness to science and the passion for Model-Driven Software Development (MDSD) that mgm shares with the chair is very tangible at the site. Conversations revolve around conferences and dissertation projects. Anyone who talks to colleagues on site about a specialist topic quickly receives recommendations for relevant research articles that are worth reading. The fact that the next generation of A12 tools was developed in this environment is certainly no mere coincidence.

Metamodeling as a Starting Point

Timo Greifenberg, Head of the SME Team in Aachen

The original idea was to build an editor for three new modeling features of A12 with as little effort as possible and the resources of A12

By now, some former employees of the chair have moved to mgm and thus to the business world, where they are now putting their knowledge into practice. One of them is Dr. Timo Greifenberg. In March 2019, Timo, who had worked on the A12 Workflows component at mgm until then, got the task for an experiment. “The original idea was to build an editor for three new modeling features of A12 with as little effort as possible and the resources of A12 – that’s where the ‘Simple’ in SME comes from: Relationship Models, App Models and Bindings,” recalls Timo, who now leads the SME team. “Technically, the question was whether you could metamodel the JSON structures of these models.”

The short answer: Yes, you can – and very effectively. That laid the foundation for a new generation of A12 tools, built with A12’s own resources. “Originally, I assumed I would return to workflows after about three months. It never came to that,” Timo smiles. Today, a seven-person team is working on the SME’s core functionalities. Other teams are responsible for the development of additional SME modules.

The journey to build the new A12 editors based on A12 was also somewhat of a test for the platform itself

“The SME’s origins came at a time when we were significantly evolving the modeling scope. A12 evolved from a model-driven approach to a full-blown platform for business application development,” sums up Ansgar Weiss, Project Manager of A12. “The journey to build the new A12 editors based on A12 was also somewhat of a test for the platform itself. We’ve seen very clearly what works well and what is still missing.”

“Eat your own doogfood” – How mgm uses its own tools

The principle that companies also use the products and services themselves that they offer is known in IT industry jargon as “eat your own dogfood” or “dogfooding”. It aims to increase the quality of products and employees’ confidence in them. If the product has weak points, those who produce the product also suffer – and accordingly have a greater interest in improving the product quickly. Within mgm, the SME was the first internal product to be built strictly on the A12 platform. It has the distinctive feature of enriching the A12 platform by being based on A12. Today, mgm also uses several internally developed software products that are based on A12. These include a system for time tracking and a tool for travel expense reporting.

Ansgar Weiss, Project Manager of A12

Implementation as a Web Application

The first experimental version of the SME was a simple web application that still had a very clear range of functions. There was a button “Open Workspace”, with which one could load data into the application. On the left side of the screen, the so-called Workspace Explorer then displayed the files. When you clicked on a file, an editing view for that model opened to the right of it. There was also a “Download” button that could be used to download the results again and save them locally.

This basic structure is still recognizable in today’s versions of the SME. However, the ease of use and the range of functions have taken a quantum leap. Models can be dragged and dropped. Thanks to direct access to the file system, they can also be deleted, renamed or copied directly in the Workspace Explorer. Options for visual modeling as well as a live preview and functions for quality assurance of the modeled expertise have been added. The latter use highly complex mathematical methods such as SMT solvers, for example, to uncover contradictions in the domain-specific models.

Successive Support of Additional Model Types

The first SME prototype was the initial release of an editor for advanced modeling features such as Relationships, which can be used to define relationships between modeled entities. In project practice, these options were still used sporadically at the beginning. The SME was initially a rather exotic by-product in the A12 cosmos. However, with the support of the Overview Model, with which table-like overviews could be modeled, the user base grew by leaps and bounds.

At that time, we also implemented A12’s module system in the SME

“The Overview model was already in use in many A12 projects at that time. The SME was therefore more widely used and thus also left the status of a prototype,” says Timo. “At that time, we also implemented A12’s module system in the SME. It was foreseeable that other teams would want to get involved. So we had to have rules about who could work in where.” Today, there is a separate module for the editing area of each model type. While the first generation of A12 tools had a separate tool for each model type, the motto now is: one module per model type.

SME Modules Replace First Generation Tools

In the initial phase of the SME, there were no plans to replace the previous modeling tools – the Data Modeler and the UI Designer. However, after the introduction of the module system and the support of Overview models, this idea was just imposing itself. The first generation tools based on Eclipse RCP were already very mature and stable, but also looked outdated. The SME, on the other hand, was based on more modern web technologies and relied on the current A12 themes.

The replacement of the old tools took place gradually

“The replacement of the old tools took place gradually,” explains Ansgar Weiss. “In each case, we first looked at the extent to which the functionality could be transferred in a proof of concept. Then a feature stop was imposed on the old tools while the new SME modules were implemented and tested.” In early 2022, the SME’s Document Modeling Module (DMM) replaced the A12 Data Modeler. A year later, the SME’s Form Modeling Module (FMM) took over the functionality of the A12 UI Designer. The transition phase was thus successfully completed. The experiment became a new tool generation.