Journal of Computer Science

An Overview on the use of Ontologies in Software Engineering

Daniel Strmečki, Ivan Magdalenić and Dragutin Kermek

DOI : 10.3844/jcssp.2016.597.610

Journal of Computer Science

Volume 12, Issue 12

Pages 597-610


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.


© 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.