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.[1] EXPRESS provides a standardized information-modeling language used across product-data domains.[2]
Structural Signature¶
- A target system or object with multiple relevant facets.
- A general-purpose modeling language and normative metamodel.
- Generic constructs not tied to one domain ontology.
- Multiple diagram, view, or schema forms.
- Syntax and semantics shared across applications.
- Rules for well-formed models and cross-view consistency.
- Tooling for authoring, exchange, validation, or transformation.
- Profiles, stereotypes, libraries, or conventions for specialization.
- Explicit modeling purpose and stakeholder viewpoint.
- A tradeoff between reuse breadth and domain semantic precision.
What It Is Not¶
It is not modeling without a purpose, a universal language for every phenomenon, or any use of a general-purpose programming language. It is not a domain-specific modeling language whose primitives directly name one field's entities and rules. A general-purpose notation does not guarantee that independently created models are mutually interpretable.
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.[3] Fowler contrasts general-purpose host languages with domain-specific languages optimized for narrower expressive tasks.[4]
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.
Examples¶
A team can use UML class, sequence, state-machine, and deployment views for one system while using the same language family for a different sector. EXPRESS schemas can model different product-data domains through a common language and exchange infrastructure.
If nearly every generic element requires a sector-specific stereotype and custom validation, a domain-specific language may yield a clearer, safer model.
Structural Tensions¶
- Cross-domain reuse versus domain fidelity.
- Shared tooling versus semantic ambiguity.
- Flexible profiles versus profile fragmentation.
- Multiple views versus cross-view consistency.
- Modeling breadth versus analyzability.
Structural–Framed Character¶
Broad grammar reuse and explicit specialization are structural. Metamodels, diagrams, profiles, model exchange, and model-driven toolchains are constitutive. The identity is domain-specific.
Structural Core vs. Domain Accent¶
The structural core is generic grammar -> multiple views -> domain binding -> consistency audit. The domain accent is software and systems modeling languages.
Instantiates / Related Primes¶
Representation is the proposed immediate parent. Abstraction, Standardization, Viewpoint, and Mapping are related primes. Specification Language and UML diagram types are domain-specific neighbors.
The prospective queue contains one strict edge to prime:representation. No live DAG mutation is authorized.
Relationships to Other Abstractions¶
Current abstraction General-Purpose Modeling Domain-specific
Parents (1) — more general patterns this builds on
-
General-Purpose Modeling is a kind of Representation Prime
Representation is the proposed immediate parent.Abstraction, Standardization, Viewpoint, and Mapping are related primes. Specification Language and UML diagram types are domain-specific neighbors. The prospective queue contains one strict edge to
prime:representation. No live DAG mutation is authorized.
Hierarchy path (1) — routes to 1 parentless root
- General-Purpose Modeling → Representation → Abstraction
Neighborhood in Abstraction Space¶
General-Purpose Modeling sits in a sparse region of the domain-specific corpus (93rd percentile for distinctiveness): few abstractions share its structure, so a faithful description tends to retrieve it precisely.
Family — Unclustered & Miscellaneous (1565 abstractions)
Nearest neighbors
- ISO 19439 Enterprise-Modelling Framework — 0.80
- Metamodeling — 0.79
- UML Profile — 0.79
- Data Model — 0.78
- Model transformation language — 0.76
Computed from structural-signature embeddings · 2026-09-08
Not to Be Confused With¶
- General-purpose programming language.
- Domain-specific modeling language.
- Specification language in every use.
- Model-driven engineering as the wider toolchain.
- One diagram treated as the whole system.
- A claim of domain-neutral semantics.
References¶
[1] Object Management Group, OMG Unified Modeling Language, Version 2.5.1, formal/2017-12-05 (2017). registry ↩
[2] ISO, ISO 10303-11:2004, Industrial Automation Systems and Integration—Product Data Representation and Exchange—Part 11: EXPRESS Language Reference Manual. registry ↩
[3] ISO/IEC/IEEE, 42010:2011, Systems and Software Engineering—Architecture Description. registry ↩
[4] Martin Fowler, Domain-Specific Languages (Addison-Wesley, 2010). registry ↩