In the context of Software Engineering, the matter of software evolution has been a valid concern for approximately half a century. Its importance is due to the fact that software systems, much like the economy, journalism, etc., also suffers the effect of globalization. The operational environment of an increasing number of software systems is global, open, partially unknown and unpredictable. Hence, software must evolve in order to deal with these questions (in evolutionary terms, survive). Such evolution can occur at the level of code or architectural design, but the most important type of evolution is the one that takes place at the level of requirements and the environment, in order to guarantee that the system continues to satisfy the needs of its stakeholders and the constraints (be them physical, economical, legal, etc.) of its operational environment.
A particular instance of software evolution is the one that takes place in a (semi-)autonomous ways, i.e., in the context of adaptive or autonomic systems. An Adaptive System is one that evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible. Such evaluation is done, necessarily, by means of a feedback loop, such as the MAPE (monitor, analyze, plan, execute) loop proposed for autonomic systems. In this case, the possible evolutions have already been programmed in this feedback loop cycle.
Both in the case of unanticipated evolution and in the case of adaptive systems, in which the evolution has already been programmed, requirements have a central role in Software Evolution, i.e., it is important to discuss the support for evolution and adaptation in the context of Requirements Engineering. Often, it is the changes in stakeholder requirements that trigger software evolution activities. Without taking requirements into consideration, it is not possible to guarantee that the needs of stakeholders are being satisfied and that the choices in the context of software evolution are the most appropriate. Of course, this does not prevent solutions to be studied and applied also in other contexts, such as in the software architectural components.
ROSE – Requirements, Ontologies and Software Evolution – is a research project funded in the context of CNPq’s (Brazilian National Research Council) Call 28/2018 – Universal and led by prof. Vítor E. Silva Souza. In this project, we focus in the domain of Requirements Engineering (RE) and, in particular, Goal-Oriented Requirements Engineering (GORE). By analyzing the matter of Software Evolution under the perspective of Requirements Engineering, we face the need to create representations (models) of requirements and related concepts, in a way that such representations guide software evolution. Given the existence of numerous approaches for the representation of requirements models and the fact that requirements are represented from the very early phases of elicitation all the way until software execution, we inevitably incur in conceptual modeling problems, such as construct overload, excess, redundancy or incompleteness. As an example of overload, the requirement construct itself can mean an intention of a stakeholder at an early elicitation phase, a document artifact that represents a possible solution in a subsequent phase, or even a code artifact at runtime that allows an adaptive system to reason over its requirements model.
In this project, we use ontologies as conceptual tools to deal with these and other conceptual modeling problems in toe GORE domain, and with a focus on Software Evolution issues. An ontology as a computational artifact, i.e., an explicit and formal specification of a shared conceptualization, can aid in the mitigation of these problems and has already been attracting the attention of the RE community. By explicitly and formally defining the concepts, relations and constraints in a domain of interest, an ontology can be used to facilitate the integration of data, models and systems developed independently, to support the communication of people working in this universe of discourse, and as a reusable specification for the development of systems in this domain. In other words, ontology are widely accepted in the scientific literature as tools that promote semantic and interoperability among entities of different nature.
Objectives
The main objective of this project is to use ontologies as conceptual tools in the domain of Software Requirements Engineering, particularly in the context of Goal-Oriented Requirements Engineering (GORE) and with a focus on issues related to Software Evolution. This objective can be decomposed in the following specific ones:
- O1. Perform ontological analysis of the main GORE modeling languages, aiming to propose a unified, ontologically well-founded language for Goal-Oriented Requirements Engineering;
- O2. Develop methods and tools based on ontologies in order to aid in the integration of artifacts produced throughout the entire software life-cycle, aiming to propose configuration management and software evolution approaches based on this semantic framework;
- O3. Develop methods and tools based on ontologies for the development of requirements-based adaptive systems, as a particular aspect of software evolution, i.e., software that adapt/evolve in a (semi-)autonomous way.
Project-related resources
At the end of this page there is a list of publications related to this project (published along the duration of the project and also before the project, in the same research context). We list below other resources related to the publications of the project:
Artifacts related to the paper “GORO 2.0: Evolving an Ontology for Goal-Oriented Requirements Engineering”:
- GORO 2.0 CQs: complete set of competency questions for GORO 2.0;
- GORO 2.0 Mapping: complete mapping of GORO 2.0 concepts to the constructs of GBRAM, GRL, GSN, i*, iStar, KAOS, NFR, Techne e Tropos;
- nemo-ufes/gorotool: source-code repository for the GORE model conversion tool based on GORO 2.0;
- nemo-ufes/gorotool/wiki: wiki for the GORE model conversion tool based on GORO 2.0, with instructions on how to use it.
Artifacts related to Masters dissertation “GORO: uma ontologia sobre requisitos orientados a objetivos”:
- GORO 2019 Experiment Results: files related to the experiment in which members of NEMO were invited to participate, producing models in different GORE languages for a comparison among models using GORO to interoperate across languages.
Project-related publications
2019
- C. H. Bernabé, V. S. E. Souza, R. A. de Falbo, R. S. S. Guizzardi, and C. Silva, “GORO 2.0: Evolving an Ontology for Goal-Oriented Requirements Engineering,” in Proc. of the 2019 International Workshop on Ontologies and Conceptual Modelling (Onto.com 2019), Salvador, BA, Brazil, 2019, p. 169–179.
- C. H. Bernabé, P. P. Negri, V. S. E. Souza, R. S. S. Guizzardi, and C. Silva, “Using GORO to Provide Ontological Interpretations of iStar Constructs,” in Proc. of the 12th International i* Workshop (iStar 2019), Salvador, BA, Brazil, 2019, p. 1–7.
- C. Almendra, C. Silva, V. S. E. Souza, R. S. S. Guizzardi, and C. H. Bernabé, “iStar2.0-OWL: an Operational Ontology for iStar,” in Proc. of the 12th International i* Workshop (iStar 2019), Salvador, BA, Brazil, 2019, p. 1–7.
2018
- C. C. Peçanha, B. B. Duarte, R. A. Falbo, and V. E. S. Souza, “RASO: an Ontology on Requirements for the Development of Adaptive Systems,” Cadernos do IME – Série Informática, vol. 41, iss. 1, p. 57–76, 2018.
- C. C. Peçanha, B. B. Duarte, and V. E. S. Souza, “RASO: an Ontology on Requirements for the Development of Adaptive Systems,” in Proc. of the 21st Workshop on Requirements Engineering (WER 2018), Rio de Janeiro, RJ, Brasil, 2018, p. 1–14.
- B. B. Duarte, R. A. Falbo, G. Guizzardi, R. S. S. Guizzardi, and V. E. S. Souza, “Towards an Ontology of Software Defects, Errors and Failures,” in Proc. of the 37th International Conference on Conceptual Modeling (ER 2018), Xi’an, China, 2018, p. 349–362.
- B. B. Duarte, A. L. C. Leal, R. A. de Falbo, G. Guizzardi, R. S. S. Guizzardi, and V. E. S. Souza, “Ontological foundations for software requirements with a focus on requirements at runtime,” Applied Ontology, vol. 13, iss. 2, p. 73–105, 2018.
- K. Angelopoulos, A. V. Papadopoulos, V. E. S. Souza, and J. Mylopoulos, “Engineering Self-Adaptive Software Systems: From Requirements to Model Predictive Control,” ACM Transactions on Autonomous and Adaptive Systems, vol. 13, iss. 1, p. 1:1–1:27, 2018.
2017
- C. H. Bernabé, P. P. Negri, B. B. Duarte, A. L. C. de Leal, R. S. S. Guizzardi, and V. E. S. Souza, “Unagi: Uma ferramenta para suporte à Modelagem de Requisitos de Sistemas Adaptativos,” in Anais da Sessão de Ferramentas do 8º Congresso Brasileiro de Software: Teoria e Prática (CBSoft 2017), Fortaleza, CE, Brazil, 2017, p. 1–8.
- P. P. Negri, V. E. S. Souza, A. L. C. de Leal, R. A. Falbo, and G. Guizzardi, “Towards an Ontology of Goal-Oriented Requirements,” in Proc. of the 20th Ibero-American Conference on Software Engineering (CIbSE 2017), Requirements Engineering track, Buenos Aires, Argentina, 2017.
2016
- B. B. Duarte, V. E. S. Souza, A. L. C. de Leal, R. A. Falbo, G. Guizzardi, and R. S. S. Guizzardi, “Towards an Ontology of Requirements at Runtime,” in Proc. of the 9th International Conference on Formal Ontology in Information Systems (FOIS 2016), Annecy, France, 2016, p. 255–268.
- K. Angelopoulos, A. V. Papadopoulos, V. E. S. Souza, and J. Mylopoulos, “Model predictive control for software systems with CobRA,” in Proc. of the 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2016), Austin, TX, USA, 2016, p. 35–46.
2015
- K. Angelopoulos, V. E. S. Souza, and J. Mylopoulos, “Capturing Variability in Adaptation Spaces: A Three-Peaks Approach,” in Proc. of the 34th International Conference on Conceptual Modeling (ER 2015), Stockholm, Sweden, 2015, p. 384–398.
2014
- J. Pimentel, J. F. B. Castro, J. Mylopoulos, K. Angelopoulos, and V. E. S. Souza, “From requirements to statecharts via design refinement,” in Proc. of the 29th Annual ACM Symposium on Applied Computing (ACM SAC 2014), 2014, p. 995–1000.
- K. Angelopoulos, V. E. S. Souza, and J. Mylopoulos, “Dealing with multiple failures in Zanshin: a control-theoretic approach,” in Proc. of the 9th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2014), 2014, p. 165–174.
- F. Dalpiaz, V. E. S. Souza, and J. Mylopoulos, “The many faces of operationalization in goal-oriented requirements engineering,” in Proc. of the 10th Asia-Pacific Conference on Conceptual Modelling (APCCM 2014), 2014, p. 3–7.
2013
- V. E. S. Souza and J. Mylopoulos, “Designing an adaptive computer-aided ambulance dispatch system with Zanshin: an experience report,” Software: Practice and Experience, vol. 45, iss. 5, p. 689–725, 2013.
- V. E. S. Souza, A. Lapouchnian, K. Angelopoulos, and J. Mylopoulos, “Requirements-driven software evolution,” Computer Science – Research and Development, vol. 28, iss. 4, p. 311–329, 2013.
- J. Pimentel, K. Angelopoulos, V. E. S. Souza, J. Mylopoulos, and J. F. B. Castro, “From Requirements to Architectures for Better Adaptive Software Systems,” in Proc. of the 6th International i* Workshop (iStar 2013), 2013, p. 91–96.
- V. E. S. Souza and R. S. S. Guizzardi, “Usando Modelos de Requisito em Tempo de Execução: Potencial e Desafios,” in Proc. of Requirements Engineering@Brazil 2013 (ER@BR 2013), 2013, p. 1–6.
- S. Ingolfo and V. E. S. Souza, “Law and Adaptivity in Requirements Engineering,” in Proc. of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013), 2013, p. 163–168.
- G. Tallabaci and V. E. S. Souza, “Engineering Adaptation with Zanshin: an Experience Report,” in Proc. of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013), 2013, p. 93–102.
- K. Angelopoulos, V. E. S. Souza, and J. Pimentel, “Requirements and Architectural Approaches to Adaptive Software Systems: A Comparative Study,” in Proc. of the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2013), 2013, p. 23–32.
- V. E. S. Souza, A. Lapouchnian, W. N. Robinson, and J. Mylopoulos, “Awareness Requirements,” in Software Engineering for Self-Adaptive Systems II, R. Lemos, H. Giese, H. A. Müller, and M. Shaw, Eds., Springer, 2013, vol. 7475, p. 133–161.
2012
- V. E. S. Souza, A. Lapouchnian, and J. Mylopoulos, “Requirements-Driven Qualitative Adaptation,” in Proc. of the 20th International Conference on Cooperative Information Systems (CoopIS 2012), Rome, Italy, 2012, p. 342–361.
- V. E. S. Souza, “Requirements-based Software System Adaptation,” PhD Thesis, University of Trento, Italy, 2012.
- V. E. S. Souza, “A requirements-based approach for the design of adaptive systems,” in Proc. of the 34th International Conference on Software Engineering (ACM Student Research Competition), 2012, p. 1635–1637.
- V. E. S. Souza, A. Lapouchnian, and J. Mylopoulos, “(Requirement) Evolution Requirements for Adaptive Systems,” in Proc. of the 7th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2012), 2012, p. 155–164.
- V. E. S. Souza, J. Mazón, I. Garrigós, J. Trujillo, and J. Mylopoulos, “Monitoring Strategic Goals in Data Warehouses with Awareness Requirements,” in Proc. of the 2012 ACM Symposium on Applied Computing (ACM SAC 2012), 2012, p. 1075–1082.
2011
- V. E. S. Souza, A. Lapouchnian, and J. Mylopoulos, “System Identification for Adaptive Software Systems: a Requirements Engineering Perspective,” in Proc. of the 30th International Conference on Conceptual Modeling (ER 2011), Brussels, Belgium, 2011, p. 346–361.
- V. E. S. Souza and J. Mylopoulos, “From Awareness Requirements to Adaptive Systems: a Control-Theoretic Approach,” in Proc. of the 2nd International Workshop on Requirements@Run.Time (RRT 2011), 2011, p. 9–15.
- R. Ali, F. Dalpiaz, P. Giorgini, and V. E. S. Souza, “Requirements Evolution: From Assumptions to Reality,” in Proc. of the 12th International Conference on Enterprise, Business-Process and Information Systems Modeling, London, UK, 2011, p. 372–382.
- V. E. S. Souza, A. Lapouchnian, W. N. Robinson, and J. Mylopoulos, “Awareness Requirements for Adaptive Systems,” in Proc. of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2011), 2011, p. 60–69.
2010
- R. Ali, A. K. Chopra, F. Dalpiaz, P. Giorgini, J. Mylopoulos, and V. E. S. Souza, “The Evolution of Tropos: Contexts, Commitments and Adaptivity,” in Proc. of the 4th International i* Workshop (iStar 2010), 2010, p. 15–19.
2009
- V. E. S. Souza and J. Mylopoulos, “Monitoring and Diagnosing Malicious Attacks with Autonomic Software,” in Proc. of the 28th International Conference on Conceptual Modeling (ER 2009), Gramado, RS, Brazil, 2009, p. 84–98.
Contact
For further information on the ROSE project, please contact prof. Vítor E. Silva Souza, principal investigator in the project.