OOPSLA'98 OOPSLA'98 Business Object Workshop IV

"Ride The Mainstream!" with MACK Business Objects

(and escape the Divine Programmer Syndrome)

Christopher Spottiswoode
15 October 1998 (minor updates 27 October, more particularly to Part 2)

A trio of introductions sets the scene, each with its own rough focus: the needs, the technology, and the resulting market niche. The paper's main business follows.

Blue skies above The Mainstream

The Mainstream consists of many currents, of groups of individuals with common objectives. Responding to problems and opportunities, the groups interweave in constantly changing patterns, creating history and accumulating knowledge. The phenomenon has always been there. But it is more readily discernible in more complex societies, where everyone lives through many and continually varying groups, formal or informal, distinct or overlapping, purposefully intent or blissfully unaware. It is a wonderful river with many creative sources and practical energies.

Better boosted by mediating technologies, it will be ever more remarkable.

MACK is the proposed standard "Metaset Architecture for Common Knowledge", where Metaset™ is a conformant program currently being developed towards full groupware.

Good groupware is both the product and the facilitator of due commonality and standards.

Full groupware includes both developer and user facilities, combined as a market infrastructure. It mediates groups such as supplier organizations, market segments, and communities of the two together, both within and between the groups. Thus it can facilitate the addressing of virtually any problem or opportunity, whether commercial or not.

The creativity of the individual is made real when others appreciate and adopt it as their own. The very process makes fertile ground for further creation. Marketing is in cycles sparked by individuals but powered by groups. The Mainstream is an immensity of synergy.

In software and other information products, the full, open and dynamic market, with its quasi-independent agents on both supply-side and demand-side, if it is to build most productively on the achievements of others, must support and cultivate high component reuse and fluent application interoperation.

In Jeff Sutherland's concise recent words, an essential basis for reuse is "A common UI, architecture, data model, object model, component model, development process, use of common patterns, and common tools".

MACK is the provisional architecture with the models, while Metaset, though in an initially small and "seed" or "bootstrapping" way, targets the rest.

Metaset will also illustrate and teach MACK, in far more demand-driven or user-context-related ways than through the drone and haze of this classically supply-driven web page.

Metaset requires only basic operating system, windowing and standard Internet transport-level communications facilities, together with some simple use of a plain procedural language with compiler. All of them are already widely in place. So as a self-contained product serving both sides of the market, Metaset will be able to function effectively in the short term without any immediate regard for alternative software or knowledge standards.

Thus with Metaset as a seed product, a product-development toolset and a communication medium facilitating the activities of groups, the market will naturally and quickly grow an ever fuller range of compliant software and other knowledge products, in due course addressing all Internet-based distributed computing and information preparation, dissemination and transactional needs.

Such a bootstrapping or chain-reaction process is the inexorable formula for exponential growth. The oxygen of the needs and the hydrogen of people's compassion and creativity are together a virtually inexhaustible fuel. The only essential constraints, after the still-difficult ignition process, are on a relatively distant horizon, so colossal is the scope for better Information Technologies. The sigmoid natural growth curve thus has ample room for a phase as explosive as the market wishes it to be.

You the reader could well help launch it into that phase in the short term.

If the skies remain blue, and unless the market prefers some alternative, the openly-evolving MACK might well graduate into "The Mainstream Architecture for Common Knowledge", ever more synergetically stimulating both the demand and the supply sides of the market, each in its own appropriate way, until it addresses the total market to the most inclusive extent that the excluded may wish.

It is that challenge of inclusivity that encourages the adoption of the provocative label, "The Mainstream". Though it here more fundamentally denotes a widely-practical projection of historical trends, in common usage it often has the most negative connotations of exclusivity or narrow-mindedness. The idea is to confront that inessential aspect in the most overt way, and thereby help focus the new technologies on the broader and more all-inclusive perspectives.

Somewhere during the ride, the open market will surely evolve further MACK-conformant products that will supersede all of Metaset. (Though few will notice and none will really care.)

Along the way too, the market will easily create compliant interfaces for legacy data and applications, until they are all assimilated into the evidently superior standards environment.

Thanks to MACK's general-purpose though simple yet historically-justified basis, Riding The Mainstream, with all aboard, will progressively eliminate the snares and tangles of artificial complications from computing and from everyone's lives. Yet it will still do better justice to the immense variety, fluidity and other complexities of human needs and selves.

