Review Article Open Access

An Overview on the use of Ontologies in Software Engineering

Daniel Strmečki1, Ivan Magdalenić1 and Dragutin Kermek1
  • 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.

Journal of Computer Science
Volume 12 No. 12, 2016, 597-610

DOI: https://doi.org/10.3844/jcssp.2016.597.610

Submitted On: 20 July 2016 Published On: 9 February 2017

How to Cite: Strmečki, D., Magdalenić, I. & Kermek, D. (2016). An Overview on the use of Ontologies in Software Engineering. Journal of Computer Science, 12(12), 597-610. https://doi.org/10.3844/jcssp.2016.597.610

  • 2,881 Views
  • 2,226 Downloads
  • 8 Citations

Download

Keywords

  • Ontologies
  • Software Engineering
  • Software Product Lines
  • Component-Based Development
  • Generative Programming
  • Model-Driven Engineering