Introduction of C4 model plugin

Hello, everyone!

Today, I will introduce a plugin of Astah, that supports a modeling method called C4model.

C4 model is invented against a background that recently UML is not so popular in industries and defined syntactically based on UML. The C4 model method is aiming at better communications among engineers. Please refer the official site of C4 model and other useful references as follows:

In C4 model, a software architecture is captured with 4 layers (1) Software system, (2) Container, (3) Component, and (4) Code. In the Software system layer, the context of the system-of-interest with its users and the interactions to other systems are analyzed and described.

Let us draw a C4 model with C4 model plugin in Astah. An example in the official site will be used. First, the model of the Software system layer can be written with the plugin as follows. For the details how to use the plugin, please visit the readme of C4model plugin github.

An example of C4 model with C4model plugin in Astah

Here, the classes in the diagram are graphically represented by SVG files with extended the “customized icon” function of Astah. For example, the class having stereotype «Person» is represented with a human-shaped icon and classes having «Software System» are represented by blue or gray rectangles. The texts on the icons are just string objects introduced by the plugin. Therefore, if you move such an icon in a diagram, those strings do not move only by that action. You can see the following just after you move the icon of “Internet Banking System”.

Just after moving the icon of “Internet Banking System”

But using the “Refresh (based on model)” button provided by the C4 model plugin, the positions of the strings will be corrected as follows.

An image after using “Refresh (based on model)” button

This is because the plugin has information on the association between strings on an icon and the diagram element (i.e. the icon) of a class. The texts of the strings are also associated with the model element in an Astah project. For instance, an explanatory text for each class is representing the initial value of the attribute named “description” of that class.

As you have seen, although the behaviors seem strange, the visuals of C4 model are reproduced. You can also introduce new icons using the “customized icon” function of Astah as you need. For advanced modeling in C4 model as multiple-layered modeling techniques, please see the readme of C4model plugin github.

We hope you try the plugin and we will receive any feedbacks!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s