An Approach to Requirement Engineering Based on a Possibilistic BDI Model
Supervisors Andrea G. B. Tettamanzi et Isabelle Mirbel
The Web has proven to be a catalyst for innovation in terms of architecture, protocols, paradigms, and programming languages â€‹â€‹that have profoundly changed the way we build and use computer applications. It has given a tremendous boost to remote collaborative work and more and more tools have emerged, such as forums, blogs, or wikis. In the field of software development, online platforms for collaborative development, such as Launchpad, or for collecting user requirements, such as OneDesk, are examples of initiatives in which the end users of IT applications are more likely to freely express their views and needs. At the same time, crowdsourcing approaches, such as crowdfunding, crowdvoting, or blogsourcing, for example, have proliferated. It is now possible to take advantage of easy access to a large number of people to achieve a given objective.
In this context, this theses addresses the following question: "How to exploit the wealth of data and interactions made â€‹â€‹available on the Web to capture and translate the needs of users in terms of technical solutions, specifically, how to use the Web to manage these requirements?"
Platforms for collaborative online development make it possible to share a large number of varied artifacts supporting the requirements engineering process. These artifacts, from the less structured, like conversation threads, to the more structured, like user stories, need to be organized. Tools are needed to enable stakeholders to access these numerous requirements and manipulate them throughout the software development lifecycle, while ensuring the coherence of the whole.
In this context, we propose an approach which consists in establishing a correspondence between a beliefs-desires-intentions (BDI) model based on possibility theory recently developed in the framework of the theory of cognitive agents  and the requirements engineering process . This correspondence will be leveraged to formally model the decomposition and dependencies between requirements and to formulate a method for conflict resolution among the requirements of different users and for their prioritization.
The beliefs of the BDI model represent the assumptions about the problem concerned by the software under development, namely knowledge about the business domain (such as rules) and the context of the development project . Logical approaches to revision and fusion of beliefs, including approaches based on argumentation theory will be used to merge beliefs from heterogeneous sources and obtain a consistent set of requirements.
The needs expressed by the various stakeholders correspond to the desires of the BDI model. A distinctive feature of desires is that they can be contradictory and inconsistent. In addition, we know from the BDI model that desires can have different degrees of justification, which are the result of a deliberative process.
The Intentions (or goals) of the BDI model are a subset of desires, which is consistent both internally and with beliefs. In the context of requirements engineering, goals represent the requirements deduced from the needs freely expressed by the stakeholders. This is where the methods developed in the framework of the BDI model can intervene to enable conflict resolution and selection of a maximal consistent set of requirements, taking into account both the needs expressed by stakeholders (desires) and contextual elements of the project and the business domain (beliefs) .
A first step in this direction has been carried out using argumentation theory to formally model the decomposition and dependencies that may exist between requirements expressed as goals . Argumentation theory allows to identify consistent subsets of requirements as well as their coupling with the different categories of users.
The Linking Open Data project (LOD), which aims at building the web of open linked data by making various sources of open data available on the Web in RDF format and adding RDF links between data from these different sources, now makes it possible to enrich knowledge on a given subject with knowledge available online. Within the framework of requirements engineering, such an enrichment makes it possible to reason about a priori knowledge, usually little formalized (user stories, blogs, ...). Semantic Web techniques and languages â€‹â€‹ will aggregate different sources and areas of information in order to expand the possibilities of information and/or connection search; the theory of cognitive agents and argumentation theory will be used to reason about these sets of extended knowledge.
The ultimate goal of this research is to propose a decision support system for the negotiation and prioritization of requirements. This tool should be able to provide those in charge of software development, based on many and varied artifacts exploited throughout the software development process, with instruments for managing requirements, thanks to a global, coherent, and state-of-the-art vision of the software under development.
Isabelle MIRBEL - firstname.lastname@example.org
Andrea G. B. Tettamanzi - email@example.com
|||Célia Da Costa Pereira, and Andrea Tettamanzi, -- An integrated possibilistic framework for goal generation in cognitive agents -- AAMAS, 2010, pp. 1239-1246.|
|||Célia Da Costa Pereira, and Andrea Tettamanzi, -- Belief-Goal Relationships in Possibilistic Goal Generation -- ECAI, Frontiers in Artificial Intelligence and Applications, 2010, pp. 641-646.|
|||Célia Da Costa Pereira, and Andrea Tettamanzi, and Serena Villata, -- Changing One's Mind: Erase or Rewind? -- IJCAI, 2011, pp. 164-171.|
|||Fabien Gandon, C. F. O. C. -- Le web sémantique : Comment lier les données et les schémas sur le web ? -- Dunod, 2012.|
|||Isabelle Mirbel, -- A Polymorphic Context Frame to Support Scalability and Evolvability of Information System Development Processes -- ICEIS (3), 2004, pp. 131-138.|
|||Isabelle Mirbel, and Serena Villata, -- Enhancing Goal-Based Requirements Consistency: An Argumentation-Based Approach -- CLIMA, Lecture Notes in Computer Science, 2012, pp. 110-127.|
|||Klaus Pohl, -- Requirements Engineering - Fundamentals, Principles, and Techniques -- Springer, 2010, pp. I-XVII, 1-813.|