Using objects and patterns to implement domain ontologies

Giancarlo Guizzardi, Ricardo de Almeida Falbo, José Gonçalves Pereira Filho
2002 Journal of the Brazilian Computer Society  
Ontologies are becoming an important mechanism to build information systems. Nevertheless, there is still no systematic approach to support the design of such systems using tools that are common to information systems developers. In this paper, we propose an approach for deriving object frameworks from domain ontologies and then we show the application of this approach in the software process domain. Ontologies It is impossible to represent the real world, or even a part of it, with all its
more » ... ils. To represent a phenomenon or part of the world, which we call domain, it is necessary to focus on a limited number of concepts that are sufficient and relevant to create an abstraction of the phenomenon in hand. Thus, a central aspect of any modeling activity consists of developing a conceptualization: a set of informal rules that constrain the structure of a piece of reality, which an agent uses to isolate and organize relevant objects and relations [3] . According to Guarino [4], "an ontology is a logical theory accounting for the intended meaning of a formal vocabulary, i.e. its ontological commitment to a particular conceptualization of the world". Based on such definition, an ontology consists of concepts and relations, and their definitions, properties and constrains expressed as axioms. An ontology should not be only an hierarchy of terms, but a fully axiomatized theory about the domain [5] . One of the main benefits of the use of ontologies in software development is the opportunity to adopt a reuse-based approach to the requirements engineering (RE). In traditional Software Engineering, for each new application to be built, a new conceptualization is developed. This reflects on how the RE is currently employed: for each new application, an elicitation phase is accomplished almost always from scratch, focusing on all particularities of the system in hand. This approach is extremely expensive since elicitation is the activity that requires most effort in the software development. Experts are scarce and costly resources but they are essential to this activity, so they should be better used. Therefore, it is important to share and reuse the captured knowledge. In an ontology-based approach, requirement elicitation and modeling can be accomplished in two stages. First, the general domain knowledge should be elicited and specified as ontologies. These ontologies, in turn, are used to guide the second stage of the RE, when the particularities of a specific application are considered. This way, the same ontology can be used to guide the development of several applications, diluting the costs of the first stage and allowing knowledge sharing and reuse [5] . In [5], we proposed a Graphical Language for Expressing Ontologies (LINGO) and a systematic approach for engineering ontologies. In the RE, the use of a graphical representation is essential in order to facilitate the communication between requirement engineers and experts. In ontology building, such representation is basically a language representing a meta-ontology. Hence, this language has basic primitives to represent a domain conceptualization. In its simplest form, its notations represent only concepts and relations. Nevertheless, some types of relations have a strong semantics and, indeed, hide a generic ontology. In such cases, specialized notations have been proposed. This is the striking feature of LINGO and what makes it different from other graphical representations: any notation beyond the basic notations for concepts and relations aims to incorporate a theory. This way, axioms can be automatically generated. These axioms concern simply the structure of the concepts and are said epistemological axioms. Figure 1 shows the main notations of LINGO and some of the axioms imposed by the whole-part relation. These axioms form the core of the mereological theory as presented in [7] , namely the irreflexivity (A1), anti-symetry (A3) and transitivity (A4) axioms denote sufficient and necessary properties for all kinds of wholepart relations. Axiom (A7) denotes a special kind of part-or relation with non-sharable parts (composition). The remaining axioms complete the theory by defining suitable ontological distinctions.
doi:10.1590/s0104-65002002000100005 fatcat:tp37c3fitfdynjfzdkmroqncvm