Defining UML Family Members Using Prefaces
The Unified Modeling Language is extensible, and so can be regarded as a family of languages. Implicitly or explicitly, any particular UML model should be accompanied by a definition of the particular UML family member used for the model. The definition should cover syntactic and semantic issues. This paper proposes a mechanism for associating models with such definitions. Any particular definition would form what we call a preface. The name is intended to suggest that the definition of a particular UML family member must conceptually come before any model built using that family member. A preface would be large, and should be organised using packages. This would allow large amounts of sharing between different prefaces. The paper proposes that prefaces should have an axiomatic style of semantics, through not necessarily fully formal, and it offers a general approach to semantics that would reduce problems of inconsistency within a large preface, based on the idea of general cases and special cases
💡 Research Summary
The paper argues that the Unified Modeling Language (UML) should be viewed not as a single monolithic standard but as a family of related languages that can be extended, restricted, or otherwise customized for particular domains and projects. Consequently, every UML model ought to be accompanied by an explicit definition of the exact UML “family member” that was used to create it. To make this feasible, the authors introduce the concept of a preface—a meta‑definition that precedes any model and specifies both syntactic and semantic aspects of the chosen UML variant.
A preface is organized as a hierarchy of packages. The base package contains the core UML metamodel, the standard set of diagram types, and the default constraints that apply to all UML models. Domain‑specific packages extend or specialize this core by adding new stereotypes, profile extensions, additional diagram‑layout rules, visual conventions, and domain‑specific semantic mappings. Because packages can be reused across different prefaces, large bodies of common knowledge need not be duplicated, and the effort required to create a new preface for a particular project is reduced to the addition of a relatively small set of specialized packages.
The authors deliberately avoid a fully formal semantics. Instead they propose an axiomatic style: a small set of fundamental axioms (e.g., “every class must have a unique identifier”, “associations are bidirectional unless explicitly marked otherwise”) is declared in the preface, and all other constraints are derived from these axioms. This approach provides a clear, human‑readable foundation while still allowing automated tools to check consistency against the axioms.
A central technical device is the general‑case / special‑case principle. General rules capture the default behavior of UML; special rules are allowed to override or narrow these defaults for a particular domain. For example, the generic UML metamodel imposes no multiplicity restriction on associations, but a medical‑device preface might introduce a special rule stating that “all patient‑record associations must be 1:1”. The special rule is explicitly marked as a refinement of the general rule, and verification tools can therefore detect conflicts where a special rule unintentionally contradicts a more fundamental axiom.
The workflow envisioned by the authors is as follows: a modeler selects or assembles a preface that matches the target domain, then declares the chosen preface in the model’s metadata (e.g., an XMI header or a separate manifest file). When the model is opened in a supporting UML tool, the tool loads the preface, applies its syntactic constraints (allowed diagram types, permissible stereotypes, etc.), and runs semantic checks based on the axioms and derived constraints. Errors are reported in three categories: violations of general rules, violations of special rules, and inconsistencies between general and special rules. This process is more thorough than the current UML “profile” mechanism, which mainly governs stereotypes and tagged values but does not provide a systematic way to enforce domain‑specific semantics.
The paper highlights several advantages. First, reuse: common packages can be shared across many prefaces, reducing duplication of effort. Second, flexibility: new special rules can be added or existing ones overridden without rewriting the entire definition, enabling rapid adaptation to evolving business requirements. Third, consistency management: the axiomatic foundation and the explicit general‑case/special‑case hierarchy give a systematic method for detecting and resolving contradictions in large, complex prefaces.
Nevertheless, the authors acknowledge limitations. A preface that grows to cover an entire enterprise can become difficult to maintain, and current UML tools lack native support for loading and interpreting prefaces. Moreover, because the semantics are axiomatic rather than fully formal, automated theorem‑proving or model‑checking is limited to what can be expressed in the underlying constraint language (typically OCL). The authors therefore propose future work on dedicated preface editors, integration with formal verification engines (e.g., SMT solvers), and a staged approach to formalization that begins with axioms and gradually adds provable theorems.
In conclusion, the paper presents a compelling vision of UML as an extensible language family and offers a concrete mechanism—prefaces organized by packages, governed by axioms, and refined through general‑case/special‑case relationships—to make the exact variant of UML used in a model explicit, reusable, and verifiable. Realizing this vision will require tool support and possibly a deeper formalization of the axioms, but the proposed framework lays a solid conceptual foundation for more disciplined, domain‑aware UML modeling.