334 IEEE TRANSACTIONS ON SYSTEMS, MAN, AND CYBERNETICS—PART C:APPLICATIONS AND REVIEWS, VOL. 42, NO. 3, MAY2012 Ontology-Driven Information System Design Petr Kˇ remen and Zdenˇ ek Kouba Abstract—Conventional information systems are built on top of a relational database that requires its data model to be stable. This lack of adaptability is very restrictive for systems that manipulate evolving or heterogenous knowledge. The authors of this paper faced this issue at the time of the development of an information system of structural failures. As knowledge on structural failures is very heterogeneous and dynamic, it is practically impossible to define a stable database schema ahead. The widely accepted alternative to relational databases are semantic web ontologies. However, software developers miss adequate frameworks and de- sign methodologies in this area. This paper tries to fill the gap by proposing a methodology for designing ontology-backed software applications that make the ontology possible to evolve while be- ing exploited by one or more applications at the same time. The methodology relies on a contract between the ontology and the application that is formally expressed in terms of integrity con- straints. Violation of the contract means either that the ontology evolved in a way that is incompatible with the particular appli- cation or the application produced invalid data. In the first case, the ontology change must either be rolled back, or the application needs to be upgraded. In the second case, the user has to modify entered data to fulfill the contract. Furthermore, this paper elab- orates an object ontological mapping, transaction management, and efficient querying API. A reference Java implementation of the methodology and the proof-of-concept application in the civil engineering domain is introduced at the end of the paper. Index Terms—Information system, ontology, Web Ontology Language. I. INTRODUCTION D ATABASE applications can manipulate large and dynam- ically changing data, but the flexibility of their data model is limited. Even a small change (e.g., attribute addition/removal) of the data model requires significant work of an application de- signer. Furthermore, a data model is not able to capture complex relationships between objects such as relation composition (e.g., “being someone’s uncle means being a brother of his/her par- ent”), cardinality restrictions (e.g., “each person has exactly two arms”), logical negation (e.g., “every person not being a man must be a woman”), etc. We faced these problems when designing an information sys- tem that was aimed at management of structural failure records Manuscript received November 26, 2010; revised April 13, 2011; accepted July 20, 2011. Date of publication September 6, 2011; date of current ver- sion April 11, 2012. This work was supported partially under Grant MSM 6840770038 “Decision Making and Control for Manufacturing III” of the Min- istry of Education, Youth and Sports of the Czech Republic and partially by the FP7 project Integrated European Industrial Risk Reduction System (IRIS) under Grant FP7-NMP-2007-LARGE-1, co-funded by the project of Czech Ministry of Education, Youth and Sport under Grant 7E09078. This paper was recom- mended by Associate Editor Z. Zdrahal. The authors are with the Department of Cybernetics, Faculty of Electrical Engineering, Czech Technical University in Prague, 16000 Prague, Czech Re- public (e-mail: petr.kremen@fel.cvut.cz; kouba@fel.cvut.cz). Digital Object Identifier 10.1109/TSMCC.2011.2163934 (for details see Section VI). As the domain knowledge is evolv- ing (e.g., new material characteristics, construction technolo- gies and intervention procedures are introduced on the fly) and complex (e.g., transitive part-of relationships on structures, tax- onomies of failure/structure types), its implementation by the usage of relational database technology would be difficult and hard-to-maintain. This motivated us to represent the domain knowledge by means of semantic web ontologies and thus fol- low the modern approach to desig information systems that need to manipulate complex and evolving knowledge. This need has also been identified independently in [1]–[3]. Unlike generic ontology editors (e.g., Prot´ eg´ e [4]), design of which must be independent of the particular knowledge domain, requirements on information systems are different. They need to be tailored to domain-dependent user scenarios (e.g., user- interface for authoring of failure records in the example earlier) and hence require business logic that depends on the ontology. As a result of ontology evolution, the ontological data might violate the original assumptions (called consistency of the ontol- ogy and the dependent application in [1]) of the business logic designer (e.g., incomplete ontological data with respect to ap- plication data structures) at some point. If these assumptions are not formally expressed, then it is impossible to guarantee cor- rect functionality of the business logic if the ontology evolves. Thus, on the one hand, ontology changes might cause improper behavior or failure of the application. On the other hand, the application might damage the ontology by the production of ontological 1 data that cause its inconsistency. In this paper, we offer a technique that solves the problems identified in the last paragraph for OWL 2 ontologies [5]. The technique introduces 1) a formal contract that captures de- signer’s assumptions he/she made about an ontology during development of the business logic; 2) process of its validation; and 3) transactional support aimed at keeping the ontology con- sistent and optimizing the access to the ontology. Furthermore, our approach allows competencies to be clearly distinguished in the application development process. Ontology and formal contract maintenance is the responsibility of the knowledge en- gineer educated in ontologies, but not necessarily having suf- ficient programming skills. On the other hand, the application developer(s) need not to be educated in ontological reasoning and knowledge engineering. Hence, this approach tends to sig- nificantly reduce the application development costs. Section II discusses current ontology technologies that can be used by information systems to access ontological knowledge and relates them to our approach. Section III introduces back- ground of ontologies and integrity constraints that are necessary to understand our proposal for a persistence layer between an 1 Because of the lack of space, we will relate our approach only to data models of relational databases, the main-stream technology for data modeling. 1094-6977/$26.00 © 2011 IEEE