Notes on metapattern, part 1

Pieter Wisse

These notes are excerpts, taken from my email correspondence during the years 2002 to 2005.



As a method for information modeling, metapattern secures the conceptual foundation for a new generation of practical information technology products and services. KnitbITs is the platform for development, deployment and operations.

Integrating information processing is not simple. Then, logical atomism at the traditional object level is not unambiguous enough. Examples abound of integration projects where I find it easy to predict massive failure, precisely because conceptual complexity remains unrecognized.

At first, there only seemed a demand for an additional tool. As difficulties kept manifesting themselves, it turned into a requirement for an innovative technology. Next, the demand arose for a richer theory. See also Innovation dynamics across theory, technology and tool.

Metapattern is a fundamental innovation. It encompasses relational theory, network theory, and object and aspect orientation. It helps to establish a new level of controlled integration because of its recursive concept of context combined with pervasive temporal differentiation.
In metapattern, context is an unambiguous variable (recursive: a function of relationship and object identity), which is the key (because object identities can be linked across contexts) to theoretically unlimited scope, practical compactness, flexibility, etcetera.

Metapattern/KnitbITs holds two time variables. One controls the structure according to which the information is handled. The other time variable controls values for the information itself. Integrating both structural variety and instance variety at the operational level provides two additional orders of flexibility.

My idea of structure amounts to an information model that is static at every particular point in time. Each and every node, say, includes a temporal indication. In other words, time is (re)present(ed) pervasively. This way, dynamics are added to what basically is a static orientation. And it is the closest I can so far imagine to practically cater for contextual time. Applying metapattern allows you to register just any time, that is, future temporal indications included. In fact, the temporal indication just 'sits' in the information system. It is the process of comparing it with the reading of the system's clock that determines whether the node is about the past, present or future. In this sense, starting from a node valid at a future point in time, the present sort of glides past it. As a time technology, I think it is practical. And we've already proven the concept.

Metapattern already offers a solid solution for problems that haven’t even been identified yet under the label of the ‘semantic web’ programme.

Developments in digital technology (open interconnection) challenge us to change to a richer paradigm for information modeling.

In view of increasing scope for information services, infrastructural capabilities beyond what is now known as the semantic web are compelling. Metapattern delivers the flexibility, based especially on a formalism for multiple context and time, for profiting from global interconnection.

You may start your orientation at metapattern and KnitbITs from www.informationdynamics.nl, especially under the heading of ‘metapattern,’ and subsequently ‘publications.’
More publications are available from www.wisse.cc (there, choose ‘English-language texts, only’).

Leaving temporal variety aside for the moment, you should be able to quickly grasp how metapattern departs in terms of modeling behavioral variety when you consult my paper The ontological atom of behaviour.

Another introduction is Metapattern: information modeling as enneadic dynamics. It guides the reader through a simplified case, comparing the multicontextual approach to both entity-attribute-relationship modeling and object orientation.

The basic introduction to metapattern remains part I of my book Metapattern: context and time in information models (Addison-Wesley, 2001). See also my paper The pattern of metapattern.

I wrote the first version of the paper on the multicontextual paradigm in 1991. It was the time that development of Java — albeit under a different name — got started. You should therefore not be surprised that you don't find any mention of Java-related developments. I based my understanding on concepts of Smalltalk, at the time the proverbial OO language.
I am not a software engineer. You might see me as a conceptual modeler, i.e. paving the way for software engineers to do their job of actual construction. In my design capacity — I believe that especially in the USA design and analysis are confused — I found conceptual approaches lacking. The paper Multicontextual paradigm for object behavior is my earliest attempt to accommodate pluriformity of behavior. Accommodate it in conceptual information models, that is.
My approach has matured over the years; I now call it metapattern. I've written several papers and a book about metapattern (context and time in information models). See www.wisse.cc for my publications. Our business website is www.informationdynamics.nl.
KnitbITs is metapattern's implementation. Martijn Houtman developed KnitbITs for our company Information Dynamics. Metapattern/KnitbITs lets you do different things, i.e. develop more complex information systems with integration of pluriform behavior as simply as possible.

Metapattern: context and time in information models treats the pervasive modeling of time in sufficient detail. In my papers, etcetera, I've tended to abstract from temporal variety, i.e. concentrating on my concept of context. For conceptually, I believe the control of contextual variety is the really crucial innovation.

The context is the type. I would say that's what it boils down to. Then, the contextualized/partial identities are held together by the object's nil identity.

I don't pretend to have written the final word on formalizing context (and time), at all. I believe we're all just starting to experience a direction for new, much-needed solutions. In the successor book Semiosis & Sign Exchange (Information Dynamics, 2002), I've tried to create a foundation, or philosophy, for it.

Metapattern implies a rigorous method for dealing with — the modeling of — perspective.

I concentrate on necessary and sufficient structure in the ontological sense (otherwise the efforts at the 'layer' of technological infrastructure would be even more daunting).

