3,369 research outputs found
The evolution of tropos: Contexts, commitments and adaptivity
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
Applying tropos to socio-technical system design and runtime configuration
Recent trends in Software Engineering have introduced the importance of reconsidering the traditional idea of software design as a socio-tecnical problem, where human agents are integral part of the system along with hardware and software components. Design and runtime support for Socio-Technical Systems (STSs) requires appropriate modeling techniques and
non-traditional infrastructures. Agent-oriented software methodologies are natural solutions to the development of STSs, both humans and technical components are conceptualized and analyzed as part of the same system. In this paper, we illustrate a number of Tropos features that we believe fundamental to support the development and runtime reconfiguration of STSs.
Particularly, we focus on two critical design issues: risk analysis and location variability. We show how they are integrated and used into a planning-based approach to support the designer in evaluating and choosing the best design alternative. Finally, we present a generic framework to develop self-reconfigurable STSs
Designinig Coordination among Human and Software Agents
The goal of this paper is to propose a new methodology for designing coordination between human angents and software agents and, ultimately, among software agents. The methodology is based on two key ideas. The first is that coordination should be designed in steps, according to a precise software engineering methodology, and starting from the specification of early requirements. The second is that coordination should be modeled as dependency between actors. Two actors may depend on one another because they want to achieve goals, acquire resources or execute a plan. The methodology used is based on Tropos, an agent oriented software engineering methodology presented in earlier papers. The methodology is presented with the help of a case study
Modelling Requirements for Content Recommendation Systems
This paper addresses the modelling of requirements for a content
Recommendation System (RS) for Online Social Networks (OSNs). On OSNs, a user
switches roles constantly between content generator and content receiver. The
goals and softgoals are different when the user is generating a post, as
opposed as replying to a post. In other words, the user is generating instances
of different entities, depending on the role she has: a generator generates
instances of a "post", while the receiver generates instances of a "reply".
Therefore, we believe that when addressing Requirements Engineering (RE) for
RS, it is necessary to distinguish these roles clearly.
We aim to model an essential dynamic on OSN, namely that when a user creates
(posts) content, other users can ignore that content, or themselves start
generating new content in reply, or react to the initial posting. This dynamic
is key to designing OSNs, because it influences how active users are, and how
attractive the OSN is for existing, and to new users. We apply a well-known
Goal Oriented RE (GORE) technique, namely i-star, and show that this language
fails to capture this dynamic, and thus cannot be used alone to model the
problem domain. Hence, in order to represent this dynamic, its relationships to
other OSNs' requirements, and to capture all relevant information, we suggest
using another modelling language, namely Petri Nets, on top of i-star for the
modelling of the problem domain. We use Petri Nets because it is a tool that is
used to simulate the dynamic and concurrent activities of a system and can be
used by both practitioners and theoreticians.Comment: 28 pages, 7 figure
Formalization and Validation of Safety-Critical Requirements
The validation of requirements is a fundamental step in the development
process of safety-critical systems. In safety critical applications such as
aerospace, avionics and railways, the use of formal methods is of paramount
importance both for requirements and for design validation. Nevertheless, while
for the verification of the design, many formal techniques have been conceived
and applied, the research on formal methods for requirements validation is not
yet mature. The main obstacles are that, on the one hand, the correctness of
requirements is not formally defined; on the other hand that the formalization
and the validation of the requirements usually demands a strong involvement of
domain experts. We report on a methodology and a series of techniques that we
developed for the formalization and validation of high-level requirements for
safety-critical applications. The main ingredients are a very expressive formal
language and automatic satisfiability procedures. The language combines
first-order, temporal, and hybrid logic. The satisfiability procedures are
based on model checking and satisfiability modulo theory. We applied this
technology within an industrial project to the validation of railways
requirements
- …