The growing interest in developing adaptive systems has led to numerous proposals for approaches ... 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.
The use of object/relational mapping (ORM) frameworks is the stateof-practice in software develop... 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.
With the rise of polyglot programming, different programming languages with different constructs ... 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.
Nowadays, there are more and more software systems operating in highly open, dynamic and unpredic... 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 ...
Recently, we have seen an increasing interest in ontologies as artifacts to represent knowledge a... 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.
Self-adaptive software systems monitor their operation and adapt when their requirements fail due... 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.
Software evolution is the main research focus of the Tropos group at University of Trento (UniTN)... 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.
Goal-Oriented Requirements Engineering (GORE) has grown into an important area of research in 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.
Relational database systems is a well-known domain and an essential component of life in modern s... 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 ... 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 limitatio... 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 inter... 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’... 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 exec... 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 applic... 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.
The different ways of representing a source code in different programming languages create a hete... 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.
Engineering Applications of Artificial Intelligence
Abstract Billing errors increase the costs of power companies and lower their reliability as perc... 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.
The growing interest in developing adaptive systems has led to numerous proposals for approaches ... 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.
The use of object/relational mapping (ORM) frameworks is the stateof-practice in software develop... 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.
With the rise of polyglot programming, different programming languages with different constructs ... 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.
Nowadays, there are more and more software systems operating in highly open, dynamic and unpredic... 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 ...
Recently, we have seen an increasing interest in ontologies as artifacts to represent knowledge a... 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.
Self-adaptive software systems monitor their operation and adapt when their requirements fail due... 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.
Software evolution is the main research focus of the Tropos group at University of Trento (UniTN)... 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.
Goal-Oriented Requirements Engineering (GORE) has grown into an important area of research in 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.
Relational database systems is a well-known domain and an essential component of life in modern s... 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 ... 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 limitatio... 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 inter... 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’... 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 exec... 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 applic... 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.
The different ways of representing a source code in different programming languages create a hete... 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.
Engineering Applications of Artificial Intelligence
Abstract Billing errors increase the costs of power companies and lower their reliability as perc... 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.
Uploads
Papers by Vítor Estêvão Silva Souza