The development of multi-agent software systems is considered a complex task due to (a) the large number and heterogeneity of documents generated during the development of these systems, (b) the lack of support for the whole development life-cycle by existing agent-oriented methodologies requiring the use of different methodologies, and (c) the possible incompleteness of the documents and models generated during the development of the systems.
In order to alleviate the above problems, in this thesis, a traceability framework is described to support the development of multi-agent systems. The framework supports automatic generation of traceability relations and identification of missing elements (i.e., completeness checking) in the models created during the development life-cycle of multi-agent systems using the Belief-Desire-Intention (BDI) architecture.
Traceability has been recognized as an important activity in the software development process. Traceability relations can guarantee and improve software quality and can help with several tasks such as the evolution of software systems, reuse of parts of the system, validation that a system meets its requirements, understanding of the rationale for certain design decisions, identification of common aspects of the system, and analysis of implications of changes in the system.
The traceability framework presented in this thesis concentrates on multi-agent software systems developed using i* framework, Prometheus methodology, and JACK language. Here, a traceability reference model is presented for software artefacts generated when using i* framework, Prometheus methodology, and JACK language. Different types of relations between the artefacts are identified. The framework is based on a rule-based approach to support automatic identification of traceability relations and missing elements between the generated artefacts. Software models represented in XML were used to support the heterogeneity of models and tools used during the software development life-cycle. In the framework, the rules are specified in an extension of XQuery to support (i) representation of the consequence part of the rules, i.e. the actions to be taken when the conditions are satisfied, and (ii) extra functions to cover some of the traceability relations being proposed and completeness checking of the models.
A prototype tool has been developed to illustrate and evaluate the work.
Table of Contents
1. Introduction
1.2 Hypotheses
1.3 Objectives
1.4 Contributions
1.5 Thesis Outline
2. Literature Survey on Traceability
2.1 Traceability Reference Models and Meta-Models
2.2 Traceability Approaches to Capture Trace Relations
2.2.1 Formal Approaches
2.2.2 Process Oriented Approaches
2.2.3 Information Retrieval Approaches
2.2.4 String Matching Approaches
2.2.5 Rule Based Approaches
2.2.6 Run-time approaches
2.2.7 Hypermedia and Information Integration approaches
2.3 Representation, Recording and Maintenance of Traceability Relations
2.4 Visualisation of Traceability Relations
2.5 Use of Traceability Relations
2.6 Traceability Approaches for Multi-Agent Systems
2.7 Performance Measures
2.8 Implication of tools that infer trace relations
2.9 Summary
3. Traceability Reference Model
3.1 Overview of the Reference Model
3.2 Multi-agent Oriented Artefacts
3.2.1 i* Framework
3.2.2 Prometheus
3.2.3 JACK
3.3 Traceability Relations
3.3.1 Traceability Relations between i* and Prometheus
3.2.2 Traceability Relations between Prometheus and JACK
3.4 Summary
4. Traceability Framework
4.1. Overview of the Framework
4.2 Traceability and Completeness Checking Rules
Type 1:
Type 2:
Type 3:
4.3 Extended Functions
4.3.1 Completeness checking functions
4.3.2 XQuery functions
4.3.3 XQueryJACKFunctions
4.3.4 XQueryPDTFunctions
4.3.5 XQuerySimilarityFunctions
4.3.6 XQuerySynonymsFunctions
4.3.7 XQueryTAOMFunctions
4.4 Retratos Tool
4.5 Discussion
4.6 Summary
5. Evaluation and Results
5.1 Criteria for Evaluation
5.2 Automatic Teller Machine
5.2.1 Overview of the Case Study
5.2.2 Artefacts
5.2.3 Evaluation
5.3 Air Traffic Control Environment
5.3.1 Overview of the Case Study
5.3.2 Artefacts
5.3.3 Evaluation
5.4 Electronic Bookstore
5.4.1 Overview of the Case Study
5.4.2 Artefacts
5.4.3 Evaluation
5.5 Discussion
5.6 Threats of Validity
5.7 Summary
6. Conclusion and Future Works
6.1 Overall Conclusions
6.2 Hypotheses
6.3 Objectives
6.4 Contributions
6.5 Future Work
6.5 Final Remarks
Bibliography
Research Objectives and Thematic Focus
The primary research objective is to develop a comprehensive traceability framework for multi-agent systems. This involves enabling automatic generation of traceability relations and facilitating completeness checking to address heterogeneity and potential inconsistencies within models across the entire software development lifecycle (specifically using i* framework, Prometheus methodology, and JACK language).
- Design of a Traceability Reference Model for multi-agent system artefacts.
- Development of a rule-based approach using extended XQuery for automated traceability recovery.
- Implementation of completeness checking mechanisms to identify missing elements and resolve naming inconsistencies.
- Creation of a prototype tool (Retratos) to demonstrate and evaluate the framework.
- Empirical evaluation using three case studies of varying complexity: Automatic Teller Machine, Air Traffic Control Environment, and Electronic Bookstore.
Excerpt from the Book
Chapter 1 - Introduction
A multi-agent system consists of a system composed of several agents that are situated in an environment and that interact with each other and with their environment. Multi-agent systems have been proposed as a solution to implement complex systems that need to run in an environment that is open, distributed and highly interactive. An agent is defined by Wooldridge in (Wooldridge, et al., 1995), (Wooldridge, 2002) as a software component that is “situated in some environment and that is capable of autonomous action in this environment in order to meet its design objectives”. Several types of software components fulfil this definition varying from daemons process in UNIX (Frisch, 2002) to complex decision making systems that control unmanned autonomous vehicles (Agent Oriented Software Limited, 2010).
An intelligent agent is an autonomous software component that is categorised to be pro-active, reactive, and social (Wooldridge, 2002). Pro-activeness means that the agent takes initiative in order to achieve its goals. Reactivity means that the agent perceives its environment and responds to its stimulus according to its goals. Social ability means that the agent will be able to communicate with other agents and have abilities such as co-operation, co-ordination, and negotiation.
Several architectures have been proposed to build multi-agent systems such as Jadex (Pokahr, et al., 2005), Jason (Bordini, et al., 2005), and JACK (Busetta, et al., 1999), (Howden, et al., 2001). Agent architectures can be classified in three categories: deliberative architectures, reactive architectures, hybrid architectures.
Summary of Chapters
Chapter 1 - Introduction: Summarizes the concepts of multi-agent systems and BDI architecture, highlighting the challenges of traceability in such systems.
Chapter 2 - Literature Survey on Traceability: Provides an overview of existing traceability approaches, challenges, and classification of traceability models in software engineering.
Chapter 3 - Traceability Reference Model: Introduces the core reference model for artefacts in i* framework, Prometheus methodology, and JACK, including the classification of traceability relations.
Chapter 4 - Traceability Framework: Details the rule-based approach using XQuery, the prototype tool Retratos, and the implementation of completeness checking functions.
Chapter 5 - Evaluation and Results: Presents the evaluation of the framework through three distinct case studies: Automatic Teller Machine, Air Traffic Control Environment, and Electronic Bookstore.
Chapter 6 - Conclusion and Future Works: Summarizes the research findings, addresses how objectives were met, and suggests future improvements to the framework.
Keywords
Multi-agent systems, BDI architecture, Software Traceability, Traceability Reference Model, Rule-based Framework, Completeness Checking, XQuery, Prometheus Methodology, i* framework, JACK language, Traceability Relations, Automated Traceability, Software Engineering, Model Driven Development, Impact Analysis.
Frequently Asked Questions
What is the core research topic of this thesis?
The work focuses on software traceability for multi-agent systems (MAS) that are implemented using the Belief-Desire-Intention (BDI) architecture.
What are the primary challenges addressed?
The thesis addresses the complexity, heterogeneity of documentation, lack of full lifecycle support in existing agent-oriented methodologies, and potential incompleteness of models in MAS development.
What is the main goal of the proposed framework?
The main goal is to support the automatic generation of traceability relations and to perform completeness checking on software models throughout the development lifecycle.
Which methodologies and technologies are used?
The research integrates the i* framework for early requirements, the Prometheus methodology for analysis and design, and the JACK language for implementation, using XML and an extended version of XQuery to define rules.
How is the effectiveness of the approach validated?
The framework is validated using three distinct case studies: a small ATM system, a medium-sized Air Traffic Control Environment, and a large-sized Electronic Bookstore application.
What is the role of the Retratos tool?
Retratos is a prototype tool developed to execute the defined rules, automatically generate traceability relations, identify missing elements, and produce HTML reports of the findings.
Why are standard information retrieval techniques not sufficient here?
The author argues that standard techniques do not sufficiently capture the specific semantics and structural dependencies between different agent-oriented design and implementation artefacts.
What is the significance of the "degreeOfCompleteness" attribute?
This attribute is used within traceability relations to provide a measure of confidence or the level to which the defined rules for a relation have been satisfied.
- Quote paper
- Gilberto Cysneiros Filho (Author), 2011, Software Traceability for Multi-Agent Systems Implemented Using BDI Architecture (vol. 1), Munich, GRIN Verlag, https://www.hausarbeiten.de/document/278913