A Product-Line Approach to Promote Asset Reuse in Multi-agent Systems

Software reuse technologies have been a driving force in significantly reducing both the time and cost of software specification, development, maintenance and evolution. However, the dynamic nature of highly autonomous agents in distributed systems is difficult to specify with existing requirements analysis and specification techniques. This paper offers an approach for open, agent-based distributed software systems to capture requirements specifications in such a way that they can be easily reused during the initial requirements phase as well as later if the software needs to be updated. The contribution of this paper is to provide a reusable requirements specification pattern to capture the dynamically changing design configurations of agents and reuse them for future similar systems. This is achieved by adopting a product-line approach for agent-based software engineering. We motivate and illustrate this work through a specific application, a phased deployment of an agent-based, distributed microsatellite constellation.

[1]  Rob Sherwood,et al.  The Techsat-21 autonomous space science agent , 2002, AAMAS '02.

[2]  Robyn R. Lutz,et al.  Tool-Supported Verification of Product Line Requirements , 2005, Automated Software Engineering.

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

[4]  Franco Zambonelli,et al.  Developing multiagent systems: The Gaia methodology , 2003, TSEM.

[5]  Robyn R. Lutz,et al.  Extending the product family approach to support safe reuse , 2000, J. Syst. Softw..

[6]  David M. Weiss,et al.  Software Product-Line Engineering: A Family-Based Software Development Process , 1999 .

[7]  Nicholas R. Jennings,et al.  Agent Theories, Architectures, and Languages: A Survey , 1995, ECAI Workshop on Agent Theories, Architectures, and Languages.

[8]  Shigeru Fujita,et al.  Reusable software components based on an agent model , 2000, Proceedings Seventh International Conference on Parallel and Distributed Systems: Workshops.

[9]  A. Jefferson Offutt,et al.  The Dynamic Domain Reduction Procedure for Test Data Generation: Design and Algorithms , 1994 .

[10]  David M. Weiss,et al.  Defining Families: The Commonality Analysis , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[11]  Franco Zambonelli,et al.  The Gaia Methodology , 2004 .

[12]  Qian Feng,et al.  Bi-directional safety analysis of product lines , 2005, J. Syst. Softw..

[13]  Rob Sherwood,et al.  Lessons learned from autonomous sciencecraft experiment , 2005, AAMAS '05.

[14]  John Mylopoulos,et al.  Towards requirements-driven information systems engineering: the Tropos project , 2002, Inf. Syst..

[15]  Walter Truszkowski,et al.  Distributed planning and scheduling for enhancing spacecraft autonomy , 1999, AGENTS '99.

[16]  Josh Dehlinger,et al.  PLFaultCAT: A Product-Line Software Fault Tree Analysis Tool , 2006, Automated Software Engineering.

[17]  Michael Luck,et al.  Methodologies and Software Engineering for Agent Systems , 2004, Multiagent Systems, Artificial Societies, and Simulated Organizations.

[18]  Paul Clements,et al.  Software product lines - practices and patterns , 2001, SEI series in software engineering.

[19]  Franco Zambonelli,et al.  The Gaia methodology: basic concepts and extensions , 2004 .

[20]  Mark E. Campbell,et al.  Multiple agent-based autonomy for satellite constellations , 2000, Artif. Intell..

[21]  Shonali Krishnaswamy,et al.  Experiences with software engineering of mobile agent applications , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[22]  Ian Sommerville,et al.  Software Engineering (7th Edition) , 2004 .

[23]  Amund Tveit,et al.  A survey of Agent-Oriented Software Engineering , 2001 .

[24]  Leon Sterling,et al.  Specifying roles within agent-oriented software engineering , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

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

[26]  Kyo Chul Kang,et al.  Feature‐oriented engineering of PBX software for adaptability and reuseability , 1999 .

[27]  David M. Weiss,et al.  Software Product Line Engineering , 2005, SEKE.

[28]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[29]  Jaejoon Lee,et al.  Feature-oriented engineering of PBX software , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[30]  Rosario Girardi,et al.  Reuse in Agent-based Application Development , 2002 .

[31]  Mark A. Ardis,et al.  Defining families - Commonality analysis , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).