Since the beginning of 2023, the Simple Model Editor (SME) bundles all modeling functionalities of the Enterprise Low Code Platform A12. We take a look at what makes the tool tick today and what plans there are for further development.
“We become what we behold. We shape our tools and then our tools shape us” – these were the words used by media theorist John Culkin back in 1967 to describe a phenomenon that is more evident today in the digital world than ever before: Our tools influence not only how we work, but also how we think and act. This is perhaps most evident in the smartphone and the mobile revolution. The mere availability of a GPS navigation system in our pocket, for example, is massively changing how we perceive and move through spaces. Far more subtly, but no less effectively, this phenomenon extends across every conceivable piece of software with which we regularly interact.
When it comes to tool development in the context of A12, the opportunities lie primarily in making the complexity of business applications manageable.
The realization that tools are more than mere aids gives tool development a great responsibility. At the same time, however, it also promises great opportunities: “The right tools help us to gain a new understanding of the raw materials processed with them and the resulting products”, says Hamarz Mehmanesh, CEO of mgm and Product Manager of A12. “When it comes to tool development in the context of the Enterprise Low Code Platform A12, the opportunities lie primarily in making the complexity of business applications manageable and in better understanding business issues.”
In the following, we take a look at various aspects of the Simple Model Editor from A12, showing the approaches in which the tool already enables new views on the design of applications and how they could develop further in the future.
Comprehensible Data Models – a Question of Perspective
Every business application is based on certain business contexts. They describe which entities the business domain has – for example, “Suppliers” and “Contracts” – and how the entities are related – for example, “At least one contract has been concluded with each supplier”. In A12, there are two model types for this basic data modeling:
- Document Models define entities as a hierarchy of data fields and associated validation and calculation rules.
- Relationship Models describe the relationships between entities.
These models are displayed in SME in the standard view as tree-like structures with editable elements. This form of representation and editing has proven itself in practice. It visualizes the hierarchy of elements for a model and offers quick detailed access to all its data fields.
However, in full-blown business applications, data modeling involves numerous entities and their relationships to each other. To provide users with a better overview, another visual representation was integrated into the SME at the beginning of 2021 – the Model Graph Diagram Editor. This allows users to visualize any perspective of the modeled entity and edit relationships by dragging lines.
The diagram graphically shows a section of the actual state of the data models. You can also model parts directly from this view.
“The diagram graphically shows a section of the actual state of the data models. You can also model parts directly from this view,” explains Joel Charles, who is involved in the development of the editor at mgm’s office in Aachen. “There are operations that only change the visual representation – for example, when I drag and drop several entities next to each other in the diagram. But other operations also impact the modeling. If you draw a line between two entities, you create a new relationship model.”
Even though the Model Graph Diagram Editor is currently used primarily for data modeling, many other applications are imaginable. With the underlying framework, any graph structures can be brought into an interactive, graphical representation. The SME thus draws on a powerful framework for visual representation and editing functionalities, which provides an important basis for further development.
Quality Assurance: Conveniently Test Models
With the low code approach, a significant part of application development is shifting from programming to modeling. However, this also means that there must already be procedures for quality assurance at the modeling level. After all, business applications are characterized by a high level of technical complexity. In A12 data modeling, it is particularly evident in validation and calculation rules that can span many data fields and nested, repeatable structures.
How can we effectively verify that models accurately represent the domain of a business unit? This question is the starting point for ongoing research and development efforts, the results of which are continuously integrated into the SME. This includes the following test functionalities, among others:
With the help of ad-hoc tests, users can test validations and calculations in isolation – both for individual cases and rules, as well as for more extensive model sections. To do this, they start the ad-hoc test via the context menu of an element of the model tree or use the function as part of a bulk operation. A preview opens containing only the selected elements and the fields affected by the selected rules. Modelers can enter test data here to verify that the rules take effect and error messages are raised if the test input is invalid. When testing large sections of a document model, test inputs can also be saved and reloaded later. This saves time for entering data repeatedly.
- Rule Contradictions Report
Inconsistencies can creep into extensive document models, which extend over several rules and are sometimes very difficult to find. The A12 Test Data Generator (TDG) is able to detect such errors. The feature was originally developed as a by-product of test data generation using mathematical methods of Satisfiability Modulo Theories (SMT). In simple terms, it checks whether all data fields and groups can be filled with values without validation errors. If not, the Rule Contradictions Report shows in detail where the problem lies.
Web Technology as the Basis for a Cloud-Based Modeling Environment
In addition to providing successively more functions, the SME is also expected to be made available in new ways in the future. So far, the tool has been delivered using the A12 Installer, which can be installed locally after download. Domain experts and business analysts download the corresponding installation file for Windows, Mac or Ubuntu and get a complete A12 modeling environment. In addition to the SME as a desktop application, this also includes, among other things, a preview app that can be used to test modeled web applications in the browser. However, since the SME is built with the means of A12 – and thus based on modern web technologies – other types of deployment are also possible.
Our vision is a completely cloud-based modeling environment that can be created at the push of a button and easily managed
“When developing the SME, it was clear from the beginning: the tool should work on the web”, says Ansgar Weiss, Project Manager of A12. The cross-platform desktop applications that are delivered for local installation are created using the Electron framework. Today, however, the SME is also provided as a Docker image. This allows the tool to be deployed centrally and used as a web app directly in the browser. This is particularly interesting for organizations whose security policies do not allow the software to be installed locally. “Our vision is a completely cloud-based modeling environment that can be created at the push of a button and easily managed” says Ansgar Weiss. “Making the container images available is the first step in this direction. We are currently looking at what an admin interface might look like and what preview and test functionalities should be included in the environment.”
Possible Extensions Around the Configuration of an Application
Although the SME’s focus is currently on modeling capabilities, it is reaching beyond that. “From a strategic point of view, we don’t just look at the modeling level when we develop the A12 tools further. We take a holistic view of the challenges of enterprise software development.” says Hamarz Mehmanesh. “We have created a number of standards and templates that enable us to set up large projects very quickly. And that includes all the disciplines and subtasks needed – from project infrastructure to security to quality assurance. In all these areas, there are many configurational aspects and admin tools that we are continuously developing.”
In perspective, more and more of these configuration tools could also flow into the SME. “We have created a very flexible, modular and powerful starting point with the SME. That’s why, even with tools that have a configurational character, we ask ourselves the question: does it make sense to integrate them?” explains Hamarz Mehmanesh. Orchestrating such tools under one roof could, in turn, generate new views of the multiple technical dimensions of business applications – further simplifying the development, operation and maintenance of long-term enterprise software.