This model provides classes for documenting (software) architectures. It is built on top of the Graph model The model can be used AS-IS or as a base for specialized models. C4 sub-package is an example of such a specialized model.

Internet Banking System Architecture (sources) is an example of AS-IS use and mapping of a Drawio diagram to this model to generate HTML documentation. The mapping process is explained in the Beyond Diagrams book.

The below diagram shows model elements and their relationships. Inherited relationships are not shown.

Architecture element is the base class for other model elements. It may have an icon, a name, documentation, and start/end. Start and end may be absolute or relative.

Undergoer interface is implemented by classes which can be acted/operated upon by actors in roles. Roles are defined at the undergoer level.

Architecture Description extends Architecture Element, Undergoer, and Documented Named Graph. It means that it may contain graph elements, including Architecture Description Elements. It may define actors.

Architecture Description Element extends Architecture Element, Undergoer, and Documented Named Graph Element, i.e. it can be an element of Architecture Description (as the name suggests) and other graphs.

Relationship extends Architecture Element, Undergoer, and Documented Named Connection. I.e. it may connect sources and targets, including relationship source and relationship target. Tunnel is a specialization of Relationship which can aggregate (group) other relationships.

Domain is both Architecture Description and Architecture Description Element. Domains can be used create a hierarchy of architecture descriptions, similar to file system directories.

Relationship source is an Architecture Description Element which can be a source of relationships. Relationship target is an Architecture Description Element which can be a target of relationships. Node is both relationship source and target.

Relationship source, target and Node have Composite flavors which are also domains, i.e. may contain Architecture Description Elements.

See Also