Building Intelligence from the ground up!

Artificial Intelligence, Software Engineering

Links:


Categories +/-

Archive +/-

Links +/-

Meta +/-

Introduction

A “paradigm shift” in Information Technology, similar to those in history of Science, had been predicted in 80’s and then again in 90’s, but it is still to come. And it will not pass like a regular technological wave – breaking technical barriers to better information delivery. Instead it must overcome rather different obstacle: the illusion of validity, as Chris Partridge explained it his ”Business Objects“.

“…If all our actions had to be under our conscious control, it would take ages to make even the most simple decision. It would be as if the board of directors of a large company insisted on being involved in every decision, from appointing a new chairman to buying a box of rubber bands. The only practical way out is to delegate the control of those situations we are sure of into our unconscious. The circumstances change when a paradigm needs shifting. The advantages of unconscious control now turn into disadvantages… Whenever we start asking about entities, our unconscious kicks into operation and interrupts the question. It tries to stop the question being consciously considered, often by insinuating that it is irrelevant or obvious.”

Chris Partridge provides a basic example of such fallacy — the artificial distinction between information that is stored (data) and processing information (logic) — it is only important in the computer system. It is irrelevant to the things in the business which the data and logic refer to. In computer systems data and logic have a very different lifecycle. Data is carefully contained and passed around between different systems, while logic is largely kept “under the hood” of individual systems, and (usually) has no single container.

There is a similar distinction between things and changes in the real world: things have strictly observed ownership, while changes are shared. But the mappings between systems and the real world are not as reliable as it may seem, and as it is indeed assumed on both sides of the IT “table.”

Mapping from business requirements to software application is a single point of failure in IT today. Known under different names (”requirement traceability”, “dependency analysis” etc.) it is a major cost factor in IT. No methodology existing today adequately addresses this issue. The efforts continue in that direction under IT industry initiatives such as Model-Driven Architecture (MDA) and new trends such as Aspect-Oriented Programming.

Mapping of real world processes, and their critical aspects,  to and from existing and new software remains elusive. One of the three original developers of Unified Modeling Language (UML), 
Ivar Jacobson wrote (in Object Oriented Software Engineering, Addison Wesley, 1994):

“A model which is designed using an object-oriented technology is often easier to understand, as it can be directly related to reality… Since objects from reality are directly mapped into objects in the model, the semantic gap is minimized.”

“Semantic Gap” remains to be very large. New generation of technologies collectively known as “Semantic Web” are now promoted by W3C in an attempt to bridge it. But very little efforts have been directed to re-assessment of O-O technology and understanding why it did not yet fully realize the original promises. Perhaps the very success of O-O makes such question difficult.

Nevertheless, we at Next Generation Software believe that it is a key to any future progress in IT.  So we begin at a place where Chris Partridge left it when he called O-O a ”half-way house”, and showed that it needs a matching business modeling paradigm shift. This outstanding problem (as well as closely related to it more technical notion of “impedance mismatch” between database systems and O-O) is a departing point for OntoSpace project. 

Ground: lost or found ?

Intuitively everyone understands the meaning of “Ground” as a basis for our comprehension of reality. “Not standing firmly on the ground” – is known to be a state of mind not adequate to reality. But do we really know where the logical ground is?  Search for a basis of logical comprehension has a long history riddled with paradoxes, some of which are still not solved, and others have solutions resulting in new paradoxes.

Logic as a formal discipline was created by German mathematician Gottlob Frege at the end of 19th century. By 1931 it led American mathematician Kurt Godel to his
incompleteness theorem - a proof that logic can not have unshakable ground.  In plain words: we are only “firmly on the ground” when thinking inside a “sand box” created by our own assumptions.

For illustration: let us draw imaginary sphere that demarcates the bounds of comprehension. Each plain corresponds to a level of perception that serves as a “ground” for some intelligent agents operating above it. In addition to horizontal plains (perception) picture below shows orthogonal vertical plains that correspond to various models or views of world as perceived by the agents.

ontospacesmall.JPG

The “sphere of comprehension” is situated in 3D coordinate system where all pragmatic aspects of reality are fixed by a given model, and syntax is fixed at a given level of perception. By fixing semantic dimension we can obtain a protocol of communication. This coordinate system is inspired by ideas of American mathematician Charles Sanders Peirce in the beginning of 20th century. Pierce is best known as creator of Semiotics, a science of signs. He made a fist systematic attempt to ground symbolic systems in reality, and to understand how symbols form a context for our perception of it.


Database is a syntactic construct with semantic and pragmatic dimensions so small that little or no perception is possible within it. Its own theory can be expressed in a few basic statements, and it can only express very simple models because of limited abstraction. Programming languages, on the other hand, do allow quite sophisticated level of abstraction involving inheritance, but do not enforce any conceptualization or model. The expressive power of programs comes from its operational semantics, which can be quite rich allowing fine level of control over behavior.


Thus, perceptive power of software is limited by programming languages and databases alike. Instead it is infused into software in the form of heuristics (a.k.a. business rules). And in that form it is not accessible to any other layer of software. Moreover, the ground for heuristics is hidden from any agent except human. I believe this to be a root cause of software brittleness.


Unfortunately, Pierce had no way to stage any experiment, rather then mental – to study any epi-phenomena that may emerge in the described space. However, Information Technology makes it possible. The name “OntoSpace” comes from using Tuple Space and Ontology as conduits for symbolic grounding. OntoSpace is essentially an overlay network that implements the coordinate system described above, and provides container that interacts with “ground” level information processes, such as databases and executable code.