Open Modeling Language profiles
Default configuration
You can directly donwload the k5-oml.yaml for further customization. This file represents the included default configuration for OML.
Default profiles
Risks, Tech Debt & Health
Modeling profile for risks, technical debt, and quality - Everything that creates risks or reduces quality.
Download: a3-risks-techdebt-health-profile-1.0.0.yaml
Model elements
| Id | Name | Description |
|---|---|---|
a3.risk | Risk | A risk that encompasses architecture, security, performance, or integration risks |
a3.tech-debt-item | Tech Debt Item | A consciously incurred technical debt |
Relationships
| Id | Name | Description |
|---|---|---|
a3.affects | affects | Indicates that a risk or technical debt affects an element |
a3.mitigates | mitigates | Indicates that an element reduces or mitigates a risk |
a3.causes | causes | Indicates that an element causes a risk or creates technical debt |
a3.related-to | related to | Indicates a general relationship between risks or technical debt |
Basic Collaboration
Modeling profile for collaboration elements - Discussion Threads for collaborative conversations about architecture, design, and domain topics.
Download: basic-collaboration-profile-1.0.0.yaml
Model elements
| Id | Name | Description |
|---|---|---|
collaboration.discussion-thread | Discussion Thread | A collaborative discussion thread about architecture, design, or domain topics |
Relationships
| Id | Name | Description |
|---|---|---|
collaboration.discusses | discusses | Indicates that a discussion thread discusses a specific element |
collaboration.related-to | related to | Indicates a general relationship between discussion threads |
Basic Shapes
Basic geometric and document shapes for simple diagrams and visualizations.
Download: basic-shapes-profile-1.0.0.yaml
Diagram elements
| Id | Name | Description |
|---|---|---|
basic-shapes.arrowRectangle | Arrow rectangle | An arrow rectangle shape |
basic-shapes.rectangle | Rectangle | A rectangular shape |
basic-shapes.circle | Circle | A circular shape |
basic-shapes.triangle | Triangle | A triangular shape |
basic-shapes.diamond | Diamond | A diamond shape |
basic-shapes.document | Document | A document shape |
basic-shapes.folder | Folder | A folder shape |
basic-shapes.hexagon | Hexagon | A hexagonal shape |
basic-shapes.octagon | Octagon | An octagonal shape |
basic-shapes.star | Star | A star shape |
basic-shapes.calls | Calls | A calls shape |
basic-shapes.brackets | Brackets | A brackets shape |
basic-shapes.cylinder | Cylinder | A cylinder shape |
basic-shapes.parallelogram | Parallelogram | A parallelogram shape |
basic-shapes.pin | Pin | A pin shape |
basic-shapes.plus | Plus | A plus shape |
basic-shapes.roundRectangle | Round rectangle | A round rectangle shape |
basic-shapes.line | Line | A line shape |
basic-shapes.verticalLine | Vertical line | A vertical line shape |
Relationships
| Id | Name | Description |
|---|---|---|
basic-shapes.connects | connects | Connects a shape to another shape or element |
C4 Model
C4 Model profile for software architecture visualization at multiple levels of abstraction.
Download: c4-profile-1.0.0.yaml
Available diagrams
| Diagram | Description |
|---|---|
| C4 System Context Diagram (Level 1) | High-level view showing the system and its users |
| C4 Container Diagram (Level 2) | Shows the containers within a system and their relationships |
| C4 Component Diagram (Level 3) | Shows the components within a container and their relationships |
| C4 Deployment Diagram | Shows how containers are deployed onto infrastructure nodes within environments |
Model elements
| Id | Name | Description |
|---|---|---|
c4.person | Person | A person who uses the software system |
c4.system | System | A software system that delivers value to its users |
c4.container | Container | A deployable unit within a system that can run independently |
c4.database | Database | A database or data store used by containers |
c4.component | Component | A component within a container that groups related functionality |
c4.infrastructure-node | Infrastructure Node | A physical or virtual infrastructure node that hosts containers and other infrastructure nodes |
c4.deployment-node | Deployment Node | An infrastructure node that hosts containers and other deployment nodes |
c4.environment | Environment | A deployment environment that groups infrastructure nodes and containers |
Relationships
| Id | Name | Description |
|---|---|---|
c4.uses | uses | Indicates that one element uses another |
c4.deployed-on | hosts | Indicates that an infrastructure or deployment node hosts containers or other infrastructure nodes |
c4.contains | contains | Indicates that an element is contained within an environment |
Domain-Driven Design
Domain Driven Design (DDD) is a software development approach that focuses on modeling complex business domains.
Download: ddd-profile-1.0.0.yaml
Model elements
| Id | Name | Description |
|---|---|---|
ddd.aggregate | Aggregate | A domain aggregate that groups related entities and value objects |
ddd.entity | Entity | A domain entity with a unique identity |
ddd.value-object | ValueObject | A value object without identity, defined by its attributes |
ddd.command | Command | A command that triggers an action or process in the domain |
ddd.domain-service | Domain service | A domain service that performs domain operations |
ddd.business-event | Business event | A business event that represents something that happened in the domain |
ddd.business-error | Business error | A business error or exception in the domain |
Relationships
| Id | Name | Description |
|---|---|---|
ddd.extends | extends | Indicates that an element extends another element |
ddd.triggers | triggers | Indicates that one element triggers a business logic element (command or domain service) |
ddd.publishes | publishes | Indicates that a business logic element (command or domain service) publishes a business event |
ddd.throws | throws | Indicates that a business logic element (command or domain service) throws a business error |
ddd.contains | contains | Indicates that an element contains another element |
Implementation Design
Design and model the technical implementation details of your system, including classes, methods, services, integration patterns, and persistence structures.
Download: implementation-profile-1.0.0.yaml
Model elements
| Id | Name | Description |
|---|---|---|
implementation.service | Service | A service that implements business logic or technical functionality |
implementation.class | Class | A class that represents a data structure or component |
implementation.method | Method | A method or operation that performs a specific function |
implementation.rest-api | REST API | A REST API that provides or consumes web services |
implementation.rest-api-operation | REST operation | A REST API operation that defines an HTTP endpoint |
implementation.soap-api | SOAP API | A SOAP API that provides or consumes web services |
implementation.message-publisher | Message publisher | A component that publishes messages to a message broker |
implementation.message-listener | Message listener | A component that listens for and consumes messages from a message broker |
implementation.message-topic | Message topic | A message topic or queue that routes messages between publishers and listeners |
implementation.message | Message | A message that is sent between components via message brokers |
implementation.db-collection | DB collection | A database collection (NoSQL) that stores documents or records |
implementation.db-table | DB table | A database table (relational) that stores records |
Relationships
| Id | Name | Description |
|---|---|---|
implementation.extends | extends | Indicates that a class extends another class |
implementation.triggers | triggers | Indicates that one element triggers an implementation logic element (service, method, etc.) |
implementation.contains | contains | Indicates that an element contains another element |
Further profiles
Architecture Principles, Standards & Policies
Modeling profile for architecture principles, standards, and policies - Governance and compliance framework.
Download: a1-principles-standards-profile-1.0.0.yaml
Model elements
| Id | Name | Description |
|---|---|---|
a1.principle | Architecture Principle | A fundamental rule or guideline that guides architectural decisions |
a1.standard | Architecture Standard | A specific technical standard or specification that must be followed |
a1.policy | Architecture Policy | A mandatory rule or requirement that must be enforced |
Relationships
| Id | Name | Description |
|---|---|---|
a1.implements | implements | Indicates that a standard or policy implements a principle |
a1.enforces | enforces | Indicates that a policy enforces a standard |
a1.applies-to | applies to | Indicates that a principle, standard, or policy applies to an element |
a1.related-to | related to | Indicates a general relationship between principles, standards, or policies |
a1.conflicts-with | conflicts with | Indicates that principles, standards, or policies conflict with each other |
Event Storming
Event Storming is a technique to exploratively collect domain knowledge and process logic.
Download: event-storming-profile-1.0.0.yaml
Model elements
| Id | Name | Description |
|---|---|---|
event-storming.domain-event | Domain Event | A domain event that represents something that happened in the domain |
event-storming.read-view-model | Read-/View-Model | A read model or view model that represents a projection of domain events |
event-storming.system | System | A system that participates in the domain process |
event-storming.command | Command | A command that triggers an action or process |
event-storming.actor | Actor / User / Role | An actor, user, or role that participates in the domain process |
event-storming.problem | Problem | A problem or issue identified during event storming |
event-storming.policy | Policy | A business policy or rule that governs the domain process |
event-storming.aggregate | Aggregate | A domain aggregate that groups related domain events and commands |
event-storming.insight | Insight | An insight or learning discovered during event storming |
Relationships
This profile does not define relationship types.