- Goal-Oriented Requirements Engineering, Requirements Engineering, Web Engineering, Engineering of Self-Adaptive Software Systems, Modeling, Semantic Web, and 5 moreSemantic Web Technologies, Semantic Web technology - Ontologies, Applied Ontology, Ontology (Computer Science), and Software Engineeringedit
The growing interest in developing adaptive systems has led to numerous proposals for approaches aimed at supporting their develop- ment. Some approaches dene adaptation mechanisms in terms of archi- tectural design, consisting of... more
The growing interest in developing adaptive systems has led to numerous proposals for approaches aimed at supporting their develop- ment. Some approaches dene adaptation mechanisms in terms of archi- tectural design, consisting of concepts such as components, connectors and states. Other approaches are requirements-based, thus concerned with goals, tasks, contexts and preferences as concepts in terms of which adaptation is dened. By considering only a problem- or a solution- oriented view, such proposals are limited in specifying adaptive behavior. In this paper we present ongoing work on supporting the design and run- time execution of adaptive software systems both at a requirements and architectural level, as wells as its challenges, ranging from architectural derivation from requirements to rened adaptation control mechanisms.
Research Interests:
The use of object/relational mapping (ORM) frameworks is the stateof-practice in software development, with several ORM frameworks for different object-oriented programming languages. However, to our knowledge, there is no formal... more
The use of object/relational mapping (ORM) frameworks is the stateof-practice in software development, with several ORM frameworks for different object-oriented programming languages. However, to our knowledge, there is no formal definition of the concepts related to these frameworks, which could serve as basis for semantic interoperability tasks (e.g., code migration) or in the definition of architectural smells independently of the chosen framework. In this work, we present ORM-O, a domain reference ontology that aims to identify and represent the semantics of object/relational mapping when such frameworks are used in software development.
Research Interests:
With the rise of polyglot programming, different programming languages with different constructs have been combined in the same software development projects. However, to our knowledge, no axiomatization demonstrating the existential... more
With the rise of polyglot programming, different programming languages with different constructs have been combined in the same software development projects. However, to our knowledge, no axiomatization demonstrating the existential commitments of a language have been presented, nor is there effort to adopt a consensual conceptualization between languages, in particular object-oriented ones. In this paper, we propose OOC-O, a reference ontology on Object-Oriented Code whose purpose is to identify and represent the fundamental concepts present in OO source code. The ontology is based on UFO, was developed according to the SABiO method, verified according to its competency questions and validated by instantiation of concepts in OO code form and a process of harmonization among popular object-oriented languages.
Research Interests:
Nowadays, there are more and more software systems operating in highly open, dynamic and unpredictable environments. Moreover, as technology advances, requirements for these systems become ever more ambitious. We have reached a point... more
Nowadays, there are more and more software systems operating in highly open, dynamic and unpredictable environments. Moreover, as technology advances, requirements for these systems become ever more ambitious. We have reached a point where system complexity and environmental uncertainty are major challenges for the Information Technology industry. A solution proposed to deal with this challenge is to make systems (self-)adaptive, meaning they would evaluate their own behavior and performance, in order to re-plan and reconfigure their operations when needed. In order to develop an adaptive system, one needs to account for some kind of feedback loop. A feedback loop constitutes an architectural prosthetic to a system proper, introducing monitoring and adaptation functionalities to the overall system. Even if implicit or hidden in the system's architecture, adaptive systems must have a feedback loop among their components in order to evaluate their behavior and act accordingly. In ...
Research Interests:
Recently, we have seen an increasing interest in ontologies as artifacts to represent knowledge and as critical elements in knowledge management, requirements engineering and several other application areas. In DomainOriented Software... more
Recently, we have seen an increasing interest in ontologies as artifacts to represent knowledge and as critical elements in knowledge management, requirements engineering and several other application areas. In DomainOriented Software Development Environments, ontologies are used as domain models that can be used to guide requirements engineering. Thus, in this kind of environment, tools supporting ontology development are necessary. In the context of ODE (Ontology-based software Development Environment), we developed ODEd, an ontology editor. The initial version of ODEd, however, offered limited support for defining axioms and for ontology evaluation. In order to overcome such limitations, we improved ODEd adding an axiom editor to it. In this paper we discuss how this axiom editor supports axiom definition and ontology evaluation using an inference engine.
Research Interests:
Self-adaptive software systems monitor their operation and adapt when their requirements fail due to unexpected phenomena in their environment. This paper examines the case where the environment changes dynamically over time and the... more
Self-adaptive software systems monitor their operation and adapt when their requirements fail due to unexpected phenomena in their environment. This paper examines the case where the environment changes dynamically over time and the chosen adaptation has to take into account such changes. In control theory, this type of adaptation is known as Model Predictive Control and comes with a well-developed theory and myriads of successful applications. The paper focuses on modelling the dynamic relationship between requirements and possible adaptations. It then proposes a controller that exploits this relationship to optimize the satisfaction of requirements relative to a cost-function. This is accomplished through a model-based framework for designing self- adaptive software systems that can guarantee a certain level of requirements satisfaction over time, by dynamically composing adaptation strategies when necessary. The proposed framework is illustrated and evaluated through a simulation of the Meeting-Scheduling System exemplar.
Research Interests:
Software evolution is the main research focus of the Tropos group at University of Trento (UniTN): how do we build systems that are aware of their requirements, and are able to dynamically reconfigure themselves in response to changes in... more
Software evolution is the main research focus of the Tropos group at University of Trento (UniTN): how do we build systems that are aware of their requirements, and are able to dynamically reconfigure themselves in response to changes in context (the environment within which they operate) and requirements. The purpose of this report is to offer an overview of ongoing work at UniTN. In particular, the report presents ideas and results of four lines of research: contextual requirements modeling and reasoning, commitments and goal models, developing self-reconfigurable systems, and requirements awareness.
Research Interests:
Goal-Oriented Requirements Engineering (GORE) has grown into an important area of research in the past decades. Still, some of its corners remain dark, since different GORE languages do not provide a well-founded conceptualization of the... more
Goal-Oriented Requirements Engineering (GORE) has grown into an important area of research in the past decades. Still, some of its corners remain dark, since different GORE languages do not provide a well-founded conceptualization of the domain and are not consensual. This may lead to ambiguous or weak understanding of GORE concepts. In this paper, we introduce the Goal-Oriented Requirements Ontology (GORO), a domain ontology founded on the Unified Foundational Ontology (UFO) that intends to represent the nature and relations of concepts surrounding the GORE domain. We use GORO to explore and clarify the semantics used, sometimes implicitly, by well-known GORE languages.
Research Interests: Information Systems, Computer Science, Information Science, Applied Ontology, Conceptual Modelling, and 15 moreLibrary and Information Science, Knowledge Management in Software Engineering, Goal Orientations Theory, Knowledge Representation, Goal Oriented Requirements Engineering, Conceptual Modeling, Conceptual Modeling and Semantic Models, Conceptual Model, Knowledge Representation and Reasoning, Conceptual Data Modeling, Non Functional Requirements, Elicitação De Requisitos, Engenharia De Requisitos, Goal oriented Modelling, and Knowledge Representations
Relational database systems is a well-known domain and an essential component of life in modern society. However, a well-founded ontological conceptualization of this domain is not yet defined and shared by the community, nor applied as a... more
Relational database systems is a well-known domain and an essential component of life in modern society. However, a well-founded ontological conceptualization of this domain is not yet defined and shared by the community, nor applied as a solution to problems such as semantic interoperability, database migration, etc. In this paper, we present RDBS-O, a well-founded reference ontology on the relational database domain, rigorously constructed, verified and validated according to an ontology engineering method. In addition to a reference ontology, we also implement and test its operational version, using it to automatic instantiate the ontology from a real database sample.
Electrical submersible pumps are devices frequently used in off-shore oil exploration. Vibration signals analysis and expert systems technology are used for detecting faults on these motor pumps. Fault diagnosis classifiers may need to be... more
Electrical submersible pumps are devices frequently used in off-shore oil exploration. Vibration signals analysis and expert systems technology are used for detecting faults on these motor pumps. Fault diagnosis classifiers may need to be updated or expanded. This paper proposes a domain specific language for enabling non-programmer engineers to create and adjust rule-based fault diagnosis classifiers of electrical submersible pumps.
Goal-Oriented Requirements Engineering (GORE) gained prominence by covering some of the limitations of traditional Requirements Engineering (RE). As a result, many GORE modeling languages have been proposed since this field emerged.... more
Goal-Oriented Requirements Engineering (GORE) gained prominence by covering some of the limitations of traditional Requirements Engineering (RE). As a result, many GORE modeling languages have been proposed since this field emerged. Aiming at providing formal semantics to the concepts of GORE, the Goal-Oriented Requirements Ontology (GORO) was proposed as a common vocabulary for this domain. However, the first version of GORO lacks important concepts and its applicability was not demonstrated in practice. In this paper, we present GORO 2.0, an evolution of the first version of GORO that overcomes several limitations of its first version, presenting new concepts such as obstacles, conflicts and contributions.
i* is the most popular goal modeling language and, therefore, has several dialects that can interpret its concepts in different ways. iStar 2.0 was designed to lessen the misinterpretation problems of its constructs. Concepts can be... more
i* is the most popular goal modeling language and, therefore, has several dialects that can interpret its concepts in different ways. iStar 2.0 was designed to lessen the misinterpretation problems of its constructs. Concepts can be well-defined in the language but, if not used properly, the produced models may become inconsistent. An ontology can be used to verify and help the construction of correct and consistent models. GORO is an ontology about GORE that was built based on different goal modeling languages. This paper interprets some iStar ’s constructs and proposes some discussions in the light of GORO.
Requirements engineering comprises activities for discovery, analysis and specification of users’ needs and goals for a software system. In an early phase of software development, it is essential not to discard alternatives until some... more
Requirements engineering comprises activities for discovery, analysis and specification of users’ needs and goals for a software system. In an early phase of software development, it is essential not to discard alternatives until some reasoning or evaluation is taken. Goal-oriented requirement engineering provides means for dealing with goals, needs and its alternative options for realization. However, analysis of large scale or complex systems requirements may be hard to be accomplished and error prone. Knowledge-based systems are a good tool to assist analysts in carrying out such analysis. This work proposes an operational ontology to represent iStar 2.0 models using OWL-DL.
Resumo Pesquisadores têm cada vez mais direcionado sua atenção ao uso de modelos em tempo de execução (runtime), provendo ferramentas e frameworks que auxiliam os desenvolvedores na tarefa de construir software alinhado a seus... more
Resumo Pesquisadores têm cada vez mais direcionado sua atenção ao uso de modelos em tempo de execução (runtime), provendo ferramentas e frameworks que auxiliam os desenvolvedores na tarefa de construir software alinhado a seus requisitos/arquitetura. Em particular, algumas pesquisas em Engenharia de Requisitos concentraram-se em desenvolver sistemas de software que possuam a capacidade de ler seus próprios modelos de requisitos e tomar decisões a partir de uma análise do mesmo. É uma tendência comum, por exemplo, na área de sistemas adaptativos, para a qual contribúımos recentemente. Neste artigo, propomos um novo projeto de pesquisa sobre o uso de modelos de requisitos em tempo de execução, discutindo seus potenciais benef́ıcios e os desafios envolvidos.
Organizations often use several applications to support business processes. However, these applications usually are heterogeneous, autonomous and distributed. In this context, Enterprise Application Integration (EAI) initiatives are... more
Organizations often use several applications to support business processes. However, these applications usually are heterogeneous, autonomous and distributed. In this context, Enterprise Application Integration (EAI) initiatives are needed. Ontologies play a key role in EAI, capturing the conceptualization underlying the various applications to be integrated and providing an “interlingua” to support EAI. This paper presents a semantic EAI initiative in the Public Security domain, particularly in the Violent Crimes against Life subdomain. To assign semantics to the integrated applications, we developed and used the Violent Crime Process Ontology Network, which is partially presented in this paper.
Research Interests:
The different ways of representing a source code in different programming languages create a heterogeneous context. In addition, the use of multiple programming languages in a single source code (polyglot programming) brings a wide choice... more
The different ways of representing a source code in different programming languages create a heterogeneous context. In addition, the use of multiple programming languages in a single source code (polyglot programming) brings a wide choice of terms from different languages, libraries and structures. These facts prevent the direct exchange of information between source codes of different programming languages, requiring specialized knowledge of the programming languages involved. In this article, we present an ontology-based method for source code interoperability that provides an alternative to mitigate heterogeneity problems, aiming to semantically represent the source code written in different programming languages and apply it from different perspectives in a unified way. In this sense, the method is applied in a lab experiment with the objective of validating its methodological aspects, instantiating their respective phases in different subdomains (object orientation and object/relational mapping) and programming languages (Java and Python) in the code smells detection perspective. In addition, the code smell detector produced is evaluated with a set of real-world software projects written in Java and Python.
Research Interests:
Research Interests:
Abstract Billing errors increase the costs of power companies and lower their reliability as perceived by customers. The majority of these errors are due to wrong readings that occur when employees of power companies visit the customers... more
Abstract Billing errors increase the costs of power companies and lower their reliability as perceived by customers. The majority of these errors are due to wrong readings that occur when employees of power companies visit the customers to read electrical meters and issue the bills. To prevent such errors, prediction techniques calculate a predicted value for each customer based on the values of their previous readings, plus a tolerance around this value, sending bills to be inspected by analysts if the reading extrapolates the established range. However, such analysis increases the personnel cost of the power company. In addition, wrongly printed bills lead to possible lawsuits and fines that might also affect the costs and reliability of the power company. The main focus of this work is to minimize personnel cost by reducing the number of correct readings sent to unnecessary analysis, while protecting the power company credibility by not increasing the number of bills with wrong values sent to clients in the process. The proposed solution uses Empirical Bayes methods along with a method to consider seasonal behavior of customers. The methodology was applied to a dataset comprising 35,704,489 measurements from 1,330,989 different customers of a Brazilian power company. The results show that the new methodology was able to decrease the number of correct bills sent to analysis without lowering the reputation of the company.
Research Interests:
Research Interests:
Research Interests:
Research Interests:
The rational management of software defects is a fundamental requirement for a mature software industry. Standards, guides and capability models directly emphasize how important it is for an organization to know and to have a... more
The rational management of software defects is a fundamental requirement for a mature software industry. Standards, guides and capability models directly emphasize how important it is for an organization to know and to have a well-established history of failures, errors and defects as they occur in software activities. The problem is that each of these reference models employs its own vocabulary to deal with these phenomena, which can lead to a deficiency in the understanding of these notions by software engineers, potential interoperability problems between supporting tools, and, consequently, to a poorer adoption of these standards and tools in practice. We address this problem of the lack of a consensual conceptualization in this area by proposing a reference conceptual model (domain ontology) of Software Defects, Errors and Failures, which takes into account an ecosystem of software artifacts. The ontology is grounded on the Unified Foundational Ontology (UFO) and is based on we...
Research Interests: Information Systems, Software Engineering, Information Science, Information Systems (Business Informatics), Ontology, and 15 moreApplied Ontology, Conceptual Modelling, Formal Ontology, Conceptual Modeling, Ontologies, Ontología, Conceptual Modeling and Semantic Models, Ontologias, Ontologia, Conceptual Model, Software Defect Prediction, Software Project Failure, Software Failure Factors, Conceptual Data Modeling, and Ontologías
Research Interests:
We have been witnessing growing interest in systems that can adapt their behavior to deal with deviations between their performance and their requirements at run-time. Such adaptive systems usually need to support some form of a feedback... more
We have been witnessing growing interest in systems that can adapt their behavior to deal with deviations between their performance and their requirements at run-time. Such adaptive systems usually need to support some form of a feedback loop that monitors the system’s output for problems and carries out adaptation actions when necessary. Being an important feature, adaptivity needs to be considered in early stages of development. Therefore, adopting a requirements engineering perspective, we have proposed an approach and a framework (both called Zanshin) for the engineering of adaptive systems based on a feedback loop architecture. As part of our framework’s evaluation, we have applied the Zanshin approach to the design of an adaptive computer-aided ambulance dispatch system, whose requirements were based on a well-known case study from the literature. In this paper, we report on the application of Zanshin for the design of an adaptive computer-aided ambulance dispatch system, presenting elements of the design, as well as the results from simulations of run-time scenarios.
Research Interests:
The functional specification of any software system operationalizes stakeholder requirements. In this paper we focus on a class of requirements that lead to feedback loop operationalizations. These Awareness Requirements talk about the... more
The functional specification of any software system operationalizes stakeholder requirements. In this paper we focus on a class of requirements that lead to feedback loop operationalizations. These Awareness Requirements talk about the runtime success/failure of other requirements and domain assumptions. Our proposal includes a language for expressing awareness requirements, as well as techniques for elicitation and implementation based on the EEAT requirements monitoring framework.
Research Interests:
The Zanshin framework adopts a Requirements Engineering perspective to the design of adaptive systems and is centered around the idea of feedback loops. Evaluation experiments conducted so far have used simulations, limiting the strength... more
The Zanshin framework adopts a Requirements Engineering perspective to the design of adaptive systems and is centered around the idea of feedback loops. Evaluation experiments conducted so far have used simulations, limiting the strength of our conclusions on the viability of our proposal. In this paper, we report on the experience of applying Zanshin to an existing base system, a software that simulates an Automated Teller Machine (ATM), available online, drawing conclusions on the applicability of the framework’s potential in real-life situations.
Research Interests:
The great impact that law has on the design of software systems has been widely recognized in past years. However, little attention has been paid to the challenge of coping with variability characterizing the legal domain (e.g., multiple... more
The great impact that law has on the design of software systems has been widely recognized in past years. However, little attention has been paid to the challenge of coping with variability characterizing the legal domain (e.g., multiple ways to comply with a given law, frequent updates to regulations, different jurisdictions, etc.) on the design of software systems. This position paper advocates the use of adaptation mechanisms in order to support regulatory compliance for software systems. First we show an example of how Zanshin, a requirements-based adaptation framework, can be used to design a system that adapts to legal requirements to accommodate legal variability. Then we examine how legal texts can be analyzed as sources for parameters and indicators needed to support adaptation. As motivating running example we consider legal situations concerning the Google driverless car and its recent legalization in the highways of Nevada and soon also in California.
Research Interests:
Nowadays, there are more and more software systems operating in highly open, dynamic and unpredictable environments. Moreover, as technology advances, requirements for these systems become ever more ambitious. We have reached a point... more
Nowadays, there are more and more software systems operating in highly open, dynamic and unpredictable environments. Moreover, as technology advances, requirements for these systems become ever more ambitious. We have reached a point where system complexity and environmental uncertainty are major challenges for the Information Technology industry. A solution proposed to deal with this challenge is to make systems (self-)adaptive, meaning they would evaluate their own behavior and performance, in order to re-plan and reconfigure their operations when needed. In order to develop an adaptive system, one needs to account for some kind of feedback loop. A feedback loop constitutes an architectural prosthetic to a system proper, introducing monitoring and adaptation functionalities to the overall system. Even if implicit or hidden in the system's architecture, adaptive systems must have a feedback loop among their components in order to evaluate their behavior and act accordingly. In this thesis, we take a Requirements Engineering perspective to the design of adaptive software systems and, given that feedback loops constitute an (architectural) solution for adaptation, we ask the question: what is the requirements problem this solution is intended to solve? To answer this question, we define two new classes of requirements: Awareness Requirements prescribe the indicators of requirements convergence that the system must strive to achieve, whereas Evolution Requirements represent adaptation strategies in terms of changes in the requirements models themselves. Moreover, we propose that System Identification be conducted to elicit parameters and analyze how changes in these parameters affect the monitored indicators, representing such effect using differential relations. These new elements represent the requirements for adaptation, making feedback loops a first-class citizen in the requirements specification. Not only they assist requirements engineers in the task of elicitation and communication of adaptation requirements, but with the proper machine-readable representations, they can serve as input to a framework that implements the generic functionalities of a feedback loop, reasoning about requirements at runtime. We have developed one such framework, called Zanshin, and validated our proposals through experiments based on a well-known case study adopted from the literature.
Research Interests:
Coping with run-time uncertainty pose an ever-present threat to the fulfillment of requirements for most software systems (embedded, robotic, socio-technical, etc.). This is particularly true for large-scale, cooperative information... more
Coping with run-time uncertainty pose an ever-present threat to the fulfillment of requirements for most software systems (embedded, robotic, socio-technical, etc.). This is particularly true for large-scale, cooperative information systems. Adaptation mechanisms constitute a general solution to this problem, consisting of a feedback loop that monitors the environment and compensates for deviating system behavior. In our research, we apply a requirements engineering perspective to the problem of designing adaptive systems, focusing on developing a qualitative software-centric, feedback loop mechanism as the architecture that operationalizes adaptivity. In this paper, we propose a framework that provides qualitative adaptation to target systems based on information from their requirements models. The key characteristc of this framework is extensibility, allowing for it to cope with qualitative information about the impact of control (input) variables on indicators (output variables) in different levels of precision. Our proposal is evaluated with a variant of the London Ambulance System case study.
Research Interests:
Complexity is now one of the major challenges for the IT industry [1]. Systems might become too complex to be managed by humans and, thus, will have to be self-managed: Self-configure themselves for operation, self-protect from attacks,... more
Complexity is now one of the major challenges for the IT industry [1]. Systems might become too complex to be managed by humans and, thus, will have to be self-managed: Self-configure themselves for operation, self-protect from attacks, self-heal from errors and self-tune for optimal performance [2]. (Self-)Adaptive systems evaluate their own behavior and change it when the evaluation indicates that it is not accomplishing the software's purpose or when better functionality and performance are possible [3]. To that end, we need to monitor the behavior of the running system and compare it to an explicit formulation of requirements and domain assumptions [4]. Feedback loops (e.g., the MAPE loop [2]) constitute an architectural solution for this and, as proposed by past research [5], should be a first class citizen in the design of such systems. We advocate that adaptive systems should be designed this way from as early as Requirements Engineering and that reasoning over requirements is fundamental for run-time adaptation. We therefore propose an approach for the design of adaptive systems based on requirements and inspired in control theory [6]. Our proposal is goal-oriented and targets softwareintensive socio-technical systems [7], in an attempt to integrate control-loop approaches with decentralized agents inspired approaches [8]. Our final objective is a set of extensions to state-of-the-art goal-oriented modeling languages that allow practitioners to clearly specify the requirements of adaptive systems and a run-time framework that helps developers implement such requirements. In this 2-page abstract paper, we summarize this approach.
Research Interests:
It is often the case that stakeholders want to strengthen/weaken or otherwise change their requirements for a system-to-be when certain conditions apply at runtime. For example, stakeholders may decide that if requirement R is violated... more
It is often the case that stakeholders want to strengthen/weaken or otherwise change their requirements for a system-to-be when certain conditions apply at runtime. For example, stakeholders may decide that if requirement R is violated more than N times in a week, it should be relaxed to a less demanding one R-. Such evolution requirements play an important role in the lifetime of a software system in that they define possible changes to requirements, along with the conditions under which these changes apply. In this paper we focus on this family of requirements, how to model them and how to operationalize them at runtime. In addition, we evaluate our proposal with a case study adopted from the literature.
Research Interests:
A data warehouse (DW) system stores data from multiple data sources in integrated form and provides capabilities for monitoring business operations to ensure compliance to strategic goals. As such, DWs constitute a fundamental building... more
A data warehouse (DW) system stores data from multiple data sources in integrated form and provides capabilities for monitoring business operations to ensure compliance to strategic goals. As such, DWs constitute a fundamental building block for Business Intelligence (BI) operations. In this paper, we introduce the notion of Awareness Requirements (AwReqs) in the requirements analysis and elicitation phase for DWs. In this context, AwReqs provide analysts with the means for eliciting and modeling requirements over performance measures (indicators) to appraise the success or failure of strategic goals. To demonstrate the benefit of our approach, we present a typical business example throughout the paper and show how we can establish in the early stages of DW design the adequacy of the design for BI operations.
Research Interests:
Requirements evolution is a main driver for systems evolution. Traditionally, requirements evolution is associated to changes in the users’ needs and environments. In this paper, we explore another cause for requirements evolution:... more
Requirements evolution is a main driver for systems evolution. Traditionally, requirements evolution is associated to changes in the users’ needs and environments. In this paper, we explore another cause for requirements evolution: assumptions. Requirements engineers often make assumptions stating, for example, that satisfying certain sub-requirements and/or correctly executing certain system functionalities would lead to reach a certain requirement. However, assumptions might be, or eventually become, invalid. We outline an approach to monitor, at runtime, the assumptions in a requirements model and to evolve the model to reflect the validity level of such assumptions. We introduce two types of requirements evolution: autonomic (which evolves the priorities of system alternatives based on their success/failure in meeting requirements) and designer-supported (which detects loci in the requirements model containing invalid assumptions and recommends designers to take evolutionary actions).
Research Interests:
Recently, there has been a growing interest in self-adaptive systems. Roadmap papers in this area point to feedback loops as a promising way of operationalizing adaptivity in such systems. In this paper, we define a new type of... more
Recently, there has been a growing interest in self-adaptive systems. Roadmap papers in this area point to feedback loops as a promising way of operationalizing adaptivity in such systems. In this paper, we define a new type of requirement — called Awareness Requirement — that can refer to other requirements and their success/failures. We propose a way to elicit and formalize such requirements and offer a requirements monitoring framework to support them.
Research Interests:
Control Theory and feedback control in particular have been steadily gaining momentum in software engineering for adaptive systems. Feedback controllers work by continuously measuring system outputs, comparing them with reference targets... more
Control Theory and feedback control in particular have been steadily gaining momentum in software engineering for adaptive systems. Feedback controllers work by continuously measuring system outputs, comparing them with reference targets and adjusting control inputs if there is a mismatch. In Control Theory, quantifying the effects of control input on measured output is a process known as system identification . This process usually relies either on detailed and complex system models or on system observation. In this paper, we adopt a Requirements Engineering perspective and ideas from Qualitative Reasoning to propose a language and a systematic system identification method for adaptive software systems that can be applied at the requirements level, with the system not yet developed and its behavior not completely known.
Research Interests:
Several proposals for the design of adaptive systems rely on some kind of feedback loop that monitors the system output and adapts in case of failure. Roadmap papers in the area advocate the need to make such feedback loops first class... more
Several proposals for the design of adaptive systems rely on some kind of feedback loop that monitors the system output and adapts in case of failure. Roadmap papers in the area advocate the need to make such feedback loops first class entities in adaptive systems design. We go further by adopting a Requirements Engineering perspective that is not only based on feedback loops but also applies other concepts from Control Theory to the design of adaptive systems. Our plans include a framework that reasons over requirements at runtime to provide adaptivity to a system proper. In this position paper, we argue for a control-theoretic view for adaptive systems and outline our long-term research agenda, briefly presenting work that we have already accomplished and discussing our plans for the future.
Research Interests:
Software evolution is the main research focus of the Tropos group at University of Trento (UniTN): how do we build systems that are aware of their requirements, and are able to dynamically reconfigure themselves in response to changes in... more
Software evolution is the main research focus of the Tropos group at University of Trento (UniTN): how do we build systems that are aware of their requirements, and are able to dynamically reconfigure themselves in response to changes in context (the environment within which they operate) and requirements. The purpose of this report is to offer an overview of ongoing work at UniTN. In particular, the report presents ideas and results of four lines of research: contextual requirements modeling and reasoning, commitments and goal models, developing self-reconfigurable systems, and requirements awareness.
Research Interests:
Monitoring and diagnosing (M&D) software based on requirement models is a problem that has recently received a lot of attention in field of Requirement Engineering. In this context, Wang et al. [1] propose a M&D framework that uses goal... more
Monitoring and diagnosing (M&D) software based on requirement models is a problem that has recently received a lot of attention in field of Requirement Engineering. In this context, Wang et al. [1] propose a M&D framework that uses goal models to diagnose failures in software at different levels of granularity. In this paper we extend Wang’s framework to monitor and diagnose malicious attacks. Our extensions include the addition of anti-goals to model attacker intentions, as well as context-based modeling of the domain within which our system operates. The extended framework has been implemented and evaluated through a series of experiments intended to test its scalability.