More metamodel stuff
Over the past few weeks and months I’ve been hammering away at ideas for metamodels (or metametamodels) for enterprise architecture, with the longer-term aim of triggering development of an Open Source-style enterprise architecture toolset. So I’ve taken some time off in the past week to sit down and document where it’s got to so far. The result is now up on one of my ‘spare’ wikis under the ‘OpenFutures’ banner – see http://ea.openfutures.org/OsEATools .
The section on metametamodel design, starting at http://ea.openfutures.org/MetaModel , will, I admit, probably only make sense to a few dozen people in the whole world at best (if anyone… 🙁 ). Reason is not only that it’s horribly technical and applicable to a very specific field of interest, but it’s also too incomplete to be usable as-is, it’s in text form only when it urgently needs some descriptive graphics (my apologies, but I couldn’t find any way to do them…), it assumes an underlying layer (OMG MOF) that relatively few people would know, and it is, well, still a Tom-tangle of useful ideas and probably-impenetrable assumptions… Oh well. But it’s there, anyway.
The ‘examples‘ section, starting at http://ea.openfutures.org/MetaExamples , is probably (possibly?) a bit more accessible, since in effect it focusses on how to make Zachman usable with real whole-of-enterprise variants of better-known metamodels such as ArchiMate and TOGAF. Mapping ArchiMate and the new TOGAF 9 ‘Content Metamodel’ helps to highlight what’s missing from those metamodels, and what the impacts are as we move out from a simplistic IT-centric ‘enterprise architecture’ to a true whole-of-enterprise scope; it also highlights what needs to be in scope as we move out from clean-up and strategy (steps 2 and 3 in the “Doing Enterprise Architecture” sequence – the only types of architecture work covered in TOGAF) and start to tackle real-world real-time constraints (step 4) and the real ‘nasties’ such as social-complexity ‘wicked-problems’ (step 5) and beyond. The aim in particular is to identify ‘substitutability’ – what can be substituted for what else, in architectural redesign for the enterprise.
As I say, it’s there for anyone who wants to peruse it (though if you’re working for a commercial organisation, please note the ‘legal bit‘ about copyright and the rest – this is intended as a shared Open Source resource, not merely yet another item for profit-based organisations to steal, as has happened to me too often in the past… 🙁 ).
Comments / suggestions / ideas most welcome, in an Open Source-type spirit. If you want to comment directly on that site, please ask for a username / password (email me, or post a comment here with your [hidden] email); otherwise just post comments to this post.
Many thanks, all.
Hi Tom,
I just had a read of this post. I was wondering how relevant the ideas are here to your latest thinking? Some of the ideas such as a means to produce modal logic seem aligned with your posts in the last few months. However in analysing the anatomy of ArchiMate you expressed a belief that OMG’s MOF wasn’t the best framework.
Strangely enough I’m one of those people who’s interest is piqued by this post.
Cheers,
Anthony
Back again…
I’ve just been thinking that your metamodel could be used at two different levels:
1. M3 = MOF M2 = Enterprise-architecture metamodel M1 = architecture model M0 = real world
The benefits of this are your intentions to eliminate as many constraints as possible, while still leaving a well-formed model with a repository and modal logic. However it will be difficult for most people to model in as it is a higher level of abstraction.
Alternative
2. M4 = MOF M3 = Enterprise-architecture metamodel M2 = A more restrictive metamodel M1 = Model M0 = Real world
This would allow people to model a more restrictive framework with some more concrete rules. This doesn’t conform to your original intentions, but would help people who aren’t able to think in the higher level of abstraction.
An implementation like this would be similar to the dual nature of SPEM, which can be implemented as either a metamodel or a UML profile.