When people find out that we’re using Protege as a part of Essential Architecture Manager, a common question is whether we will, or why we don’t currently, use OWL.
OWL is an open-standard language from W3C for describing ontologies – the Web Ontology Language. This uses RDF (another XML language for describing resources that is often used to capture the contents of a repository) to store the Protege repository – both classes and individuals (as instances are known in Protege OWL).
There’s a lot of work currently going on in the OWL space, developing standard ontologies for particular domains, producing advanced reasoners to use the ontologies and so on.
The Protege Project is heavily involved in supporting these ontology initiatives and indeed, currently Protege 4 only supports OWL ontologies. I had some concerns about this but have been assured by the Protege Team that Protege Frames is still very much part of the Protege roadmap and the continued development of Protege 3 demonstrates this.
So, why not use OWL for Essential Architecture Manager?
This is a question we asked ourselves several years ago and we took some time to understand which approach best supported our requirements. The advice on the Protege Project website was a key part of making this decision – our requirements very neatly matched the description of the Frames-based ontology.
Some seem to contend that unless you are using OWL, you are not working on an ontology. This is not the case. It’s the semantics, the types (classes) of things, the actual things and the relationships between the classes and things that are what makes an ontology.
With Essential Architecture Manager, we are not trying to create a universal or standard ontology for the Enterprise Architecture of all organisations. Rather, by using Essential Architecture Manager, you are building an ontology about your organisation. We find it helpful to think about the Essential Meta Model as a partially-populated ontology, like the trunk and branches of a tree, and by modelling your enterprise in Essential, you are adding the leaves to the tree.
In this way, everyone who uses Essential is creating a different ontology. However, they are using the same language to build or complete that ontology. The Essential Meta Model provides a Domain Specific Language for Enterprise Architecture that users of Essential are able to use to build the ontology of their enterprise architecture.
Using the same DSL means that details of these ontologies can be shared, exchanged, reasoned on, etc. using a shared set of tools and shared semantics.
It’s the instances of the ontology that are specific to each ‘enterprise’ but the classes and types – the meta model – that are ‘standard’ across all Essential deployments.
We realise that many existing users of Protege are getting great benefits from using OWL but in addition to the better ‘fit’ of Frames to our knowledge base requirements, the simplicity and ease of use of Protege Frames is very important to the Essential Project.
By supplying an extensive class hierarchy in the Essential Meta Model, users of the Essential Project are somewhat different from many typical Protege users in that they do not need to start with Class modelling. Rather, they pick up the Class hierarchy and start creating instances. The Protege Forms make this very clear and straight-forward, so users are able to get on with ‘adding the leaves’ to the ontology. There is no need to know anything about ontologies or ontology development to use and get the benefits of Essential Architecture Manager.
This also means that we can clearly and easily separate the development of the Essential Meta Model class-hierarchy from the modelling activity – creating instances of those classes. Indeed, we normally hide the Classes tab in a multi-user configuration to reinforce this separation. The main activities in using Essential are about creating and relating instances. Designing and creating new classes is something to be approached when the out-of-the-box meta model needs to be extended – not as part of the day-to-day use of Essential.
By focussing on describing the details (the Instances) of the organisation – current, planned or future – rather than on how to describe (the Classes) the organisation, the benefits of enterprise architecture can be realised very quickly. During our consulting engagements, we’ve seen clients spend months defining their own detailed meta model before getting started on using this meta model. By picking up the Essential Meta Model – and extending it where and when required – we’ve seen clients gain real benefits of EA and EA tools in the same timeframe that others are still defining their meta model.
For those who are interested in OWL and Essential, Protege provides the capability to export the Essential Architecture Manager repositories in OWL format, preserving the class-hierarchy and the properties of these classes. This export could provide a starting point for those who are interested in using the Essential Meta Model ontology as a starting point for OWL-based activities.
I’d be really interested to hear about anyone’s experience doing just this.