Developing Consistent and Modular Software Models with Ontologies
Abstract
The development and verification of software models that are applica- ble across multiple domains remains a difficult problem. We propose a novel ap- proach to model-driven software development based on ontologies and Semantic Web technology. Our approach uses three ontologies to define software models: a task ontology, a domain ontology and a top-level ontology. The task ontology serves as the conceptual model for the software, the domain ontology provides domain- specific knowledge and the top-level ontology integrates the task and domain on- tologies. Our method allows the verification of these models both for consistency and ontological adequacy. This verification can be performed both at development and runtime. Domain ontologies are replaceable modules, which enables the com- parison and application of the models built using our method across multiple do- mains. We demonstrate the viability of our approach through the design and im- plementation of a semantic wiki and a social tagging system, and compare it with model-driven software development to illustrate its benefits.