[SE] Ontology Driven Architectures Second Draft etc





I have just finished work on a second draft of the SETF's ideas material.
This time I have been much bolder and have extended out into other areas
listed on our TOR. By now I you will have realised that I am prone to typos
and minor mistakes, no matter how much proof reading I do myself. So please
accept may apologies if there are some glitches here. Nevertheless all
comments are once again welcomed...

We should really also try to start and get more material on the links list
below. Help would be appreciated...

Ontology Driven Architectures

In all well-established engineering disciplines, modelling a common
understanding of domains through a variety of formal and semi-formal
notations has proven itself essential to advancing the practice in each
such line of work. This has led to large section of the Software
Engineering profession evolving from the concept of constructing models of
one form or another as a means to develop, communicate and verify abstract
designs in accordance with original requirements. So spawning the fields of
Computers Aided Software Engineering (CASE) and, more recently, Model
Driven Architectures (MDA). Here models are not only used for design
purposes, but associated tools and techniques can be utilised further to
generate executable artefacts for use later in the Software Lifecycle.
Nevertheless there has always been a frustrating paradox present with
tooling use in Software Engineering, arising from the range of modelling
techniques available and the breadth of systems requiring design:
Engineering nontrivial systems demands rigour and unambiguous statement of
concept, yet the more formal the modelling approach chosen, the more
abstract the tools needed, often making methods difficult to implement,
limiting the freedom of expression available to the engineer and proving a
barrier to communication amongst practitioners with lesser experience. For
these reasons less formal approaches have seen mainstream commercial
acceptance in recent years, with the Unified Modelling Language (UML)
currently being the most favoured amongst professionals.

Even so, approaches like the UML are by no means perfect. Although they are
capable of capturing highly complex conceptualisations, current versions
are far from semantically rich. Furthermore they can be notoriously
ambiguous. A standard isolated schematic from such a language, no matter
how perfect, can still be open to gross misinterpretation by those who are
not overly familiar with its source problem space. It is true that
supporting annotation and documentation can help alleviate such problems,
but traditionally this has still involved a separate, literal, verbose and
longwinded activity often disjointed for the production of the actual
schematic itself.

What is needed instead is a way to incorporate unambiguous, rich semantics
into the various semi-formal notations underlying methods like the UML. In
so doing, the ontologies inherent to a system’s problem space – real world
or not - and its various abstract solution spaces could be encapsulated via
the very same representations used to engineer its design. This would not
only provide a basis for improved communication, conformance verification
and automated generation of run time-artefacts, but would also present
additional mechanisms for cross-checking the consistency of deliverables
throughout the design and build process.

In many respects an ontology can be considered as simply a formal model in
its own right. Hence, given the semantically rich, unambiguous qualities of
information embodiment on the Semantic Web, and the universality of the
Semantic Web’s XML heritage, there appears a compelling argument to combine
the semi-formal, model driven techniques of Software Engineering with
approaches common to Information Engineering on the Semantic Web. This may
involve the implanting of ontologies directly into systems’ design
schematics themselves, the referencing of separate metadata artefacts by
such descriptions or a mixture of both. What is important is that
mechanisms are made available to enable cross-referencing between design
descriptions and related ontologies in a manner that can be easily
engineered and maintained for the betterment of systems’ quality and cost.
Moreover, such mechanism should be capable of supporting both the
interlinking of more broadly related ontologies into grander information
corpuses – thereby implying formal similarities and potential relationships
between discreet systems through their design description metadata - and
the transformation of designtime ontology-to-design-artefact relationships
into useful runtime bindings - thereby realising metadata use across a
broader spectrum of the software lifecycle. This carries two obvious
implications for Web-based systems employing such techniques; firstly that
the Web could be used as a framework for runtime component sharing between
discreet and disparate systems and, secondly, that new forms of hybrid
system could be created through the amalgamation of discreet and disparate
functionality. This appears especially appealing given current advances the
areas of Web Services and Service Oriented Architectures. If underlying
metadata were also used as a basis for parameterised dynamic systems’
behaviour, there are further intriguing potentials in the areas of Web
Service Choreography and autonomic systems.

