Many thanks to Jeff for the Workshop! (And surely I speak for all the other participants too.) A herculean effort from him once more, both in ambition and in achievement.
Also - speaking at least for myself who had not yet had the privilege - it was a special pleasure to meet Jeff and many others at last, after all those (for me) rewarding interactions for over a year. Thank you all.
It was so instructive too - for all of us I am sure - to observe at first hand what has long been clear from so much written evidence, namely, Jeff as a real Master of the Meeting, drawing people out and steering, gently, wisely, clearly, and synthesizing with such perspective.
Not being able to emulate such a performance, I have applied some slow but I hope quite thorough digestion after the meal and dare to share its results with you here. Of course, I leave it to you to decide whether what you get is the benefits or the by-product of digestion. (I would also much appreciate pointers to nourishment I seem particularly to have missed.)
* * *
We did not make it easy for Jeff, as we had together produced such an apparent mish-mash of papers. On the other hand, it was perhaps appropriate, considering the state of flux - and user chaos - in our chosen but elephantine field, with so many aspects being perceived or at least presented in greater or lesser isolation from most of the others. And as Jeff put it himself, most politely, we were at the numeric limit of useful workshop size too, or beyond it even...
But where does that leave us? I suspect we all have a certain feeling of frustration too, as the Workshop did not seem to produce any grand conclusion or even direction. But I do insist again that that is merely indicative of the current state of the field. And appropriately so, as it's that Complexity again (I enjoy pointing out how that word was the most appropriately neat title of Chapter 1 of Booch's OOA&D in 1991).
Thus that first assessment twists my observation into the terms of my long-favourite diagnostic patterns in the psychopathology of what we like to call rationality: "Scylla and Charybdis" yet again (For more on the metaphor find "Scylla" in my paper and follow the links, also to see how that image has been guiding me since 1966 ... and I believe largely correcting me, despite possible appearances to the contrary in contexts such as these partisan reflections which seem to me rather practically-relevant to my own project's purposes).
At first sight - as we are at least retrospectively forced to open our eyes - we have the Charybdian whirlpool of the complexity of the ever-changing needs and constraints. It is the equivalent of that ubiquitous metaphor of the many-aspected-elephant-in-the-land-of-the-blind (and please excuse, in what now follows, my oscillations between the two metaphors).
Most of us in one way or another drew attention to complexity, while some of us more explicitly tried to bring it out, particularly Nigel Phillips in the systemics and organizational context, Santanu Paul, Riné le Comte and Mike Beedle in the Workflow context, myself even in this Scylla-and-Charybdis perspective with its many manifestations, and of course Bruce Anderson with his appealing "innocence" in the face of it. There is really an undisputed background to all our endeavours ... and a fine start for "Riding The Mainstream".
Naturally, then (and sighing with relief that not all of us are would-be poets, tending so to wallow narcissistically in our own phenomena), we steer well clear of the whirlpool and, most practically, tend to follow that sound advice divinely given to Odysseus: "Hug Scylla's rock!"
So we veer in the direction of Scylla, the many-headed monster of oversimplification. We simplify, even though at great and inevitable danger.
But Wolfgang and Fred still have sure basic instincts, and with Metaset/MACK too the elephant we can most practically get to grips with is indeed deemed to have a Workflow shape, and it is hugged as such.
But after escaping Scylla, and despite dire warnings, Odysseus let his crew become too self-satisfied with apparently successful simplification. He was justly punished, and ended up with his crew lost and ship destroyed, being blown towards Charybdis. He managed however to cling to the figtree growing over the whirlpool, while his makeshift raft was sucked down into the vortex. Eventually he escaped and made it home. How? What is the real shape of the Homeric vehicle which we should emulate with our tools for helping us survive Charybdian change? Let's first take a closer look at some aspects of that Charybdis of complexity and its various poor disguises in the form of established practice: the branches of the figtree from which it is even difficult to look down and see that whirlpool, but which are fixed, and no route to Odysseus' goal.
Francis has nonetheless most appropriately put his finger on the heart of the elephant, hidden but pulsing throughout the big beast's body, as it will do ever more strongly in the future: CSTs in the "network-centric business environment", that generalize into theoretically indefinite interconnectedness but with practical interactions, with all their emergent properties and entities. (Why - some have asked - have I been talking to Business Object people rather than to the OO Architecture elite? There you have a nicely-encapsulated answer.)
Santanu well reminded us of the pervasive asynchronicity of that network-of-autonomous-agents world. (That also corrects the impression of synchronicity that I might have created with the "pulsing heart" image!) We may further recall the common observation of how badly the conventional program-centric OO architectures cater for asynchronicity. Hence also my much-mentioned "relativistic realtime", so well accommodating the diversity that Santanu also called for.
Riné, pointing out that "Workflow management systems too have become more popular lately, especially with the renewed interest in business process re-engineering (BPR).", further observes that "A [...] shortcoming of [first-generation] workflow management systems is that those systems typically are implemented as a layer on top of existing applications, not at the heart of them. This approach gives rise to all kinds of integration problems." Well said, Riné! (When you say "Distribution [can be] implemented using RMI, Corba and DCOM.", I'll assume that you really mean just "implemented" and not "architected"...)
Workflow or activity-management is indeed not an add-on but must be the integrated driver and hence shaper of our applications. Harel's lengthy introduction to his talk - building on his state-roots, of course - just clamoured for an integrated treatment of behaviour. The systemic aspects should predominate over the narrow and distorting programming perspective. But the picture has long ceased to be that of an operating system running monolithic programs. Event-drivenness has transformed it. Cf. Alan Kay's great practical legacy but also Peter Wegner's theoretical picture.
The dynamic picture should also encompass the ad hoc varieties of interoperation, reuse-through-refinement, and version migration, all of whose provision is still so glaringly lacking from conventional architectures. Such qualities cannot emerge cleanly and reliably from the island-class basis of the classical object model that underlies Corba and Java etc. In MACK they derive nicely from the axiomatic conceptual structure. When in my latest paper I proclaimed a basis of "coherence and truth" it was more than a rhetorical trick: it described a logical and at the same time dynamic structure.
* * *
I must expand the scope of my comments to the whole OOPSLA conference, Jeff's Workshop last year and surrounding topical issues.
What about Java? I would call attention to my comments on Mark Baker's BO Workshop II paper, in which - a year ago now - I ventured this heretical prediction: "I expect that [Java's] evolution will get progressively slower and more ineffective from all the divergent tugs. Eventually the various more successful Java growth directions will be seen to be merely yet more limbs of the evolutionary tree (and, because of their degrees of success even in the face of complexity, problematic branches of the Charybdian figtree too!)" The Sun/Microsoft lawsuit with its underlying agendas has rather clinched my case. For more chaos look at the JOS (Java Operating System) effort. Read their mailing-list archive to appreciate it. Mere vibrancy rather than chaos? Rather it too illustrates that only imperialism will win if there is an inappropriate conceptual foundation. Find "Java" in many of my pages on Jeff's site to see various aspects of my dismissal of it as a Distributed Object Architecture. And one can surely take the interest in Squeak to mean that not everyone wants to fall under Java's sway anyway.
Doug Lea's excellent recent paper on "Design for Open Systems in Java" (in which Mark Baker had a hand) well highlights - though not necessarily meaning to do so - some of the many complications that procedural language object models bring as baggage in illustration of my usual diagnosis of the "confusion of algorithm time and real time". The "island class" of conventional OO cannot but imply an agglomeration of "algorithm islands", as that is what conventional encapsulation demands of it. But as complexity grows it is ever more impractical for such islands to be neatly unified into a coherent realtime. That viewpoint too demands some overarching yet integrated realtime manager such as what has conventionally been called a Workflow system. (Thank you, Mark Wilson - whom some of you may remember from last year as my "prematurely wise young friend" - for pointers such as to JOS and Doug Lea.)
Meanwhile Web+Java is still the hot fashion combo. Mark Baker this year told us about the planned HTML-to-XML evolution, but (Sorry Mark, you're just the unlucky one who seems to be the innocent bearer of news on the butts of my scorn!) it reminds me of RPG's evolution from a mere Report Program Generator into a would-be "all-purpose programming language", which worked, though not cleanly. XML will retrace that path. The market's momentum will give it much life, but I can't see how anyone but unconditional converts will like it for long, or that anyone will do it well. The Web medium has entirely the wrong shape and style. Document-centrism, like the classical object model, has an initial appeal but they are both Scyllan: they cannot scale up to meet ever more complex needs. The elephant is not made of skin and other parts so easily touched. And Java's uniqueness goes no deeper than the capillaries. We need a real Distributed Object Architecture (Neither RMI nor Javaspaces help it qualify: with either, autonomy with ad hoc interoperability and application adaptability remains difficult, limited and messy). A taxidermist is sui generis a fundamentally uninstructive modeller.
So, other than Sun, who are the Big Ones betting their futures on Java? Netscape and even IBM. Tilak's, and Isabelle's, Santanu's, Francis' and Bruce's attendance at the Workshop are hopefully some signs that their respective companies are perhaps not as head-over-heels in love with Java as their companies' more public stances seem to indicate.
Semantics and reflection at last!
Together that adds up to exciting evidence of an enormous current of conviction about the future. And I share its general direction. For once... Yes I can actually agree with a lot of people. After all, it's not for nothing I lay claim to delineating "The Mainstream" of past and future (though not prescriptively but offered as an abstracted basis for an optional generic tool... The Market - not I - will in effect declare MACK a standard).
Metaset is not "meta-" in an idle way. From my 1996 paper onwards I have claimed the most suitable and powerful reflectivity on the basis of MACK's so simple and general-purpose structure. (I could even point out - albeit rhetorically - that "set" could be the most elemental logical concept after 0 and 1. However, perhaps I should add that one central component of MACK's power resides in its own implicit representation of features of nth-order predicate calculus, nicely intuitive and even familiar though the MACK form is).
Meanwhile, XML, to the extent that it possibly gains ground before Metaset's release, will in fact greatly ease the eventual and enormous Web-to-MACK migration process.
In that 1996 paper I also answered the question as to the nature of the Homeric vehicle that eventually helped Odysseus survive Charybdis: his own bare mast and keel, interpreted as the abstracted concept of rigid logical structure propelled by systematically-sought and -supported creativity.
(A far-fetched interpretation? Well, Homer certainly meant the answer to be a weightily-significant one: in that scene of monster, tempest, shipwreck and whirlpool, consider the otherwise-incongruous metaphor he chooses for announcing the mast-and-keel resolution of Odysseus' predicament: "I stuck grimly on [to the figtree] until such time as [Charybdis] should spew me up my mast and keel once more. My hope was justified, though they came up very late, in fact not till the time when a judge with a long list of disputes to settle between obstinate litigants rises from court for his evening meal." And that is just one example of the entire allegory's painstakingly-knitted message of instruction.)
I can't resist recording my pleasure at Alan Kay's homage to Arthur Koestler's "The Act of Creation", as I had myself bought and devoured that book on its publication in 1964 (I had acknowledged my own debt to it in my 1996 BO Workshop paper). My colleagues can attest to my resulting insistence since the early Eighties that software needed a better concept of "context", and how I would in our brainstorming sessions write up on the whiteboard: "The meaning of a message is implicit in its context." (Though often I would more cautiously make it "largely implicit".) The inherent apparently-spontaneous though market-mode amalgamation of typologies is indeed frequently tantamount to "artificial creativity". Derived though it is by the interactions of supply and demand, it will often surprise both parties in that sense.
But am I not the imperialist now? My turn to be Procrustean? "The Mainstream" bully? With ultimately mutilating or impoverishing offerings?
No, as I said, there is no prescription. Even more significantly, the whole picture tightly integrates the market as the prime instrument for democracy as well as all that activity-design and management, the building and testing of invention, and the refinement of human truth. And there is no Orwellian "newspeak" here: the Metaset Boot Product and very soon its market-created derivatives will help support and nurture those freedom processes as few mere artifices have done before. They will help people draw appropriate attention to complexity, and show how simple views can be made of it. They will lead to and promote practical products and projects of all kinds. "Activity design and management" again. All human artifices are merely provisional, but our actions are real enough, and more free in an improved marketplace.
All future CASE will be integrated into that market by the market itself, maybe following the pointers that way in Metaset. Watch UML do a lot of slimming! And watch the increasingly popular ontology myth (KIF-based or otherwise) - and similar attempted representational divorces such as in RM-ODP - fade away as that integration takes place, with our expressions of supply and demand moving so much closer together, and the market itself systematically casting doubt on the match. MACK does not follow a "market metaphor" or other metaphor-invited hence desperate oversimplifying split between knowledge and its mechanically-interpretable representations. MACK- compliant and interoperating products from everywhere will be the market, or rather the market toolset that its human supply and demand will regard as the marketplace. We shall nonetheless shape our own simplified and congenial worlds, thanks to the easily tunable MACK notion of "relativity" (with its implicit facets such as relevant simplicity and natural security).
That demands reuse and interoperation and migration such as provided by the MACK typology, a strictly-defined, multi-type and enormously variable-granularity entity. The typology's intrinsic yet outgoing and naturally self-stabilizing recombinability will so well mediate and promote the interaction that people expect between autonomous and highly independent-minded yet practically-interdependent users of all kinds.
* * *
But I really can't expect you to see how all that could be true, while I still "skate around the black hole I am preserving in the middle of my published specifications." ("So you're trying to suck everybody into your black hole?" my accountant teased me the other day. I had to retort: "Ah, but it's black holes that make the universe go round.")
No, I don't think I am succeeding in conveying the reality of the massive yet compact centre of MACK's internals by merely pointing to all the circumstantial evidence, despite what I see to be the vast and compelling coherence of it all, and its practical but still unrevealed effect.
Worse still, I am reluctant at this stage to tie together all the leads that the Workshop and OOPSLA have given me as to how to present MACK itself, for fear that I might now do it too well and unduly clarify the still-intended opacity!
So I have eventually decided to stop pushing my "sooner and better" tactic described in the background document to the "OMG finds true love" allegory. I am stopping trying to sell my project while Metaset is still so incomplete. It is still for sale, in the step-by-step way set out in that background document, and for the reasons also given here in the allegory (In a nutshell, it has always been my plan to become primarily a user of the universal medium it will help create).
But if anyone is interested I will now be expecting a "buy" operation rather than a "sell". A "sooner and better" scenario could for example emerge when some well-informed though threatened company with the right kind of management resources concludes that it would do well to have an alternative or supplementary strategy. (I myself would of course look at it more positively...).
Meanwhile, I shall rather concentrate on my programming of the Metaset Boot Product (See my 1997 Workshop paper here for its definition). I shall also start getting all these and related arguments into the far more easily accessible form that the shared use of the Metaset medium will enable (as it will, of course, help people simplify its own kind of complexity too...).
Thank you all for your many insights. And for listening to me.
Warmest regards, and till BO Workshop IV at the latest!