23-24 September, 2006, BULGARIA 1 MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT Dencho N. Batanov Frederick Institute of Technology Computer Science Department Nicosia, Cyprus E-mail: com.bd@fit.ac.cy Abstract: There is now almost unanimous agreement that the object-oriented paradigm, applied to software engineering, is superior to the classical (function-based, procedural) paradigm. On the other hand, the object-oriented software engineering methodologies have been evolved significantly over the last two decades. The advent of Web in general and Semantic Web in particular led, for example, to merging them with the ontologies and appearance of related models and tools. Using ontologies however in the classical object-oriented software development life cycle is still not very well supported by respective research, procedures, techniques and tools. The main idea of this paper is to pay attention to the opportunities for using ontologies in the phase of high-level analysis of object-oriented systems in general and, more specifically, to show how ontologies can be used for converting a problem domain text description into an object model. The object model of a system consists of objects, identified from the text description and structural linkages corresponding to existing or established relationships. The ontologies provide metadata schemas, offering a controlled vocabulary of concepts. At the center of both object models and ontologies are objects within a given problem domain. The difference is that while the object model should contain explicitly shown structural dependencies between objects in a system, including their properties, relationships, events and processes, the ontologies are based on related terms only. On the other hand, the object model refers to the collections of concepts used to describe the generic characteristics of objects in object-oriented languages. Because ontology is accepted as a formal, explicit specification of a shared conceptualization, we can naturally link ontologies with object models, which represent a system-oriented map of related objects, described as Abstract Data Types (ADTs). Keywords: Software Engineering, Ontology, Object-Oriented Analysis, Object identification