Metamodel based modeling

Started by magwas, May 14, 2020, 13:03:13 PM

Previous topic - Next topic


We had quite a few discussions about this topic a couple of years ago. Version 3.1 of the Archimate standard did introduce the basics of it, but I believe that the community never had a full understanding, and I am not aware of any tools (beyond Zenta/zenta-tools) with consistent support for all related functionality.
So I thought I will summarize the current state for anyone interested.

We - at Kode Konveyor - using it as the most important tool of our software development methodology. The fact that the metamodel is modeled made it possible to iterate it and our methodology fast. The constraints help us in multiple ways. They make sure that we do not forget things out of our model and to iterate fast on the models.
An important aspect for us is that different layers of the model correspond to each other. We use the same toolchain (zenta-tools) to detect discrepancies between the model and the code. With this, changes of the business layer trickle down (through the constraint violations) to all lower layers, helping in change management.
Of course metamodeling is applicabble to any area, not just software development. We have our business plan (including but not limited to Business Design Canvas) and our infrastructure plans in Zenta models as well.
The toolchain supports a crude emulation of enterprise repository. We have parts of the metamodel in different files in one of our github repository while the models for project are in the project repository. Zenta-tools compiles the model from those parts, check the constraints, generate HTML documentation, and also other documents relevant to our application domain (e.g. we generate end-user documentation using the model and an xml representation of the source code, the task descriptions for coders, etc.)

I would not say that the tools are high quality right now. Zenta still contains a lot of dead code from Archi, and there are lot of bugs introduced by me. But it definitely works: it is the most important part of our toolchain.
Actually we are in the stage where we need more modelers to keep up with the needs of our clients. Therefore I am happy to show what we are doing and how we do it to anyone interested, in the hope that some of you find it exciting enough to work with us.

Jean-Baptiste Sarrodie

Hi Arpad,

Happy to read that your Zenta tool is still being use nowadays. I've always liked the idea of being able to easily customize the underlying metamodel almost in real time.

But despite being an interresting topic, this is nonetheless not related to ArchiMate nor Archi, so I'd like to avoid such offtopic discussions on this forum.


If you value and use Archi please consider making a donation!