It will surely contribute towards our joint approach to the various beckoning ineffabilities, for which we can never have common terms which convey rather than merely indicate. (How does one convey the experience of blueness to the congenitally blind? What is openness, compassion, forgiveness, grace, or peace of mind? What is wrong -- or right -- in a community, a nation's politics, a global dispensation, or genetic engineering? What is justice that the law cannot give it? What is responsibility, or leadership? Where is the golden mean between comfort and responsiveness, between serenity and initiative?) Even the "beyond groupware" world of the individual's inner and humanly-proper self often seems -- on the discernible surface -- to operate in groups, speaking through common concepts and striving towards sharable words and meanings.

That is not Utopia. It is The Mainstream, life where we are right now, all of us, merely using some simple technology that, together, we can quickly get going and take further.

HTML is dead. Long live the Web!

That "blue skies" scenario should materialize as Metaset/MACK is a uniquely coherent initial product of the simplest technology and the widest-ranging market research.

The simplicity makes it practical in the short term, even though it addresses one of the most enormous single needs that make universal sense right now.

The need, as expanded above in groupware terms, is for a far better basis for making the most of the Internet to help everyone formulate, jointly reconcile, refine and work practically towards their various objectives.

That makes it in everyone's clear interest to be part of the project. You the reader could well play some role, already, in making it happen. That is what really makes it practical.

It is practical further because it is extremely well situated in the present technological field.

Like Newton, we are standing on the shoulders of giants: the architects and builders of the Internet, e-mail, newsgroups, and the Web. Together, we shall see further because we shall clear the dense conceptual fog, the epistemological aspect of the Divine Programmer Syndrome and the mess it has made of distributed computing.

Meanwhile, HTML's creator is already superseding his initial product, the mere "HyperText Markup Language", with XML, the "eXtensible Markup Language", whose user-extensible semantics represents a leap up for the Web. MACK too is based on user-definable semantics.

The HTML markups say very little about what the document is saying. That is not very helpful. The context of the document and its details is too poorly set for the most relevant and accurate communication. Thus both XML and MACK better enable human-intelligible, machine-intelligible, and thereby even "intelligent" data, which can work for us in a congenial way, thanks to appropriate semantically-descriptive metadata.

XML is a seamless step up from HTML, while HTML support is easily added into a MACK-realization such as Metaset. In either case, therefore, migration to the better basis would be overwhelmingly attractive. So HTML may validly be regarded as dying, and considering past and future Web growth, that means dead (only a little bit like the then Mark Twain).

Now, the MACK semantic web is represented very differently from XML's. Started over 10 years ago, Metaset has always been intended as full groupware (even though the word did not then exist or was at least not current). Whereas HTML and XML are document-centric, that is, knowledge-endproduct-centric, MACK is fully knowledge-process-centric, as its groupware positioning implies and as we shall see at some length, even though that may appear a very fuzzy and fluid place to start. Seeing through the fog, however, has revealed some unique technological opportunities with wide-ranging impacts.

So, groupware "blue skies" beckoning, and taking to heart the words of Heinz Zemanek, a past president of IFIP, "An architect does not tell people how to live, he creates an environment in which people may live their own lives creatively", MACK lays diffident though confident claim to the role of appropriate successor to HTML as the architecture of choice for the future knowledge-based web of people.

The heading being derived from a royal context (The king is dead. Long live the king!), the claim indeed seems to show a rather royal hauteur towards XML and any other contenders. But XML in its present form is a mere start, and I think its marvellously-modest creator would agree. As far as I know, the web has never been as grandly targeted as MACK. The fog has long clouded everyone's view.

And what else in the lineage of related standards might be considered contenders, but that which the outsider is indicating as the best provisional outline and facilitator of The Mainstream?

MACK's fundamental simplicity is in striking contrast to the vain intricacies and inexplicable rigidities in ISO's RM-ODP, particularly as represented by its "five viewpoints", so this paper does not take that one seriously.

After first steps through the fog, MACK's simple basic representational structure is now set to supersede many other underlying architectures, most notably in OO and DBMS. (What a pity those technological tails ever got to wag the groupware dog, Dog being Man's best friend!)

MACK's overtaking of OO and DBMS standards cannot but have a far-reaching impact on all IT-application structuring and modelling. Here the standards quest would otherwise seem at present to be culminating in UML, the "Unified Modeling Language", which is in danger of being grasped by all and sundry (e.g. the OMG and Microsoft!) as a firm foundation for everything else.

