An Ontology-based Reference Model for the Software Systems Domain with a focus on Requirements Traceability - Duarte, Bruno Borlini (2022)
Software plays an essential role in modern society, as it has become indispensable in many aspects of our lives, such as social, business and even personal. Because of this importance, many researchers are dedicated to study the nature of software, how it is related to us and how it is able to change aspects in our society. It is accepted by the scientific community that software is a complex social artifact. This notion comes from the fact that a modern software system can be understood as the combination of interacting elements that exist inside a computer, such as programs and data, and in our world, such as sensors, other systems or even people, all of which are specifically organized to provide a set of functionalities or services and so, fulfill its purposes. A major concern in the development of modern complex software-based systems, is ensuring that the design of the system is capable of satisfying the current set of requirements. In this context, it is widely accepted in the scientific literature and in international standards that the requirements have an important role in the software process. Because of that, requirements need to be developed, refined, managed and traced to their origins, in a controlled engineering process, to control their changing nature and mitigate risks. In order to support these activities, we argue, based on the conceptual modeling scientific literature, that we can use ontologies to provide a better understanding of the software systems domain, reducing the inherent complexity and improving the requirements engineering process. In this work, we propose an ontology-based requirements traceability theory centered in different types of software systems requirements. Based on that, we developed the Reference Ontology of Software Systems (ROSS) and the Ontology of Software Defects Errors and Failures (OSDEF). ROSS and OSDEF are domain ontologies about the software systems that are intended to be used together and combined with other existing ontologies, as reference models for requirements traceability. Besides, we developed machine- readable operational ontologies, based on the reference versions of ROSS and OSDEF. The operational ontologies are created to support an ontology-based requirements traceability process that is based on the relationships that exist between the concepts in the ontologies.