General-Purpose Modeling¶
Represent multiple kinds of system structure and behavior through a reusable modeling language whose metamodel is intentionally broader than any one application domain.
Core Idea¶
General-purpose modeling uses a broadly reusable modeling language to represent several facets and many classes of systems instead of baking one application domain's concepts into the language. A general-purpose language supplies generic constructs—class, component, activity, state, relationship, constraint—and expects a modeler to configure, profile, or combine them for the subject at hand.
UML is explicitly standardized as a general-purpose visual modeling language for specifying and documenting systems. EXPRESS provides a standardized information-modeling language used across product-data domains.
How would you explain it like I'm…
Build-Anything Blocks
One Language, Many Systems
Domain-Neutral Modeling Languages
Scope of Application¶
The practice appears in software and systems architecture, product-data exchange, enterprise modeling, business processes, and model-driven engineering. ISO/IEC/IEEE 42010 makes architecture description explicitly viewpoint- and concern-relative, preventing one general notation from being mistaken for one complete model. Fowler contrasts general-purpose host languages with domain-specific languages optimized for narrower expressive tasks.
Clarity¶
Name the modeling language and version, metamodel, viewpoints, intended analyses, semantic interpretation, conformance level, profiles, exchange format, and consistency obligations. State which target properties are deliberately omitted.
Manages Complexity¶
One shared language reduces the number of notations a team must integrate and lets tools reuse parsers, repositories, transformations, and interchange formats. The cost is semantic distance: generic constructs often require conventions or profiles before domain experts can read them reliably.
Abstract Reasoning¶
- Identify stakeholders, questions, and system boundary.
- Select a general-purpose language with adequate construct coverage.
- Choose viewpoints and model kinds for each concern.
- Bind target entities to generic metamodel elements.
- Add profiles or constraints only where semantics remain unambiguous.
- Maintain traceability and consistency across views.
- Run analyses supported by the declared semantics.
- Reassess whether repeated specialization warrants a domain-specific language.
Knowledge Transfer¶
The portable pattern is reuse a broad representational grammar across domains, then make each specialization and semantic loss explicit. It transfers to general-purpose data schemas. The proposed immediate parent is Representation.
Relationships to Other Abstractions¶
Current abstraction General-Purpose Modeling Domain-specific
Parents (1) — outgoing typed relations
-
General-Purpose Modeling is a kind of Representation Prime
Representation is the broader abstraction this entry instantiates.
Hierarchy path (1) — routes to 1 parentless root
- General-Purpose Modeling → is a kind of Representation → presupposes Abstraction
Neighborhood in Abstraction Space¶
General-Purpose Modeling sits in a sparse region of the domain-specific corpus (95th percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Unclustered & Miscellaneous (2769 abstractions)
Nearest neighbors
- Formal Model — 0.79
- Metamodeling — 0.79
- UML Profile — 0.79
- Data Model — 0.78
- Executable UML — 0.78
Computed from structural-signature embeddings · 2026-10-25