Using ontologies in software engineering and technology 51 ments for a set of agents people or artificial systems so that they can communicate and interact with a domain of discourse. Obse stands for ontologybased software engineering software projects are not only driven by by requirements and models but alsoby an ontology or by ontologies forming a knowledge base for the application domain shared by many projects models come after ontologies. The protege softwareengineering methodology provides a clear division between domain ontologies and domainindependent problemsolvers that, when mapped to domain ontologies, can solve application. Additionally, an agent commits to an ontology if its observable actions are consistent with the definitions of the ontology. International journal of humancomputer studies, 43 56. Software project management is a knowledge intensive process that can benefit substantially from ontology development and ontology engineering. An example of this type would be the ulms universal medical language system. Nidhi baranwal mca 3rd sem university of allahabad. This paper presents some experiences and lessons learnt from the effective use of an. The ontology bean generator plugin is a protege tab widget which generates java files representing an ontology that can be used with the jade environment. The more these tasks are extended and automated, the more important gets the definition and use of ontologies as conceptual basis of such components.
Idef5 is a software engineering method to develop and maintain usable, accurate, domain ontologies. Ontological thinking, largely from the research field of artificial intelligence, has been increasingly investigated by software engineering researchers, more familiar with the idea of a metamodel. May 30, 20 so, whilst i believe that collaborative ontologies serve an important role in fostering collaboration in linked data, i also believe that we need strategies to make these approaches compatible with embedded ontologies, and therefore software engineering best practice. They are not well understood by the majority of developers. For example, reference ontologies, whose main purpose is to eliminate ambiguities in terminology and mitigate the occurrence of what thomas kuhn refers as local incommensurability 7. This plugin works with both protege frames and protege owl ontologies. Ianace goes on, unfortunately, ontologies are not widely used in software engineering today. Applications of ontologies in software engineering web scienceen. Citeseerx document details isaac councill, lee giles, pradeep teregowda. In computer science, information science and systems engineering, ontology engineering is a.
Purpose of using ontologies in software engineering. They offered a taxonomy for software engineering ontologies and they presented representative cases of such ontologies. Ontology development could facilitate or improve substantially the software development process through the improvement of knowledge management, the increase of software and artefacts reusability, and the establishment of internal consistency within. In software engineering, ontologies can capture the knowledge of a. Ontologies and conceptual models digital humanities, not. In the process of developing ontologies, irrespective of the intended purpose for the ontologies, there are a number of considerations that one has to make.
Bourque p and, fairley re 2014 guide to the software engineering body of knowledge swebok, version 3. Fast growth of communication and mobile technologies, constant demands for new services, and increased number of computer users, are some of the key reasons of the constantly increasing need for more software. Protege is based on java, is extensible, and provides a plugandplay. This functionality can be used to develop a uml diagrams from the ontology developed. In this study, it is believe building a common ontology in software engineering education is necessary and. Communication is one of the main activities in software projects, many such projects fail or encounter serious problems because the stakeholders involved have different understandings of the problem.
Ontology driven software engineering ieee conference. The software engineering ontology defines common sharable software engineering knowledge including particular project information. Pdf use of ontologies in software engineering semantic scholar. Pdf ontologies and software engineering researchgate.
Protege is actively supported by a strong community of users and developers that field questions, write documentation, and contribute plugins. Nevertheless, the use and benefits of ontologies and semantic web technologies in software engineering is spread across several articles and books available in the literature. At the center of object models and ontologies are objects within a given problem domain is similar to the concept provided by ontologies. With the beangenerator tool you can generate fipajade compliant ontologies from rdfs, xml and protege projects. In software engineering, ontologies can contribute in many different ways to improve the models, methods, techniques and processes of software development.
Such considerations range from how best to develop the ontologies to how to deploy and maintain them once in operation. The engineering ontologies are a set of small and reusable ontologies for representing engineering artifacts. Undergraduate computer science programs dont usually teach ontologies. Ontologies in the software engineering process wolfgang hesse using ontologies in software engineering and technology francisco ruiz, jose.
Protege fully supports the latest owl 2 web ontology language and rdf specifications from the world wide web consortium. This naturally requires effective methods for engineering software that will be able to respond. Effective use of ontologies in software measurement the. In this survey paper, we present a concise description of various ontologybased approaches in software engineering ordered by their position in the software. This paper is about using ontologies to identify the objects from a problem domain text description. We discuss the advantages of ontologies in each case and provide a framework for classifying the usage of ontologies in software engineering. Next, it introduces a framework that identifies places in software lifecycle where ontologies can contribute to improvethe current state of software engineering.
So, whilst i believe that collaborative ontologies serve an important role in fostering collaboration in linked data, i also believe that we need strategies to make these approaches compatible with embedded ontologies, and therefore software engineering best practice. However, since the underlying concepts of the semantic web have a long tradition in the knowledge engineering field, it is sometimes hard for software engineers. Use of ontologies in each phase of software development yields competitive advantage over traditional approach enabling greater information sharing and reuse. An ontology for software development methodologies and endeavours, volume ontologies for software engineering and software technology, pages 123151. The idea of common ontology has been proven useful when applied in smaller scale viinikkala, 2003. Citeseerx applications of ontologies in software engineering.
Ontologies for software engineering and software technology 2006 1019 on. There still will be sections of interest for philosophers and domain experts, but they may prefer to work through the chapters in a di erent order see how to use the book. Over the last several years, metamodels and ontologies have been developed in parallel isolation. Odm standard allows for integrating ontology languages i. The emerging field of semantic web technologies promises new stimulus for software engineering research. Ontologies in the software engineering process ceur workshop. Purpose of using ontologies in software engineering people. Software engineering knowledge formed into software engineering ontology facilitates communication framework among users and provides consistent understanding of the domain knowledge 22. Calero and her coeditors mainly cover two applications of ontologies in software engineering and software techonology. However, it can also be seen, that software engineering approaches. Ontology engineering is a set of tasks related to the development of ontologies for a particular domain. The connections ontology defines the topology of a system and describes how components of a system are connected to each other. One unique area of research is the software engineering ontology. Using ontologies in software engineering and technology 53 related to a specified field.
This web page hosts different owl ontologies that describe concepts in the context of software engineering, software evolution and software maintenance. There is an urgent need to educate a new generation of ontologysavvy healthcare application developers. Ontology engineering also called ontology building is a set of tasks related to the development of ontologies for a particular domain. Semantic web is primarily supported by languages such as rdf, rdfs and owl3. For example, ontologies are proposed to be used in requirement engineering, software design, software maintenance, software reuse and knowledge management etc.
Bridging metamodels and ontologies in software engineering. Such considerations range from how best to develop the ontologies to how. Domain ontologies are formal descriptions of the classes of concepts and the relationships among those concepts that describe an application area. Ontology engineering, ontology, ontologies, knowledge base, description logics, owl, semantic web, ontology development. Software engineering ontology for multisite software development by. The chapter analyzes the state of the art in the use of ontologies for various software engineering tasks. These can be grouped into two main categories, depending on whether they are used to describe the knowledge of a domain domain ontologies or whether they are used as software artifacts in software development processes. Jan 27, 2016 software engineering ontology presents explicit assumptions concerning the objects referring to the domain knowledge of software development. Software engineering ontology for software engineering. The editors structured the contributions into three parts. This paper surveys the role ontologies might play in the whole software development life cycle. Calero, coral, ruiz, francisco, piattini, mario eds. Toward principles for the design of ontologies used for knowledge sharing.
In this survey paper, we present a concise description of various ontologybased approaches in software engineering ordered by their position. Ontologies are frequently used in the context of software and technology engineering. Application of ontologies in the application domain of medicine and traffic control have been successful in 2000s. Ontologies can help to mitigate these communication problems. By presenting advanced uses of ontologies, this book can benefit a wide range of highly educated software engineering researchers and practitioners.
However, since the underlying concepts of the semantic web have a long tradition in the knowledge engineering field, it is sometimes hard for software engineers to overlook the variety of ontologyenabled approaches to software engineering. Software engineering community has recognized quite early, ontologies as a promising way to address current software engineering problems 17 18. Using ontologies in software engineering and technology. Specify the structure of database records, determining a framework for the standardized storage of information. The current version of seon includes core ontologies for software and software processes, as well as domain ontolo. The chapter starts from defining software engineering as an application context for ontologies. As to how comprehensive an introduction to ontology engineering should be, there is no good answer. Ontologies for software engineering semantic scholar. These issues are made worse through implementation affecting.
Pdf use of ontologies in software engineering semantic. Although everybody is convinced of the power and use of ontologies, until now no real prove exists of their potential in the domain of software engineering. There are different types of ontologies in software engineering, each of them serving different purposes. Software engineering ontology presents explicit assumptions concerning the objects referring to the domain knowledge of software development. The components ontology defines the partwhole relationship and is used to represent the decomposition structure of systems. Ontology engineering aims to make explicit the knowledge contained in software applications, and organizational procedures for a.
Ontologies for software engineering and software technology. Pdf ontologies and software engineering dragan gasevic. The software engineering community has recognized ontologies as a promising way to support the software development process 5. On the use of ontologies in software process assessment. Ontology engineering offers a direction towards solving the interoperability problems brought about by semantic obstacles, i. It is a subfield of knowledge engineering that studies the ontology development process, the ontology life cycle, the methods and methodologies for building ontologies, and the tools and languages that support. The ontologies were created and are maintained by members of the software evolution and architecture lab of the department of informatics of the university of zurich overview. Software engineering ontology typically provides software engineering concepts what they are, how they are related, and.
859 242 1379 857 474 310 520 1433 906 470 1296 668 1437 128 369 79 148 1146 1218 36 603 84 1097 691 500 669 1236 596 1389 728 486