Composite Identification schemes on the Semantic Web

Identity is one of the most fundamental ideas in conception. Without a
notion of identity, it would become impossible to reuse information we have
previously acquired. Our experience would disintegrate into a sea of
informational ‘moments’ with no global thread or coherence. In such a world
there would be very little we could usefully deduce. Studies of subjects
with specific defects in the faculty of identity have shown just how
significant a disability this can become. As with human cognition, it is a
common occurrence in the Semantic Web for us to need to be able to equate
things based upon partial, observable data. Whilst the architecture of the
Web gives us a large, universal space of identifiers, we often need to deal
with concepts for which there is no single globally-agreed identifier
available. A notorious example, from the Friend Of AFriend (FOAF) project,
is that of a person. Most would recoil in horror at the idea of a single
number identifying you worldwide, quite apart from the practical issues
involved in running such a worldwide system of identifiers.

Inverse Functional Properties (IFPs) have come to the aid of those trying
to model concepts without unique identifiers. An IFP is defined by the OWL
Reference as ‘[when] the object of a property statement uniquely determines
the subject’. An IFP describes a relation to a piece of information that
can uniquely identify the subject. It is important to note that an IFP need
not be functional from subject to object – in the FOAF ontology, a person
can have many email addresses; the significant property is that each email
address corresponds to at most one person. A problem seen recently with
IFPs is that there is a relatively small set of
binary properties which can uniquely identify a subject. Many useful
inverse functional relationships relate a subject and a piece of complex
information. Many other useful inverse-functional properties only gain
their uniqueness in highly specific contexts. The notion of Composite
Inverse Functional Properties (CIFPs) aims to address these needs by
allowing a composite references to act as an inverse functional property.

Self-Organising Applications using Semantic Web Technologies

DESCRIPTION STILL IN PROGRESS

Semantic Web Technologies in Highly Adapted/Adaptive (User) Interfaces and
Support Tools

DESCRIPTION STILL IN PROGRESS


Links and Further Reading

o     Ontology Driven Software Development in the Context of the Semantic
Web: An Example Scenario with Protégé/OWL. Holger Knublauch, Stamford
Medical Informatics, Stamford University, CA.
http://smi-web.stanford.edu/people/holger/publications/MDSW2004.pdf

o     SOA, Glial and the Autonomic Semantic Web Machine – Tools for
Handling Complexity? Philip Tetlow, IBM, UK.
http://www.alphaworks.ibm.com/g/g.nsf/img/semanticsdocs/$file/soa_semanticweb.pdf

o     Object Co-identification on the Semantic Web. R.V.Guha, IBM
Research,Almaden. http://tap.stanford.edu/CoIdent.pdf
o     Situation and Identity – A Generalisation of Inverse Functional
Properties. Tom Croucher, University of Sunderland and Joe Geldart,
University of Durham – currently under conference submission restriction
o     Semantic Management of Web Services. Daniel Oberle, Steffen
Lamparter, Andreas Eberhart1, Steffen Staab, University of Karlsruhe,
Germany. http://www.aifb.uni-karlsruhe.de/WBS/dob/pubs/www2005.pdf

o     Semantic Management of Middleware, Daniel Oberle, Steffen Lamparter,
Andreas Eberhart1, Steffen Staab, University of Karlsruhe, Germany.
http://www.aifb.uni-karlsruhe.de/Publikationen/showPublikation_english?publ_id=766

o     Developing and Managing Software Components in an Ontology-based
Application Server, Daniel Oberle, Andreas Eberhart, Steffen Staab, Raphael
Volz,
http://www.aifb.uni-karlsruhe.de/Publikationen/showPublikation_english?publ_id=459



Regards

Phil Tetlow
Senior Consultant
IBM Business Consulting Services
Mobile. (+44) 7740 923328

Received on Friday, 7 January 2005 12:03:37 UTC