Metapattern is a revolutionary paradigm for information modeling, providing the conceptual foundation for information management as the essential ingredient of 4891 — Project iDNA. Metapattern is enhanced by an operational platform, KnitbITs. As it should with iDNA, it can be implemented in a radically distributed fashion, resulting in MiDNA.

With great interest, I have studied your Data Reference Model (DRM). I am particularly interested in its development and application of the concept of context for adding precision to data elements.
Could you please relay my message to the appropriate expert(s) within your Office so that I might enter into a correspondence about control of multiple contexts when a variety of information resources is gathered in an all-encompassing system (such as the Internet now exemplifies)?
In the Netherlands, activities on e-government are coordinated by the Ministry of the Interior. ICTU is the agency involved in executing several, what you would probably call, federal e-government policies. With different scales of operations reflecting our respective countries, yet the scope of ICTU might be compared to FEAPMO's.
With ICTU, I work for the Dutch enterprise architecture programme. One of the reasons I was engaged as a consultant — at least, I hope it was :-) — is my work on "context and time in information models" which is also the subtitle of my book 'Metapattern' (actually published in the USA). There, I present a formal approach to multiple contexts for information objects. Metapattern treats context as a variable, even as a recursive function of object and relationship. It results in a compact, highly flexible 'method' for designing, visualizing, implementing etc. information variety.
I believe a vital issue for e-government is precisely to unambiguously control information variety across the public domain (and not stopping at national boundaries) at the semantic level. I would therefore like to exchange professional views with experts who are facing the same challenge.[message to USA Federal Enterprise Architecture/Program Management Office, December 20, 2004]

I don't know about other countries, but in the Netherlands citizens are officially registered in a more or less 'centralized' information system. Subsequently, personal information taken from this Citizens Register should be (re-)used by all government agencies when dealing with a particular citizen. Such government-related interactions are widely diverse. That is, a wide variety of relations (if only you look at such variety relationally!). Now, based on metapattern it is of course possible to model such diversity unambiguously. It is what it was invented for.

About UML, it's probably a blind spot with me, but, conceptually, what is the point? I fail to see where and how it helps one to create/design — rather than document — conceptual structures. As for documentation, am I mistaken that UML doesn't take one beyond 'traditional' OO? And my whole point is that such OO is lacking 'requisite variety.' Enter context.

I suppose the critical issue concerns the scope. How wide is the horizon across which information should be unambiguous? Traditional, say, context-less OO is sufficient in smaller domains, i.e., where we don't run into difficulties with day-to-day language use. Another dimension to consider is flexibility (and therefore modularity).

Getting information technology to work optimally comes down to creating a balance between — what used to be called — data and process. My inclination is to apply a data-perspective and then also accommodate processes-as-data.
Metapattern goes a long way toward establishing a balance. Still, it starts from data, subsequently treating process declarations as data, too. I have practical reasons for my preference as my primary interest lies with optimizing/synthesizing data collections (for government processes, business processes, etc.).

Even while the functional approach to information processing corresponds to giving priority to process, metapattern holds potential for providing additional structure for such a tool-kit. For functional building blocks require a kind of bill of materials, too, i.e. a structure which directs how they should be dynamically configured so as to constitute an instance of a process.

The confrontation with a down-to-earth information requirement is a great catalyst, provided you don't lose sight of the benefits of abstraction.

Metapattern supports the designer's art to the extent that a. (s)he doesn't have to worry about temporal differentiation and b. behavioral differentiation can be modeled unambiguously, that is contextually. With KnitbITs, those additional degrees of freedom are available in working software. The development of KnitbITs was greatly helped — and it still is — by a dual focus. I apologize for the contradiction. What I mean is that we are not just working from a theoretical specification. We are always pursuing the solution of a practical problem. The actual problem is taken as representative for the theoretical objective, too. Along the way, our concepts may change. We're getting more mileage all around from approaching the development in terms of separate, feasible laps. We're happy to conclude a lap. From wherever it has brought us, we plan the next, etcetera.
An important consideration is getting potential customers interested in our prototypes. It hasn't been very successful yet, but commercially it's the best approach I can think of.
I'd also like to mention a feature answering the need to assimilate the world's dynamics. Metapattern/KnitbITs allows you to prescribe what the organization of the information is. With context and time added, of course it doesn't work using a traditional data dictionary. Anyway, let me call it the metainformation. What we've done is to include temporal variation at both the level of information and the level of metainformation. You'll appreciate it can take you a lot further when you're also empowered to change, not a particular part, but the structure of the parts. With variable metainformation, too, design is seamlessly supported. I emphasize that such support does not cover the art aspect of design. You have to decide on new metainformation without any 'artificial intelligence' supplied by KnitbITs. Whatever design you decide upon is subsequently 'administered,' thereby governing information system's behavior as the temporal details indicate.

Metapattern combines on a single surface particularity (extension) and generality (intension).

The aspect of time is increasingly gaining recognition but regretfully from a predominantly technical orientation, with relational database as the dominating technology. Rigorously combining time with context yields a different, and of course in my view, a far more advantageous result.



2002-2005, web edition 2006 © Pieter Wisse