O(n²)Space

Next Generation Software                      ngs@ontospace.net      

Home

About

Demo/Downloads

People/Publications

Partners/Investors

Questions/Answers

In order to demonstrate practical application of "O(n2) Space" in Software Engineering (SE) we have developed a plug-in for popular Knowledge Engineering (KE) tool - Protégé. KE can be considered a “counterbalance” to conventional SE. If SE is focused on specific behavior of programs in application, then KE is focused on properties of inputs and outputs, - it helps to prevent unexpected behavior by making many assumptions explicit.

KE in its simplest form is required for any SE in order to declare some basic assumptions, such as communication protocols and interfaces. Declaring basic types of data as well as defining constraints and relations between elements comprising software applications can be considered KE, although it is usually called “
modeling” in SE. The term “knowledge” is usually reserved for complex models with large number of concepts and relations that require special means for navigation and analysis.

Database technology occupies a place right in the middle between SE and KE. For first - any knowledge has to be stored in a database, and second - any database application represents some business process. The later usually involves business rules, formats and other constraints on inputs and outputs. This is the place where two different technologies - programming and modeling - meet on equal basis. Unfortunately, they do not naturally complement each other - there is an
impedance mismatch between most programming languages and most database management systems, - which is no so easy to overcome. This is why database applications usually are more brittle than other types of software.

OntoBase is designed to overcome the impedance mismatch
by incorporating knowledge base (Protégé) inside it as a middle tier. A Web-based database application typically has a "Controller" that coordinates work between user interface ("View") and database ("Model"). In distributed applications there is also a need for mediators between heterogeneous components. To be independent from any particular component - mediator must work inside special container provided by middleware.

OntoBase is a plug-in that turns Protégé into application container that can be easily programmed and connected to different data sources. It allows Protégé to be used as Model and View for simple database applications. OntoBase can also be used as “back end” for Protégé in order to store parts of knowledge base which must be shared with other applications. In its current form OntoBase can be simply “snapped on” any relational database to provide access to data, virtually without any programming. OntoBase automatically generates ontology grounded in database (by means of Protégé API using frames and facets). Generated "ground ontology" can then be used for mapping and transforming data (see interactive Tutorial).

download ontobase
Open source project hosted by Google
demo
Ontobase forum
 
© Copyright 2004 - 2009 Next Generation Software. All rights reserved.