Metapattern Primer

Pieter Wisse

This is a primer on the metapattern, an approach to conceptual modeling of information. As such, it also serves as a legend, presenting the symbols of the metapattern modeling language. For an in-depth treatment, especially see Pieter Wisse’s source book Metapattern: context and time in information models (Addison-Wesley, 2001).

Let's start with the three most basic symbols you'll apply when modeling the metapattern way.



Basic symbols

The first of these is a thick line, usually drawn horizontally as follows:

This is the horizon. It establishes the boundary for the information services you're modeling.

The second basic symbol is a black dot, as shown below:

A black dot stands for an intermediary object. Its 'intermediary' nature will become clear later on in this Metapattern Primer. For now, consider it to represent what you believe is a straightforward object.

Formally, the horizon is an object, too, but with a special status. It is also called the nil object. Now don't let this formalization scare you out of exploring this Metapattern Primer. If you continue, it will all fall neatly into place informally, too.

A thin, unbroken line is the third basic symbol. It is introduced here in a vertical position, but in actual conceptual information models such lines may appear at any angle.

This line reflects a relationship.



Basic configurations

Now, one relationship binds two objects, as in the next figure.

At this point, the separate concept of context may be brought into the picture. However, what is essential for the metapattern is that context is actually expressed by objects and relationship(s).

What counts as context depends on the object taken for point of view.

So, the object A2 has the set {a2, A1} for its context.

A small example no doubt helps:

From this example, it should already be clear that the metapattern aims at multiple context. For the European Community is one out of many contexts for the Netherlands.

But let's first present another feature. Metapattern allows for mixing instance and type level modeling. At the type level, constraints on instances may be included. Information is often included on the number of instances that can occur (cardinality). Starting from the example above, the following abstractions are possible.

The abstraction in the model is limited to member states. The figure above indicates that the number of member states in the European Community ranges from zero to n.

The next abstraction targets the instance at the other end of the relationship. See how the European Community disappears, making room for the more general concept of supranational organization. The number of such organizations, too, ranges from zero to n. And the range of member states holds for each supranational organization (assuming here that no exceptions exist).

It's time to bring in the concept that this Metapattern Primer started with, i.e., the horizon.

Orientation at the horizon determines the relative order of context and object.

For example A1 is in the context of both A2 and A3, and not the other way around. The context of A1, for that matter, is {a1, H}.



Multiple context

But the horizon does more for conceptual modeling. Remember that a particular object may, and quite often does, appear in several contexts. Their orientation at the horizon helps to keep contexts sorted out.

Indeed, an object may appear in several contexts, with different progressions in context articulation possible.

In the figure above, one context of A3 is {a3, A2, a2, A1, a1, H} and its other context is {b2, B1 , b1, H}.

In fact, from the metapattern perspective an overall object such as A3 is considered as a set of separate contextual objects, in this case A3,1 and A3,2. This is shown below.

But doesn't this raise the problem of coordination? For, after all, aren't A3,1 and A3,2, say, parts of one and the same overall object A3?

A contextual object with a special status, called nil identity, is assumed to integrate all regular contextual objects. A thin, curved and broken line depicts the relationship between a regular contextual object and a nil identity. Being a contextual object, too, every nil identity is related to the horizon.

The nil identity A3,0 serves to connect the otherwise separate contextual objects A3,1 and A3,2 to form overall object A3.

Nil identities may be omitted from models, especially when one (regular) contextual object subsequently derives from another. Then, dotted lines only trace the secondary derivations.

Suppose A3,1 reflects something like the citizen identity of a person. (S)he needs to be a citizen first in order to count as a tax payer, too. With A3,2 as the person’s tax payer’s identity, the relationship maintaining integrity of the overall object A3 refers from A3,2 toward A3,1.



The whole point of conceptual modeling: unambiguous behaviors

Separate (regular) contextual identities serve to differentiate unambiguously between an object’s behaviors. The mechanism for differentiation is, of course, context. A particular contextual object’s behavioral specification is called its intext.

Often, behavioral decomposition may be fruitfully delayed. For example, the modeler is concentrating on getting the upper relationships and objects right. A text-balloon then indicates that, from a particular contextual object on, work is still required on detailing intext. So you can read from the next figure that your model is not yet complete.

Continuing with intext, there are three kinds of contextual objects for detailing it.

Uniquely original behavior is specified with a primitive. The simple rectangle is the symbol for primitives.

On the other hand, an element of intext may not be uniquely original, but implement another contextual object without any changes. Then it suffices to refer as directly as possible. Such a specification of behavior is specified with a pointer.

There are two kinds of pointers.

When the intext does not require further decomposition it is a primitive pointer. The simple rectangle encompassing an open circle symbolizes the primitive pointer.

The dot, already presented at the beginning of the Metapattern Primer, is applied when further decomposition is called for. That it also acts as an intermediary pointer may be deduced from the destination of the thin, curved and broken line departing from it. For then the contextual object is a derivation with the express purpose of fitting it with an intext different from the intext of the contextual object it refers to as a pointer.

Metapattern-based conceptual information models, with symbols taken from its small but powerful visual language, typically look like the — admittedly still abstract — example sketched below.

Please note that now all contextual objects are supplied with double indices.



Time, etc.

Integrated provisions for the temporal aspect of information are also modeled applying such metapattern symbols. Metapattern closely links the temporal with the existential aspect. An audit trail is similarly established throughout. See especially chapter 4, Time, of Metapattern: context and time in information models (Addison-Wesley, 2001).

With existence, time, audit trail, etcetera, treated in a universal manner, it is recommended they are not explicitly shown in conceptual information models. Provisions are possible at infrastructural level (and, indeed, available with KnitbITs).



Some symbols for short-hand notation

In metapattern-based conceptual information models, some configurations often reappear. With symbols at the level of such configurations, models still remain compact.

So far, two conceptual configurations have been identified for condensed symbolization.


The first conceptual configuration reflects a homogeneous hierarchy. An organization might be considered such a hierarchy, as it is built from organizational units.

Please note that the next figure only shows three derivation relationships, where all organizational nodes are actually derived from a corresponding organizational unit.


Introducing a symbol for a homogeneous hierarchy,

the next figure is synonymous with the figure presenting an extended view of organization.

Another common conceptual configuration is the so-called lateral, or Cartesian, product. A prominent example from the book Metapattern is the concept of position, configured from the concepts of person, organization, and function.

Please note that organization and function are already conceptual configurations in their own right, and appropriately symbolized.

Do you want to proceed to view sample conceptual information models? [in preparation ...]



Web edition 2001, Information Dynamics (Netherlands).