A Semantic Engagement
When someone says something to the effect “We will add Semantics and all your problems will be solved” the image that that conjures up for me is salt: “Let us sprinkle some Semantics and it will taste better”. And, yes, somehow, Semantics always seems to be capitalized.
Needless to say, I do not buy this for a couple of reasons:
- Everything has some kind of semantics. It just may not be all that useful.
- Any explicit representation of the semantic relationships becomes syntactical. Processing therefore becomes processing of structures; you are still writing regular code to do that processing.
- There is no such thing as two people or agents having the same interpretation of a term. Oops, there goes all that Ontology stuff
What a chair means to me is overlapping, but different to what it means to you. Even for me, the meaning depends on what I am trying to do (arrange them for dinner, sit on one, ship it and so on.).
Luckily, agreement on the meaning of a term is neither possible nor necessary. All that is needed is some form of congruence in the interpretations.
I think that the really important concept is “Semantic Engagement”. Or, in simple terms, “What it means to me at the moment”.
Semantic engagement is the relationship between an agent (software, person, whatever; but active) and some body of information that defines the agent’s interpretation of that information.
For example, a Web browser’s semantic engagement with information that is sucks in is founded on HTML: it understands HTML in order that it can display it; but does not generally understand what the HTML is for.
This applies to people as well as software. Just in case you thought that you always understand what something is for, just consider the last time that your eyes ‘glazed over’ some topic and you just let it wash over you. For most people, reading EULAs comes into that category.
Semantic Engagement is a useful concept because it limits what you have to do: in the formal setting of a software system you can often define pretty well what a particular module has to do. As in the case of the browser, it often amounts to a fairly shallow understanding of the information while anything deeper in the information is somehow transmitted further on to a different module/layer.
In the case of Ontologies, I believe that the implication is that you cannot separate semantics from intended purpose. Any ontology is a model; and to paraphrase
All ontologies are wrong, some are useful.
What’s yours is mine, what’s mine is mine own
Try to take a teddy bear from a toddler and you will learn at first hand what ownership means to people. Ownership is clearly important to us all; but most distributed architectures fail to learn the lesson; most DC architectures assume that there is “someone in charge”, who implicitly own everything.
The SIC assumption is clearly not true for the Internet. I personally think that it is not all that true even within a single corporation. (Try to get a sales person to give you their Rolodex; toddlers are no competition.)
This, for me, is the true reason to be excited about Service Oriented Architecture. Finally, we are beginning to understand that a computer architecture that respects people’s desire to maintain ownership is clearly more likely to be functional than one that does not.
Face to face
Last week we had a three day Face to Face meeting of the group working on the SOA Reference Architecture.
On the whole it was a very civilized affair, no voices were heard raised in anger. Although some pretty hard decisions and comments went down.
Personally, I think that, if we can keep the momentum going, this architecture is going to be one that we are proud of.
Of particular interest to me is making sure that human actions are properly represented. This is not yet another IT architecture.
To do this, I think that you need to embrace the fact that the overwhelming majority of action will be directed by people, at people, and involving people.
On a technical note, I am pretty convinced that we need to incorporate norms and institutions. A norm is just a rule about how people should behave and what the meaning of that behavior is. An institution is just a fancy name for a social structure — it can include everything from a fishing club, a company, through to the US government as defined by the constitution.
Architecturally, that just means that concepts such as stakeholders, roles, rights, responsibilities are properly identified. The security folk like that too, because it gives the needed anchor for trusted systems.
Reference Architecture
This week we are going full blast at the SOA Reference Architecture.
The key to getting this right (IMO) is to make sure that the actions that people take in ‘real life’ are properly taken into account in the context of SOA. I.e., SOA is a means for people to act ‘at-a-distance’, at least indirectly.
So, we are looking at the roles that people play, the authority that a role brings and so on. Pretty interesting stuff.
The other intriguing thing is that I (at least) am learning more about UML. In particular, views and viewpoints. A little scary to think that the entire RA might be captured as a series of views and viewpoints.
-
Archives
- September 2008 (1)
- May 2008 (1)
- January 2008 (1)
- December 2007 (3)
- October 2007 (1)
- June 2007 (2)
- January 2007 (2)
- December 2006 (2)
- November 2006 (3)
- October 2006 (2)
- September 2006 (2)
- August 2006 (4)
-
Categories
-
RSS
Entries RSS
Comments RSS