Alternatively, it is the OMG's MOF (Meta Object Facility, Specification and Appendices) that is held to be the bible, even though it admits to many holes, for example in the areas of complex bindings, object identity, and evolution and versioning, all of which, mutatis mutandis, are well catered for by MACK.

A further major current in the development of IT standards is presently towards the "process" of system development. It was specifically omitted from UML (most understandably, under the foggy circumstances...) and is now represented by the OMG Process Working Group's "White Paper on Analysis & Design Process Engineering" of July this year (Draft, Version 1.0). An explicit objective is to facilitate the use of UML, though there is also much useful generic exploratory work in it, of the CBO (Common Business Object) variety.

But MACK's semantically-integrated groupware/OO/DBMS basis in a fully-supported market environment cannot fail to transform our joint approach to "process" too. As for the OMG's "UML for Business Objects" RFP of August this year (Draft, Version 1.0), well, that latest form of the OMG's long-running Business Object Architecture saga can only fade away too.

The present MACK focus on "Business Objects" in the groupware-boosted program-product market indicates the main thrust of the anticipated penetration of MACK into wider use. It characterizes the immediate contributions from most participants, and resulting benefits for them. It also highlights the practical activity-centredness of both MACK and Metaset

"Process" will return to its proper status as a mere facet of the natural functioning of the wider market, with every interested party participating as he or she sees fit, in evolving patterns, thereby also helping to make the whole thing work better.

The market niche as seen by this paper

The Internet-leveraging MACK-compliant groupware, the "New Web" or possibly the "MackWeb", as in due course comprehensively created by the open market, will form a new, open and non-proprietary marketing medium, initially mainly for the software and information industries, but progressively permeating the entire market.

During its early steps, the new architecture will be the basis for the widely-collaborative clearing up of the confusing mess in which computing at present finds itself.

The resolution itself is a merging of many historical currents, to the extent that there is a short and temptingly accurate comment on the whole story: "Clichés!" That is, after all, what one would expect from a phenomenon by the name of The Mainstream.

However, and especially with the various unique technological synergies, out in the market it will add up further to a revolutionary process with beneficial impacts across the entire spectrum of human life.

Together in the market, Riding The Mainstream, we shall better focus our joint momentum and thereby lead ourselves to more luxuriant and varied vistas than the consumerist desert that presently appears as the road ahead, where fine intentions of demand-empowerment dissipate in the shallows and seem to evaporate before commercial heat. (That was a sharp though sympathetic nudge in the ribs for Bill Gates, à propos the cover and contents of his book, The Road Ahead.)

The Mainstream will continue to show turbulence so the ride will be bumpy, but it will work out better because everybody will be able to contribute to where and how we ride it. Clearly, the resolution of conflict will be a major function, and MACK provides for people to work that out practically, in ways that are meaningful to each participant, at their own choice even down to the very very finest sharable detail of their computer-based activities.

But the specific niches of Metaset, MACK and the MackWeb medium will, by their very nature, remain remarkably impartial and neutral. The market itself, better reconciling supply and demand, will ensure the safeguarding, cultivation and evolution of that aspect. (That will include, of course, such tuning and regulation of the market mechanisms, whether computer-based or not, as the people in the market consider necessary.)

This paper describes and explains the computing mess as a result of the Divine Programmer Syndrome which underlies the seriously misguided Classical Object Model as the basis for a distributed computing architecture, itself the very substance of the OMG's present OMA, Microsoft's COM, Java's RMI, as well as their joint predecessor, the OSF DCE's RPC. All of them will of course be left behind by The Mainstream, along with the other mere dregs of history (pioneering and instructive though they certainly have been).

There are further mentions of how some other major architectures, UML, HTML/XML, SMTP and even the 3-tier application, are also victims of the same syndrome and powerless contributors to the mess, despite each one's own considerable virtues and enormous achievements.

Part 1 -- Complexity (The fog:  Problem and Opportunity) describes the syndrome and the mess, identifies the fog as misdirected complexity-hiding, then sets out the broad rationale behind MACK. That process offers many in-context opportunities to argue the credibility of MACK and its main present author, as the ambition of the still concretely-unproven project so obviously invites at least scepticism.

