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]
How would you explain it like I'm…
Build-Anything Blocks
One Language, Many Systems
Domain-Neutral Modeling Languages
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¶
This entry is a kind of Representation.
Representation is the broader abstraction this entry instantiates. Abstraction, Standardization, Viewpoint, and Mapping are related primes. Specification Language and UML diagram types are domain-specific neighbors.
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.Abstraction, Standardization, Viewpoint, and Mapping are related primes. Specification Language and UML diagram types are domain-specific neighbors.
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
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 ↩ Show verification details
Supported in partVerified against the work's full text
The UML spec's scope states it is a standardized modeling language for analysis, design and implementation of software systems and business processes, but not in the words 'general-purpose' or 'documenting'.
“The objective of UML is to provide system architects, software engineers, and software developers with tools for analysis, design, and implementation of software-based systems as well as for modeling business and similar processes.”
[2] ISO, ISO 10303-11:2004, Industrial Automation Systems and Integration—Product Data Representation and Exchange—Part 11: EXPRESS Language Reference Manual.not authoritative registry ↩
[3] ISO/IEC/IEEE, 42010:2011, Systems and Software Engineering—Architecture Description.not authoritative registry ↩
[4] Martin Fowler, Domain-Specific Languages (Addison-Wesley, 2010). registry ↩