Standardizing the Requirements Specification of Multi-Agent Systems
Total Page:16
File Type:pdf, Size:1020Kb
Standardizing the Requirements Specification of Multi-Agent Systems by Khaled Ali M Slhoub Master of Computer Science Faculty of Computer Science University of New Brunswick 2008 Bachelor of Science Department of Computer Science University of Benghazi 1999 A dissertation submitted to Florida Institute of Technology in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Computer Science Melbourne, Florida July, 2018 ⃝c Copyright 2018 Khaled Ali M Slhoub All Rights Reserved The author grants permission to make single copies. We the undersigned committee hereby approve the attached dissertation Standardizing the Requirements Specification of Multi-Agent Systems by Khaled Ali M Slhoub Marco Carvalho, Ph.D. Professor/Dean College of Engineering and Computing Committee Chair Muzaffar Shaikh, Ph.D. Professor College of Engineering Outside Committee Member Philip Bernhard, Ph.D. Associate Professor/Director School of Computing Committee Member Walter Bond, Ph.D. Associate Professor School of Computing Committee Member ABSTRACT Title: Standardizing the Requirements Specification of Multi-Agent Systems Author: Khaled Ali M Slhoub Major Advisor: Marco Carvalho, Ph.D. Development of multi-agent systems is negatively impacted by the lack of process standardization across the major development phases, such as the requirements analysis phase. This issue creates a key barrier for agent technology stakeholders regarding comprehending and analyzing complexity associated with agent-oriented specification. Instead, such fundamental low-level infrastructure is loosely attended to in an ad-hoc fashion, and important aspects of requirements analysis are often neglected altogether. The IEEE Std 830 model is a recommended practice aimed at describing how to write better quality requirements specification of conventional software. Knowing that agent-based computing is a natural evolution of the conventional approaches to software development, we believe that the requirements phase in multi-agent systems can benefit from applying the IEEE Std 830 model which results in high-quality and more accepted artifacts. This PhD research provides a criteria-based evaluation derived from the software engineering body of knowledge guide to assessing the adoption degree of agent- oriented methodologies to software requirement standards. It also proposes a model-driven approach to restructuring and extending the IEEE Std 830 model to become more suitable to specify requirements of multi-agent systems. The updated model is subjected to several different types of evaluations to ensure its applicability and usefulness. iii Table of Contents Abstract iii List of Figures viii List of Tables x Abbreviations xi Acknowledgments xii Dedication xiii 1 Introduction 1 1.1 Motivation for Research . 1 1.2 Research Problem Statement & Hypotheses . 3 1.3 Research Scope and Objectives . 4 1.4 Dissertation Structure . 6 2 Background 7 2.1 Agent Orientation . 7 2.1.1 Agent: What and Why . 8 2.1.2 Multi-Agent Systems (MAS) . 12 iv 2.2 Agent-Oriented Software Engineering (AOSE) . 15 2.2.1 AOSE: What and Why . 16 2.2.2 Introduction to Agent-Oriented Methodologies . 20 2.2.2.1 Classification of Agent-Oriented Methodologies .26 2.2.2.2 Examples of AOSE Methodologies . 30 2.2.3 AOSE Challenges . 35 3 Evaluation and Comparison of Agent-Oriented Methodologies 39 3.1 Related Work . 40 3.2 Multi-Agent Systems { the Requirements Analysis Process . 43 3.3 The Selection of Evaluation Criteria . 46 3.3.1 The Software Engineering Body of Knowledge Guide . 47 3.4 Evaluating the Requirements Phase in Agent-Oriented Methodology 48 3.5 Evaluating the Adoption of MAS Requirements to Software Standards 52 4 Recommended Practices for the Requirements Specification of Multi-Agent Systems 54 4.1 Standardizing Agent-Oriented Specification . 55 4.2 The IEEE Std 830-2009 Model . 56 4.3 Using the IEEE Std 830-2009 Model to Standardize Agent-Oriented Specification . 59 4.3.1 Five Data Models for Agent-Oriented Specification . 59 4.3.2 Studying the Sections of the Original IEEE Std 830-2009 Model . 62 5 The Updated IEEE Std 830-2009 Model 70 5.1 The Updated Structure of the IEEE Std 830-2009 Model . 71 v 5.1.1 Introduction . 71 5.1.2 Overall Description . 71 5.1.3 Specific Requirement . 72 5.1.4 Supporting Information . 74 6 Model Validation 76 6.1 Developing a Multi-Agent System Using the Proposed Model . 77 6.2 Comparison to a Previous Attempt of Using the Original IEEE Std 830 Model . 81 6.3 An Evaluation Survey . 82 7 Conclusion 89 7.1 Contributions . 90 7.2 Limitations . 92 7.3 Recommended Future Work . 92 A List of Directly Related Publications 112 B The Requirements Specification of the Item-Trading Multi- Agent System (ITMAS) 113 C Online Evaluation Survey 134 vi List of Figures 2.1 The simplest form of an agent system: a thermostat agent system . 10 2.2 Different domains that employ agent technology [1] . 12 2.3 High-level structure of multi-agent systems [2] . 14 2.4 Agent-based applications by agent system types [1] . 14 2.5 Agent-oriented software engineering thematic map [3] . 19 2.6 The relationships between the methodology components [4] . 22 2.7 AOSE methodologies that are rooted from the OO approaches [5] . 29 2.8 Phases of the MaSE methodology [8] . 31 2.9 the Prometheus methodology structure [6] . 32 2.10 Phases of the PASSI methodology [10] . 33 2.11 Phases of the ADELFE methodology [9] . 34 2.12 the Gaia methodology and relationships among its phases [7] . 34 3.1 The 15 SE knowledge areas defined in the SWEBOK-V3.0 guide [11] 48 3.2 The qualitative evaluation of the three AOSE Methodologies with respect to the RKA subjects . 50 4.1 The IEEE Std 830-2009 model structure . 58 4.2 The five data sets required to meet agent-oriented specification .60 5.1 The updated structure of the IEEE Std 830-2009 model . 75 vii 6.1 The JADE platform for the item-trading multi-agent system (ITMAS) 78 6.2 The UML sequence diagram to visualize messages between the agents 78 6.3 Conversations and coordinations between the agents . 79 6.4 The degree of acceptance of the updated IEEE Std 830-2009 model 85 6.5 The degree of user satisfaction after applying the updated IEEE Std 830-2009 model . 86 6.6 The summary of users' views regarding the given quality attributes as applied to the updated model . 87 6.7 The summary of users' views who agreed with each quality attribute 88 viii List of Tables 2.1 List of AOSE methodologies introduced between 1990 and 2010 [12] 24 2.2 A list of agent-oriented methodologies [13] . 25 2.3 Classification of AOSE methodologies based on the SE models [14] .27 3.1 The qualitative rating scale used to assess the evaluation factors . 49 3.2 The evaluation matrix used to assess the requirements phase in the AOSE methodologies . 51 3.3 The standards evaluation checklist used to determine the adoption degree of MAS requirements to software standards . 53 4.1 Analyzing the IEEE Std 830 model { the Introduction section . 64 4.2 Analyzing the IEEE Std 830 model { the Overall Description section 65 4.3 Analyzing the IEEE Std 830 model { the Specific Requirements section 67 4.4 Analyzing the IEEE Std 830 model { the Supporting Information section . 69 6.1 The evaluation matrix for the ITMAS requirements after applying both UpdModel and OrgModel . 80 6.2 The set of metrics to present the benefits of the proposed IEEE Std 830 model (UpdModel) . 81 6.3 The evaluation matrix used to compare UpdModel and OrgModel . 83 ix 6.4 The 3 sets of the online survey statements given to the participants to scale the updated IEEE Std 830 model . 84 x List of Abbreviations AOSE Agent-Oriented Software Engineering MAS Multi-Agent Systems SE Software Engineering GUI Graphical User Interface SL Semantic Language ACL Agent Communication Language RUP Rational Unified Process model UML Unified Modeling Language SRS Software Requirements Specification ITMAS Item-Trading Multi-Agent System IEEE Institute of Electrical and Electronics Engineers SWEBOK The Software Engineering Body of Knowledge Guide KA Software Engineering Knowledge Area RKA Software Requirements Knowledge Area FIPA Foundation for Intelligent Physical Agents BDI Belief-Desires-Intentions AOP Agent-Oriented Programming languages Std Standards DAI Distributed Artificial Intelligence Systems AI Artificial Intelligence JADE Java Agent DEvelopment Framework OO Object-Oriented concepts UpdModel The Updated IEEE Std 830 model OrgModel The Original IEEE Std 830 model xi Acknowledgements I would like to express my deep gratitude toward those who helped me throughout this experience: First and foremost, I would like to express my great thankfulness and gratitude to my advisor Dr. Marco Carvalho for his guidance, patience, encouragement, and invaluable support throughout my dissertation research. Working with Dr. Carvalho has been a truly rewarding and pleasant experience. I would like to thank my dissertation committee members: Dr. Muzaffar Shaikh, Dr. Philip Bernhard, and Dr. Walter Bond for their advice and comments during the design and analysis of my research work: Additionally, great thanks to Dr. Cem Kaner who provided me with guidance at the beginning of my Ph.D. studies. Very importantly, I would like to express my sincere appreciation to my father, mother, parents-in-law, and siblings, for their love, inspiration, continuous encouragement, and tolerating my constant unavailability. Thank you very much for everything you have done for me. xii Dedication Heartfelt thanks are owed: To my beloved wife Maisa Emneina for her unlimited support, patience, and sacrifice To my lovely kids whose smiles and support always cheer me up! xiii Chapter 1 Introduction 1.1 Motivation for Research In recent years, the paradigm of multi-agent systems (MAS) as a field of distributed artificial intelligence systems (DAI) has become increasingly utilized [1], [2].