Main Problems in Semantic Technology

There are a lot of talks about functions of language. But, simply speaking, the main functions of language are to name, relate and communicate the things. When it is coming to software, the implementation of this functions brings some problems which in own turn bring other problems when in the most cases the only root cause exists. Semantic Technology is suppose to address these problems from the angle of view not always presented in the current software practice, we mean from the point of language semantics and software engineering together, and this is the main justification of existence of Semantic Technology.

The most prominent semantic problems in software development are the problem of unknown and the problem of alien.

  • Problem of unknown is the problem of defining the means and the method of naming anything we may encounter in such a manner that it is becoming clear how a new thing relates to the rest of the world. The method should define a thing in the nearest context right away.
  • Problem of alien is a problem of communicating to some party with whom nothing is shared (no common natural language or language of signs or gestures, moreover no common model of the world).

Problem of Unknown

Only a science really considers genuinely unknown things and only after the scientific research they may be introduced in the business or technology domains. Therefore, in a strict sense, there are no really “unknown” things in the software.

In the software development we have “unknown” things of different nature. If the question: What is the time? The inquirer, most probably, knows approximate time and format of the answer, but only asking about the precise value. Or anecdotal “unknown”: in the year 1990 we did not know (or did not paid attention to the fact) that there will be the year 2000; this resulted in the famous Y2K problem with the cost of the solution of the “unknown” problem around $150B in US only.

This sort of “unknown” is typical for the software. In reality, the software and communications have no room for “unknown” at the model level. Still it is a major part of the existing data model, whether explicitly or implicitly assumed.

Some examples of explicit and documented cases of such assumptions:

  • Session Initiation Protocol (SIP) specification, IETF RFC 3261

… Redirect servers MUST ignore features that are not understood (including unrecognized header fields, any unknown option tags in Require, or even method names) and proceed with the redirection of the request in question.

… If a SIP UA [User Agent] encounters an unknown header …, it MUST ignore the header field.

  • W3C Web Services Description Language (WSDL)

… since it is unreasonable to expect a single type system grammar to be used to describe all message formats present and future, WSDL allows using other type definition languages via extensibility. [Restructuring of protocol is required with new (unknown presently) requirements]

The examples show the failure of identifying and relating new events and ensuring the way of acting in the identified situation. All of the examples contain very reasonable requirements from the common sense but not from the semantic point of view. The information and the system data model should not contain unknown as an explicit or an implicit assumption. Since it is not a science, because conceptually we know everything, there is a missing semantic approach.

Problem of Alien

Problem of alien is closely related to the problem of unknown. Having the way to express or eliminate unknown is a half of the way for communicating. There is one more thing to postulate for semantic reason: we must ensure nearest context presented in the act of communication, because sending a message with a set of defined parameters is not a semantic way of communication. Each parameter MUST be a component of the context to be adequately represented to another side of communication.

We can guess that the universe (as a nature) is the same everywhere and all communicating means share some common universal characteristics, so something common could be assumed (!), but not necessarily assumed (!), when communicating.

Lack of the semantically justified communication assumptions is a cause of the modern software development and communication problems such as systems integration, overspecialization and overproduction of communication protocols, high cost of the software development and maintenance, excessive complexity of the systems looking to each other as aliens and requiring an army of programmers imitating software intelligence because the marketing department is promising it to the clients.

The clarity and the depth of the assumptions define the level of intelligence we have reached, so for the intelligent alien agent, we should be able to establish communication based on the common but not explicitly shared assumptions. The role of the Semantic Technology is to provide the assumptions and practically to prove them.
For that purpose we do not need to search the intelligent alien agent in the universe. All our software components are so poorly structured in their semantic communication, so they are a good ground for the solution of the alien problem to test.

Properly structured communication between intelligent agents makes it possible to communicate, understand, and act on the previously unknown information, without restructuring over and over again, when unknown is encountered.

© SemPL.net, 2009

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • TwitThis
  • MySpace