Modeling Technology System
Software engineering offers many useful technologies, including GoF, PEAA, DDD (Domain-Driven Design), CQRS, and Knowledge Graphs. Collecting and classifying them alone, however, does not determine what to use, when to use it, or how to connect it to executable software.
SimpleModeling organizes modeling technologies around constituent Models, purpose-specific modeling, and the realization path rather than around individual technology names. Object, Knowledge, and Literate Modeling maintain the three constituents; Domain, Use Case, and Application Modeling organize those constituents for particular purposes; and Model Realization connects approved Models to implementation and execution. This is not a technology catalog, but a methodological framework that defines dependencies and usage among technologies.
This article explains the design decisions established by this Modeling Technology System, the relationship in which one Domain region overlaps Object, Knowledge, and Literate Models to form a Domain Model View, and its treatment of quality attributes.
Position in the Series
Part 1 explained that AI makes the Domain Model a working abstraction with a realization path to implementation, making modeling the new choke point of development. Part 2 examined how SimpleModeling has constructed a path from Knowledge to Executable Software through CML, Cozy, AI, and Textus.
Part 3 determines what is modeled along that path and where existing software-engineering technologies are placed. It defines the roles and dependencies of later Object, Knowledge, and Literate Modeling, the purpose-specific Domain, Use Case, and Application Modeling activities, and Model Realization.
Previous article: 📄 What SimpleModeling Has Pursued
Knowledge System and Methodology
Organizing existing technologies and defining a development approach are different activities.
| Knowledge System | Software Development Methodology | |
|---|---|---|
Purpose |
Collects, organizes, and classifies existing knowledge and technologies. |
Selects technologies to adopt and defines a concrete development approach. |
Decisions |
Leaves technology selection to the user. |
Establishes important design decisions, technology roles, and usage. |
Guidance |
Provides a map for understanding technologies. |
Provides guidance for practitioners carrying out design and development. |
SimpleModeling is a Software Development Methodology. Rather than covering every technology in a knowledge system, it selects technologies needed for modeling-centered development and defines their roles and realization path.
The relationship from a Knowledge System to a Methodology therefore is not a sequence of four equal stages—collect, organize, select, and practice. The Knowledge System supplies candidate technologies and a map for understanding them; the Methodology decides what to adopt, what role to assign, and how to use it. A Development Process then defines how a project operates the transformations and decisions established by the Methodology. Separating process styles such as Agile, Iterative, and Staged from the Methodology itself allows the same methodology to be applied across different projects.
Domain Model Composition
Earlier SimpleModeling treated a Domain Model as part of an Object Model. The current Domain Model, which also uses Knowledge Modeling and a Literate Model, does not bundle three whole models. In the diagram, Object, Knowledge, and Literate Models appear as three adjacent ellipses, with one Domain region overlaid at their center. Its overlap with the Object Model contributes formal structure; the overlap with the Knowledge Model contributes knowledge structure and evidence; and the overlap with the Literate Model contributes natural-language context, intent, and free-form structure. Reading these overlaps as one View of the problem domain according to purpose and concern yields the Domain Model.
Application Model Composition
An Application Model is likewise not a fourth constituent. It is a purpose-specific Model that organizes the elements required from the Object, Knowledge, and Literate Models according to the Purpose and Concerns of realizing a Use Case through participants, responsibilities, Collaborations, Interactions, state transitions, Events, Services, and Operations.
Application Modeling constructs a Use Case Realization Model from a Use Case Scenario in the Literate Model. A Collaboration describes the structure of participants, Roles, and responsibilities, while an Interaction provides a concrete execution example. Their mappings lead to StateMachines, Events, Services, and Operations, and the executable portion connects to CML. This semantic construction and review constitute Application Modeling; the subsequent path from CML to programs and an execution foundation is Model Realization.
Glossary as the Connection Point
The overlaps between one Domain region and the Object, Knowledge, and Literate Models represent concepts from the same problem domain in different forms. If concept meaning or identity diverges across the overlaps, they cannot be read as one Domain Model View.
The Glossary manages term names, meanings, boundaries, synonyms, and identifiers. By mapping concepts appearing in each overlap to shared terms, it connects concept identity and meaning across formal structures, knowledge structures, and literate narratives. The infographic depicts the Glossary as a ring rather than an arrow or a later process step because this connection surrounds the three overlaps simultaneously and keeps them coherent as one View.
The three models, their overlaps with the Domain region, and their connection through the Glossary are not established once in a fixed order. Omissions and contradictions found while structuring objects, organizing knowledge, explaining through documents, or concretizing execution are returned to the Glossary and each model, and the View is iteratively updated against its purpose and concern.
| 2D Element | Meaning |
|---|---|
Three adjacent ellipses |
Represent the whole Object, Knowledge, and Literate Models. They are neither interchangeable boxes nor process steps traversed in sequence. |
One overlaid Domain ellipse |
Represents one scope of concern for the problem domain spanning the three models. It does not represent three separate "Domain parts" that are merged afterward. |
Three mixed-color overlaps |
Show each model’s contribution: formal structure, knowledge structure and evidence, and context and intent. |
Glossary ring |
Connects concept identity and meaning across the three overlaps. |
Center of the composition |
Is read as the Domain Model: one View of the problem domain shaped by purpose and concern. |
Quality Attributes
Practical software requires not only business functions but also quality attributes such as Security, Observability, Performance, Resiliency, and Availability. Quality attributes are not assigned to one particular Model. They are cross-cutting design concerns examined against requirements and constraints identified in the Object, Knowledge, Literate, Domain, and Application Models.
In SimpleModeling, Domain Logic and application-specific policies are application responsibilities, while common mechanisms such as authentication, instrumentation, failure handling, and execution control are primarily Textus responsibilities. Instead of repeatedly implementing the same mechanisms in every application, the model clarifies the required quality levels and specific constraints, while the execution platform provides the common parts of their realization.
Through this separation, modeling extends beyond functional descriptions and connects to software that can be operated in practice. Later articles examine how individual quality attributes are modeled and realized through Textus.
Methodological Design Decisions
The Modeling Technology System does more than classify technologies. It establishes the following design decisions adopted by SimpleModeling.
| Decision | Meaning |
|---|---|
Modeling is central |
Software models become the primary subject designed by people, and the Domain Model is treated as a working abstraction of the problem domain. |
Define modeling roles |
Positions Object, Knowledge, and Literate Modeling around the three constituents; Domain, Use Case, and Application Modeling around purpose-specific applied Models; and Model Realization around the connection from approved Models to executable artifacts. |
Connect models through terminology |
Uses a Glossary ring to manage the meaning and identity of concepts appearing in the overlaps between the Domain region and the Object, Knowledge, and Literate Models. |
Separate Methodology from Process |
The Methodology selects needed technologies and defines roles, usage, and the transformation system. A Development Process applies that system in practice through styles such as Agile, Iterative, or Staged. |
Select technologies by role |
Selects technologies according to modeling subject and purpose rather than fashion or completeness. |
Give models structure |
Uses a metamodel of objects, types, constraints, functions, and CML to make models interpretable by people, AI, and tools. |
Treat quality attributes as cross-cutting concerns |
Separates functions from quality attributes and clarifies the responsibilities of application-specific requirements and common mechanisms provided by Textus. |
Connect abstraction to realization |
Connects models to executable software through Cozy, AI, and Textus rather than leaving them as documentation. |
Positioning Existing Technologies
Software engineering provides many existing technologies with different subjects and purposes. SimpleModeling does not build its methodology by starting from one particular technology. It first establishes a framework of model composition, roles, dependencies, and a realization path, and then selects and positions the supporting technologies needed by each part of that framework.
For example, GoF and PEAA support responsibility and Collaboration design in Object Modeling, while DDD supports problem-domain concepts and boundaries in Domain Modeling. Use Case Realization, Interaction, and StateMachines map scenarios to dynamic structures in Application Modeling. CQRS and Saga are positioned at the boundary between Application Modeling and Model Realization, separating model meaning from implementation technique. Knowledge Graphs and RDF structure knowledge referenced by generative AI in Knowledge Modeling.
A technology may contribute to more than one role. The important point is not to lock each technology into one box, but to state which part of which model it supports and for what purpose.
From Models to Realization
Defining model roles and relationships is not enough if models remain separated from implementation. Within the Domain Model View, SimpleModeling expresses the formal structure contributed by the overlap between the Domain region and the Object Model in CML as a machine-processable structure. Cozy transforms CML into executable software, AI fills implementation gaps that Cozy cannot transform completely, and Textus runs the resulting software.
Software Models
↓ Structured as CML
CML
↓ Cozy Transformation + AI Completion
Executable Software
↓ Runs on Textus
Execution
A Domain Model View formed from the overlaps of one Domain region with the Object, Knowledge, and Literate Models determines what must be clarified on the abstraction side. CML, Cozy, AI, and Textus connect structures formalized through the overlap with the Object Model to implementation and execution. The Modeling Technology System places this 2D model composition and the single realization path within one methodology.
This connection also includes the realization of quality attributes. Applications retain Domain Logic and their specific requirements, while Textus provides mechanisms for quality attributes shared across applications. This incorporates the operational qualities required in the path from models to executable software.
What This Framework Defines
This article does not define the detailed techniques of each area. It defines the classification principle shared by the methodology, the responsibility of each area, the viewpoint for selecting technologies, and the connection to the realization path.
A Model is not Reality itself; it is constructed as a View according to Purpose and Concern. The next article covers this theory as View-Based Modeling. Later articles examine the Object, Knowledge, and Literate constituents, followed by Domain, Use Case, and Application Modeling and Model Realization.
SimpleModeling’s Position
SimpleModeling does not redefine every technology from scratch. It selects existing software engineering technologies as components needed for modeling-centered development and places them within model roles, dependencies, and a realization path.
This system makes it possible to understand what a technology is meant to clarify and where it belongs in development before studying every detail. Practitioners can use Textus tools and frameworks while building actual systems and learn the background and details of each technology through that work.
Next
The Modeling Technology System has organized the relationship in which one Domain region overlaps the Object, Knowledge, and Literate Models, while a Glossary ring connects the mixed-color overlaps so that they can be read as one Domain Model View according to purpose and concern. It has not yet explained the common principle for selecting information from the same subject and deciding what scope to represent as a model.
References
Glossary
- Domain-Driven Design (DDD)
-
Domain-Driven Design is a set of principles, patterns, and practices for understanding a complex problem domain through a Domain Model and connecting business meaning with software design through Ubiquitous Language, Bounded Contexts, Aggregates, and related concepts.
- Model
-
A Model is an abstraction that represents a subject according to a particular Purpose and Concern so that it can be understood, reasoned about, evaluated, or constructed. It is not the subject itself; it preserves the elements, relationships, and meanings required for its purpose.
- Literate Modeling
-
Undefined
- Realization
-
Undefined
- Object
-
An Object is an Instance classified by a Class or another Classifier and may have structure, State, and Behavior. It is treated as an individual that can be referred to separately from other Instances of the same Classifier.
- Application Modeling
-
Application Modeling is the activity of concretizing Use Cases as application behavior and constructing an Application Model. It clarifies the mappings from Use Case Scenarios to participants, Roles, responsibilities, Collaborations, Interactions, state transitions, Events, Services, and Operations.
- Use Case
-
In UML, a Use Case is a Model Element that specifies a set of Actions performed by a subject to yield an observable result of value to an Actor or other stakeholder.
- SimpleModeling
-
SimpleModeling is a modeling-centered software development methodology and technology system for constructing a Domain Model from Knowledge, formalizing it in CML, realizing it as executable software through Cozy and AI, and running it on Textus.
- Modeling Technology System
-
Undefined
- View
-
A View is a representation that projects selected parts of a Model according to a particular Purpose and Concern so they can be understood, reasoned about, evaluated, or used. A View presents part of a Model and does not own meaning independently of the source Model.
- Knowledge Modeling
-
Undefined
- Domain Modeling
-
Undefined
- Use Case Modeling
-
Use Case Modeling is the activity of constructing a Use Case Model of user and external-party intent toward a system using Actors, Goals, Use Cases, Scenarios, and Outcomes.
- Object Model
-
Undefined
- Quality Attribute
-
A Quality Attribute is a characteristic that expresses the degree of quality with which software satisfies requirements in addition to performing its functions. Examples include Security, Performance, Availability, Reliability, Resilience, Observability, and Maintainability.
- Literate Model
-
Undefined
- Glossary
-
A Glossary is a knowledge resource that manages the names, meanings, boundaries, synonyms, and identifiers of terms used in a subject domain. It provides a common foundation for participants to use the same terms with the same meanings.
- CML (Cozy Modeling Language)
-
CML (Cozy Modeling Language) is the SimpleModeling formal modeling language for describing the Executable Model portion of an Object Model that connects to program generation and execution.
- Cozy
-
Cozy is the SimpleModeling toolchain that analyzes Models expressed in CML and other DSLs and transforms them into realization artifacts such as programs, configuration, and documentation.
- Textus
-
Textus is the runtime foundation for operating software realized through SimpleModeling. It provides execution, operational, and integration mechanisms shared by applications.
- Software Development Methodology
-
A Software Development Methodology is a coherent system of models, model transformations, technologies, design principles, and decision rules used in software development. It defines what is modeled, how models are constructed, and how they are connected to executable software. In general usage, a Software Development Methodology may also include a Development Process. SimpleModeling separates the Methodology that defines models and model transformations from the Development Process that operates it in practical development.
- Development Process
-
Undefined
- Collaboration
-
In UML, a Collaboration is a Classifier describing a structure of participant Roles that perform specialized functions and collectively accomplish desired functionality.
- Event
-
In UML, an Event describes an occurrence that may arise during the execution of Behavior. Receiving an Event occurrence may trigger Behavior such as a Transition in a StateMachine.
- Responsibility
-
A Responsibility is an obligation stating what an Object or Role must know, decide, perform, or protect. It assigns ownership of rules and Behavior, not merely structural information.
- Operation
-
In UML, an Operation is a Behavioral Feature of a Classifier that specifies the name, type, Parameters, and Constraints for invoking associated Behavior. The Operation specifies an invocation contract, while a Method or another Behavior realizes it.
- Use Case Scenario
-
Undefined
- Interaction
-
Undefined
- StateMachine
-
In UML, a StateMachine is a Behavior that expresses the event-driven Behavior of a system element by traversing a graph of States through Transitions triggered by Event occurrences.
- Identity
-
Identity is the sameness by which a subject is distinguished from others and tracked as the same subject over time even when its values or State change. An Identifier is a value that represents or refers to Identity; it is not the Identity itself.
- Identifier
-
An Identifier is a value used to refer to a subject with Identity or to a correlation subject and distinguish it from others. An Identifier may represent Identity, but it is not itself the meaning by which the subject remains the same over time.
- Security
-
Security is the quality of protecting information and functions according to legitimate authority and preventing unauthorized disclosure, use, modification, destruction, or repudiation. It includes Concerns such as Confidentiality, Integrity, Authenticity, and Accountability.
- Constraint
-
In UML, a Constraint is a condition or restriction expressed in natural language or a machine-readable language to declare part of the Semantics of one or more Model Elements. Its evaluation yields a Boolean value and has no side effects.
- Performance
-
Performance is the quality by which a system satisfies timing requirements such as processing time, response time, Throughput, and capacity under specified conditions and resources.
- Execution Control
-
Undefined
- Type
-
Undefined
- RDF
-
A W3C-standardized data model that represents information as subject–predicate–object triples.
- Activity
-
A concrete action or task performed within an Activity Space to move an Alpha to a more advanced state, typically producing or refining Work Products.
