User and System Stories: An Agile Approach for Managing Requirements in AOSE

The agile software development life cycle is widely used in industry today due to its highly flexible and iterative processes that facilitate rapid prototyping. There has been recent work in bringing concepts and processes from agile methodologies to agent-oriented software engineering (AOSE). We contribute to this effort by presenting in this paper a novel approach to capturing requirements of agent systems in AOSE using and extending agile concepts. In this paper, we propose to adopt and extend the well-known concept of User Stories to facilitate the development of agent systems. We introduce a novel concept, System Story, that defines requirements from the perspective of the system. These System Stories are refinements of User Stories and provide more intuitive mappings to agent concepts in the design and implementation. We show how our approach allows better traceability of requirements between stories and the different software development artifacts. We validate our proposal with a feature-based comparison to recent related work, and a preliminary user evaluation based on a drone simulation of a simple search and rescue case study.

[1]  Michael Wooldridge,et al.  Programming Multi-Agent Systems in AgentSpeak using Jason (Wiley Series in Agent Technology) , 2007 .

[2]  Stéphane Galland,et al.  The ASPECS Process , 2014, Handbook on Agent-Oriented Design Processes.

[3]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[4]  Winfried Lamersdorf,et al.  Jadex: A BDI Reasoning Engine , 2005, Multi-Agent Programming.

[5]  Michael Winikoff,et al.  Developing intelligent agent systems - a practical guide , 2004, Wiley series in agent technology.

[6]  Virginia Dignum,et al.  Responsible Artificial Intelligence: How to Develop and Use AI in a Responsible Way , 2019, Artificial Intelligence: Foundations, Theory, and Algorithms.

[7]  Antonio Chella,et al.  Tools and patterns in designing multi-agent systems with PASSI , 2004 .

[8]  Stéphane Galland,et al.  SARL: A General-Purpose Agent-Oriented Programming Language , 2014, 2014 IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT).

[9]  Mike Cohn,et al.  User Stories Applied: For Agile Software Development , 2004 .

[10]  Lin Padgham,et al.  Using three AOSE toolkits to develop a sample design , 2009, Int. J. Agent Oriented Softw. Eng..

[11]  Valeria Seidita,et al.  Agile PASSI: An agile process for designing agents , 2006, Comput. Syst. Sci. Eng..

[12]  Scott A. DeLoach,et al.  O-MaSE: a customisable approach to designing and building complex, adaptive multi-agent systems , 2010, Int. J. Agent Oriented Softw. Eng..

[13]  John Thangarajah,et al.  Practical Modelling of Dynamic Decision Making , 2019, SpringerBriefs in Intelligent Systems.

[14]  Manuel Kolp,et al.  User-story driven development of multi-agent systems: A process fragment for agile methods , 2017, Comput. Lang. Syst. Struct..

[15]  Jorge J. Gómez-Sanz,et al.  The INGENIAS Methodology and Tools , 2005 .

[16]  Sahin Albayrak,et al.  An Agile Method for Multiagent Software Engineering , 2014, ANT/SEIT.

[17]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[18]  Wolfgang Reif,et al.  Combining PosoMAS Method Content with Scrum: Agile Software Engineering for Open Self-Organising Systems , 2015, Scalable Comput. Pract. Exp..

[19]  Jeff Sutherland,et al.  The Scrum Guide , 2012 .

[20]  Alma María Gómez-Rodríguez,et al.  Comparing Agile Processes for Agent Oriented Software Engineering , 2010, PROFES.

[21]  Mike Cohn,et al.  Succeeding with Agile: Software Development Using Scrum , 2009 .

[22]  John Thangarajah,et al.  A Framework for Engineering Human/Agent Teaming Systems , 2020, AAAI.

[23]  Nicholas R. Jennings,et al.  The Gaia Methodology for Agent-Oriented Analysis and Design , 2000, Autonomous Agents and Multi-Agent Systems.

[24]  Giuliano Antoniol,et al.  Traceability Fundamentals , 2012, Software and Systems Traceability.

[25]  Carlos Angel Iglesias,et al.  Beast methodology: An agile testing methodology for multi-agent systems based on behaviour driven development , 2013, Information Systems Frontiers.

[26]  Orit Hazzan,et al.  The Agile Manifesto , 2014 .

[27]  John Thangarajah,et al.  Agent Oriented Modelling of Tactical Decision Making , 2015, AAMAS.

[28]  John Thangarajah,et al.  The Conceptual Modelling of Dynamic Teams for Autonomous Systems , 2017, ER.

[29]  Michael Winikoff,et al.  JACKTM Intelligent Agents: An Industrial Strength Platform , 2005, Multi-Agent Programming.