Essential Project–Open Source EA Metamodel
One thing that often occurs when a team sets out to create an EA tool is that they create a metamodel that will be supported within the tool. As I pointed out in my last post, I would like to openly challenge tool makers to allow multiple simultaneous metamodels to exist, so that organizations can answer questions from multiple focused perspectives. In my opinion, this challenge will be quite difficult to realize.
I’ve been looking at some of the public documentation for various EA tools in order to see the metamodels that they support. This provides some insight into the level of difficulty of this challenge. Along the way, I’m also becoming reacquainted with some things that I’ve seen before (like a long discussion of the Troux metamodel that I got from an EA conference a few years ago, and the detailed understanding of the alfabet metamodel that I have first-hand experience with, as well as some exposure to the Aris metamodel from IDS SHEER).
I also ran across an open source metamodel that is part of the open source Essential project – a project to create an open source EA tool. (Personally, I think that open source EA tools are a good idea, but I think the business model that will ultimately win out is a cloud-based model that allows rapid deployment of an instance of an EA tool. Open source may not be the best way to deliver that business… but that’s a future post.)
The thing that I’d like to call attention to is the detailed open source metamodel that has been produced by the Essential team. Why is it interesting? Perhaps because the metamodel is open source but not community developed! In other words, I’ve seen no public discussion of this model and I cannot see any relationship between this model and those that have been discussed in public. Why would I adopt an EA tool that allows one model at a time, yet is based on a model that I’ve had no insight into how it was made or what problems it was designed to solve? Seems fairly backwards to me.
That said, the team that developed this model has done some very good work, and I recommend it to others for understanding and engagement.
My biggest concern, before I take the time to really jump in, is that the model seems to have been created in PowerPoint. That makes for some very difficult model analysis, which may mean that there are hidden defects in the model that are difficult to detect. That doesn’t mean that defects exist… just that I’ve not found that PPT is a good environment for generating metamodels due to the difficulty of debugging the model. [Correction: the model is produced in an OWL tool. The metamodel visualizations on their web site are probably just that: visualizations for the sake of consumption -- NM, corrected 1-4-2011]
Note that clicking on each of the images below will take you to the actual page on the Essential web site where the model originates. No point in duplicating that data on my blog.
Essential – Business Metamodel Elements | Essential – Application Metamodel Elements | |
Essential – Information Metamodel Elements | Essential – Technology Metamodel Elements |
Comments
Anonymous
January 03, 2011
The comment has been removedAnonymous
January 04, 2011
They appear to be doing exactly what I had written in my comment on your earlier post. Thanks Nick, for sharing this gem.Anonymous
January 04, 2011
Hi Sathish, My apologies... you are correct, they clearly use the OWL model to perform their modeling. The metamodel on the web site looks like it was created in PPT, but that is probably just to make it look good for publication. I'll fix the blog post. --- NickAnonymous
January 04, 2011
I've used that application meta-model as the basis for creating a meta-model for creating a documentation meta-model, tying together what is stored in Enterprise Architect (Sparx's tool) repository and what is stored in our document management system. So far it is working well.Anonymous
January 06, 2011
I am a member of the Essential Project Team and just wanted to clarify things with regard to the development of the meta model. The meta model within the Essential Project was developed, as was the tool, to support our work as EAs in various global organisations either when a tool was not available or when the available tool and meta model did not meet the needs of the organisation in question. We believe that the meta model is very comprehensive, but that it is also extensible and can be easily mapped to the concepts, activities and tools of the industry standard frameworks. You are right, therefore, that the initial development, although not by an individual, was within an organisation by a small group of EA experts. However, since the launch of Essential as an open source tool in March 2009 the meta model has been available for anyone in the community to suggest enhancements to, and input their specific requirements to those enhancements. We have launched the Essential Community Process (ECP) to manage this process and it is working very effectively. We have already released a number of ECPs, for example ECP 5 added Skills and their relationships to the Role Class, ECP 4 added support for Service Delivery and ECP 7 updated the Strategy Management piece, including managing architecture states and roadmapping. All of these have been community led and open to discussion and input from the community. If you would like to be involved full details of the meta model are available on the website and any enhancements or changes can be suggested, or those already ongoing contributed to, via the forums - [url=www.enterprise-architecture.org/.../viewforum.php Essential Project Forums[/url]Anonymous
January 12, 2011
I spent some time looking at this project. I did particularly like the idea of building a meta-model using OWL. (In effect OWL is itself a meta-meta-model.) The primary advantage is that is descriptive (a la Visio diagrams) reportable (a la directories and databases) and calculable (not sure anything else really is without a programmer). Ontology in particular allows the definition and encoding of commutable, transitive and inverse relationships between entities. So that (in abstract terms) I can say that if x implies y, and y implies z, the presence of z in my model indicates a z somewhere. Better one could actually encode four possible causes for z and the probabilities that pertain to each. That's a gross simplification, but using ontology as a data 'platform' supports analytical use-cases that are quite powerful at analysing cause and effect. (Provide the relationships defined are valid in the model's subject. The ability to compute inferences is something EA tools will need to provide. In the end, and under all the 'alignment' jargon EA is about better visibility of cause and effect, and more accurate prediction of consequences, in the behaviour of very complex system interactions. The drawback is like the mythical CMDB in service management. To effort required to achieve the 'magic' is usually not supported by any kind of cost-benefit equation. The visualisation 'tools' that protoge are pathetic from a presentation point of view. Visual documentation - important in EA - would still have to be done by hand to be of minimal professional quality. The meta model (not to be confused with the technology stack they have chosen) the project has developed is extensive, (for many possibly a little too so - does everyone need both a 'conceptual' and a 'logical' view. And I am, frankly a little 'over' meta-models. I find, for example, the verbosity and redundant vocabularies of TOGAF and Archimate annoy me intensely. (I have some training in linguistics and cognitive science and trust me, they are semantically ill-formed models.) But, lets face it, they are becoming the lingua franca of EA. I want to hit every person who uses impact when they should say effect, and just plain throttle those who utter impactful. But I know what they mean and that's all that really matters. I can't really see much point for the project's meta-model, though it's as good as any. It should be noted though that the archimate / TOGAF (not quite the same) meta-models can be built in the tools just as easily as the project's own model. What you loose however is the reporting logic they have built and bundled with tomcat. I think the project is a great fit for a team that is strong on information architecture (good XML and ontology design skill essential) and is, for whatever, reason budget conscious, who want an operable (reportable, computable) architecture data and artifact repository to support their practice. And having a viable open source alternative in the 'product space' will keep vendors on their toes and benefit the community as a whole. I wish them lots and lots of success.Anonymous
January 18, 2011
I work as part of the Essential Project and just wanted to clarify the position with regard to the development of the meta model. The meta model within the Essential project was developed, as was the tool, to support our work as EAs in various global organisations either when a tool was not available or when the available tool and meta model did not meet the needs of the organisation in question. We believe that the meta model is very comprehensive, but that it is also extensible and can be easily mapped to the concepts, activities and tools of the industry standard frameworks. You are right, therefore, that the initial development, although not by an individual, was within an organisation by a small group of EA experts. However, since the launch of Essential as an open source tool in March 2009 the meta model has been available for anyone in the community to suggest enhancements to, and input their specific requirements to those enhancements. We have launched the Essential Community Process (ECP) to manage this process and it is working very effectively. We have already launched a number of ECPs, for example ECP 5 added Skills and their relationships to the Role Class, ECP 4 added support for Service Delivery and ECP 7 updated the Strategy Management piece, including managing architecture states and roadmapping. All of these have been community led and the subject of discussion and input from the community. If you would like to be involved full details of the meta model are available on the website and any enhancements or changes can be suggested, or those already ongoing contributed to, via the forums - www.enterprise-architecture.org/.../viewforum.php