Domain Model Elements
SimpleModeling uses the following fundamental elements to construct domain models.
-
Entity
-
Value
-
Data Type
-
Powertype
-
Service
-
Event
-
Rule
-
Component
-
Subsystem
SimpleModeling captures the structure of the real world using these modeling elements.

When it is necessary to explicitly indicate that a model element belongs to a domain model, we prefix it with "Domain", such as "Domain Entity". However, when the context is already within domain modeling, we refer to elements simply as "Entity", without the "Domain" prefix.
Classifier
In UML, class-like model elements within models are called classifiers.
The following model elements are classified as types of classifiers:
-
Class
-
DataType
-
Powertype
-
Component
We will discuss classes later; here, we explain the model elements that fall directly under classifiers, excluding classes.
Note that classifiers appear in this article for classification purposes of domain components, but they are rarely used directly in domain modeling itself.
Domain DataType
Domain data types are data types defined within a domain model.
These data types are defined by extending the basic data types provided in Profile : Base DataType with domain-specific constraints and semantics.
Examples: EmailAddress, PostalCode
Domain Powertype
Domain powertypes are powertypes defined within a domain model.
A powertype is a model element that represents the classification of a class.
It serves a similar purpose to traditional classification codes.
In implementation, powertypes are often represented using enum types.
Examples: CustomerType, ProductCategory
Domain Component
A domain component represents a functional unit within a domain model.
It encapsulates multiple entities and services, forming a reusable structural unit.
Domain SubSystem
A subsystem is a type of component that encapsulates a domain area with a clear responsibility across the entire application.
Examples: Billing Subsystem, Inventory Management Subsystem # Domain Class
In UML, a class is one type of classifier and provides the general characteristics of a class.
In SimpleModeling, the following are the main classes that serve as elements of a domain model.
-
Domain Entity
-
Domain Value
-
Domain Rule
-
Domain Service
Domain Entity
A domain entity is an entity object that forms part of the domain model.
It is a persistently existing object, recorded in databases and surviving beyond the lifecycle of software execution.
In SimpleModeling, domain entities are classified into the following four types:
-
Domain Resource
-
Domain Task
-
Domain Actor
-
Domain Role
Domain Resource
A domain resource is an entity object that represents information about "resources" required for software operation.
- Nature
-
Static (master data)
- Creation Timing
-
Registered before or during stable system operation
- Primary Purpose
-
Definition and reference of information
- Persistence
-
Referenced for long periods and rarely modified
- State Transition
-
No state changes during normal operation
- Relationship
-
Referenced by other entities (being referenced)
- Deletion / Modification
-
Rarely deleted, limited modifications (with history tracking)
- Application UI
-
UI for reference and selection is needed
- Representative Examples
-
Customer, Product, Warehouse, Department
Domain Task
A domain task is an entity object that represents information about "actions" during software operation.
- Nature
-
Dynamic (transaction data)
- Creation Timing
-
Generated sequentially during business operations
- Primary Purpose
-
Execution and recording of business operations
- Persistence
-
Persisted but generally immutable after completion
- State Transition
-
Has explicit state transitions (e.g., Draft → Confirmed → Completed)
- Relationship
-
Refers to other entities (uses resources)
- Deletion / Modification
-
Generally not modified after completion (for auditing)
- Application UI
-
UI for creation, editing, processing, and state transitions is needed
- Representative Examples
-
Order, Payment, Leave Request, Inquiry, Approval Request
Domain Value
A domain value is an immutable object that has no identifier and derives its meaning solely from its value.
Examples: Money, Address
Domain Event
A domain event models an event that occurs within the domain.
It captures business state changes and is used for notifications or event sourcing.
Examples: OrderConfirmed, InventoryChanged
Domain Rule
A domain rule is an object that encapsulates rules used within the domain.
It represents business logic, constraints, and other rules or decision criteria within the domain.
Domain Service
Represents procedural business logic that does not belong to a specific object.
It is applied to processes exposed outside subsystems/components or those that span multiple domain objects.
Examples: Invoice issuance, payment processing, bulk inventory adjustment
Domain Object
The term "domain object" narrowly refers to instances of domain classes, but in SimpleModeling, we use it in a broader sense to refer to all classifiers that make up a domain model, including both their definitions and instances.
Specifically, the following classifiers discussed in this article are considered domain objects:
-
Domain Entity
-
Domain Value
-
Domain Event
-
Domain Service
-
Domain Rule
-
Domain Data Type
-
Domain Powertype
-
Domain Actor
-
Domain Role
-
Domain Component
-
Domain Subsystem
State Machine
A state machine defines the transitions and control rules within the lifecycle of a domain object.
In particular, domain tasks and some entities have explicit state transitions to manage business progress.
Although not a classifier, the state machine is an important element for explicitly expressing domain model behavior.