Skip to main content

Model elements

Introduction

Model elements are the fundamental building blocks used to represent different parts of software architecture. Following the principles of C4 methodology, they can be classified into actors, systems, containers, and components. By organizing architecture into distinct model elements, architects can create a shared understanding of the system's structure and dependencies.

Model elements are represented as cards in diagrams.

Overview

This page provides you with an overview of all model elements within the project:

  • Actors
  • Systems, can contain one or more...
  • Containers, can contain one or more...
  • Components
  • Groups (for thematic grouping of elements)

The table can be viewed as a tree table, visualizing the dependencies between containers and their respective system, as well as between components and their respective containers; or as a plain data table. You can find the button to switch between these views on the right side of the table toolbar, next to the Create model element button.

You can view the details of a model element by clicking on the respective row within the table or using the table row action Show details. This opens a second column to the right of the table where the following information can be accessed:

  • Details: Master data of the model element (see also Create a model element); all writable fields are editable here as well.
  • Usages: Displays where the model element is already in use. This can be Diagrams and/or Groups to which the element has been added, as well as Systems (for Containers) or Containers (for Components), if the element is already part of a system/container.
  • Relationships: This tab comprises all Incoming and Outgoing relationships to other model elements of the project. In a diagram, these relationships are visualized as arrows between model element cards.
  • Loop: Here, you can find links and connections to other parts of the project.

Additionally, you can find the following actions in the overflow menu of the details:

  • Share model element: This open a dialog where you can copy the model element's URL or share it directly via email.
  • Create new project: Directly create a new service project based on the information that has been given. Only available for containers.
  • Open spotlight: Opens the Spotlight view of this model element where you can see all incoming and outgoing relationships of the element, regardless of diagrams.
  • Delete model element (see Delete a model element below)

Connect model element to architectural decision

In the Loop tab of the details, you can link a model element to a specific decision within your project. Just click on the Add decision capability and select the decisions you want to connect to the model element.

Create a model element

Model elements that have been created within the diagram modeling tool (see Diagrams) are automatically displayed within the model elements overview. Additionally, it is possible to create new model elements from the Model elements overview page. These model elements are then also available in the diagram modeling tool.

To create a new model element, use the Create capability to the right of the table tool bar.

Model elements are defined using the following master data:

  • Type: Choose the type of the model element (Actor, System, Container, or Component; required)
  • Label: The name of the model element (required)
  • File name: Unique identifier for the model element that is used in the repository to where it is saved. If not specified by the user, the Label is used as a base for the File name (required)
  • Domain: Business domain to which the model element belongs (optional)
  • Scope: A model element can be marked as Internal or External for further differentiation. Only available for Actors and Systems (required)
  • Container type: A Container can be classified as Application or Datastore. This option is not available for other model element types (required)
  • Summary: A short summary of the element that will also be displayed in the cards within a diagram (optional)
  • Description: This is a longer description of the model element and its role within the diagram (optional)
  • Tags: To tag the model element (optional)
  • Icon: Name of the icon used on the model element card in the diagram(s). If not specified, the standard icon for the respective model element type will be used (optional)
❗️info

Groups can only be created within the modeling tool, since they thematically group elements independently from systems or containers.

Edit a model element

All editable fields can be directly edited within the details view of a model element. You can view the details of a model element by clicking on the respective row within the table or using the table row action Open details. This opens a second column to the right of the table where all information can be accessed and changed.

Delete a model element

The capability to delete a model element can be found in overflow menu at the end of each table row, as well as in the overflow menu of the details section of each model element.

warning

You can only delete a model element if it is not in use, i.e. if it not yet contains other model elements. You will need to confirm the action before the selected model element is permanently deleted.