An Overview on the use of Ontologies in Software Engineering
- 1 University of Zagreb, Croatia
Abstract
One of the main goals of the Software Engineering (SE) discipline is to find higher abstraction levels and ways to reuse software in order to increase its productivity and quality. Ontologies, which are typically considered as a technique or an artifact used in one or more software lifecycle phases, may be used to help achieve that goal. This paper provides a literature review, discussion and analysis of the existing solutions for implementing ontologies in SE. We selected several software development paradigms (including Software Product Lines, Component-Based Development, Generative Programming and Model-Driven Engineering) for our classification and discussion of different approaches proposed in the literature. It was established that ontologies are suitable for providing a common vocabulary to avoid misunderstanding between different parties in SE, requirements specification, features specification, variability management, components specification, components matching, model transformations and code generation. Based on the conducted review, guidelines for further research are given.
DOI: https://doi.org/10.3844/jcssp.2016.597.610
Copyright: © 2016 Daniel Strmečki, Ivan Magdalenić and Dragutin Kermek. This is an open access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
- 3,501 Views
- 2,558 Downloads
- 8 Citations
Download
Keywords
- Ontologies
- Software Engineering
- Software Product Lines
- Component-Based Development
- Generative Programming
- Model-Driven Engineering