Part 2 -- Simplification (Clearing the fog:  Product and Project) gets down to some of the detail of the technical present and future, and sets out some alternative strategies for taking the whole process further. That is of course where you come in, possibly starting right now.

(Oh, hmmm, yes... The architecture will also -- almost incidentally -- result in the withering of Microsoft's dominance. That will be better for our industry and therefore for Microsoft itself:  a safe side bet with a quite plausible and very attractive outcome -- "rather a proportionately smaller slice of a far bigger and safer cake" -- could well be reason enough for them to choose to take part themselves, right away.)

We can make the project a partnership already, with many currents

It will be in the very nature of the new groupware medium for everyone to take part, each in his or her own self-made or self-chosen roles. Here I jump the gun by inviting some appropriate involvement sooner, even though we would still be without the needle-sharp help of the future groupware.

  1. You are hereby invited to help create a new standard IT architecture: join or initiate one or more software projects that will add ideas and practical impetus. That would better position yourself to:
  2. "Ride The Mainstream!" with the plain initial target of better meeting the innocent user's reasonable expectations of networked computing, and offering a very much more exciting ride further.

As set out in more detail in Part 2 -- Simplification (Clearing the fog:  Product and Project), the first step will start with these suggestions:

There is a more immediate invitation too.

This paper's three introductions certainly indicate an extraordinarily heavy message I have set out to convey, with two big challenges for me in it. One concerns the magnitude of the message itself, the other the credibility of its source. The bigger the opportunity held out in the message, the bigger the problems of your possible misunderstanding (or glazed eyes...) and my apparent lack of credibility. (Considering the alleged size of the opportunity, have you ever seen such a predicament? So this seems a good time to draw your attention to my first published words on the Metaset/MACK project, with their attempted preemption of the natural off-the-cuff conclusion.)

So, in the absence, as yet, of a nicely-demonstrable Metaset or other MACK-realization, the paper tackles both problems together, as (after many attempts at keeping them apart...) it seems to make the most coherent package. Coherence is ultimately the best antidote to the massive potential for confusion-driven rejection with which big proposals burden themselves.

So it seems appropriate to use a temporary stop-gap, which is to build up the picture of the product and bolster its credibility by telling something of its history. Though that largely revolves around some autobiography by MACK's present main author, it does help gradually piece together the product and its rationale, while also affording numerous most pertinent confirmations of the entire thesis.

Thus there will be three interwoven threads in Part 1: 

But despite the wider coherence and consistency, such convolution increases the confusion danger again, so this is my most immediate request for your help:  please help clear of the fog of my words so that the real program-architectural fog can receive better focused attention!

Any comments, questions or ideas would be most welcome. In future on-line material from me, whether Old Web or New Web, I will try hard to recognize all contributions that I can work into one or more neater versions. Or how about trying your own neatly coherent views? I would of course gladly link to them, and in due course ("real soon now" yet again...) MACK will foster such web-spinning in a more naturally-organized way than HTML does.

On the MackWeb, thanks to the very different MACK-enabled ways of constructing and representing views of documentary material, such history-tracing and recognition of multiple authorships will be much easier for authors, while for readers it will also be less intrusive yet more interestingly accessible. And for further authors it will be more reusable.

(That is already one aspect of how the MackWeb will stimulate both supply and demand. As will gradually transpire, a predominant feature will be extensive pattern-driven automatically-reflective reuse, with coherence-knitting from the intended readers' various and changing perspectives (and though that dense sentence is quite a mouthful, the MackWeb will make the reality of it most digestible.) (And so my asides and meta-asides stack up, in the still-continuing absence of Metaset. At least on a first reading, do skip over them!))

A further benefit of the autobiographical aspects will be that you may then better appreciate the present strengths and weaknesses of the entire product and project, the better to build on the strengths and correct the weaknesses.

Those aspects also function as a resume, a CV, to help you judge whether there might be a role for that individual in any MACK-related project for which you might soon be responsible. Part 2 takes such matters further.

A note on the structure of these pages

The entire paper is designed to be read from start to finish. The links are almost entirely of three kinds: external links, to other documents; internal forward links of the "table of contents" kind; and internal backward links to build up the coherence. That is, do not fear internal forward links which break the top-to-bottom flow, but after you have looked at the indicated coherences (and -- alas poor HTML! -- yourself detected the end of the related matter) "go back" to your original place in the thread...

We may now proceed to Part 1 -- Complexity (The fog:  Problem and Opportunity)