Software Traceability for Multi-Agent Systems Implemented Using BDI Architecture (vol. 2) - Gilberto Cysneiros Filho - E-Book

Software Traceability for Multi-Agent Systems Implemented Using BDI Architecture (vol. 2) E-Book

Gilberto Cysneiros Filho

0,0
39,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Doctoral Thesis / Dissertation from the year 2011 in the subject Computer Science - Software, City University London, course: Computer Science, language: English, abstract: 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.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Veröffentlichungsjahr: 2014

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Impressum:

Copyright (c) 2015 GRIN Verlag / Open Publishing GmbH, alle Inhalte urheberrechtlich geschützt. Kopieren und verbreiten nur mit Genehmigung des Verlags.

Bei GRIN macht sich Ihr Wissen bezahlt! Wir veröffentlichen kostenlos Ihre Haus-, Bachelor- und Masterarbeiten.

Jetzt beiwww.grin.com

Contents

 

Figures

Tables

Appendix A - Extended Functions

A.1.1 Completeness checking functions

A.1.1.1 CompletenessChecking functions

A.1.1.2 GetDegreeOfCompleteness function

A.1.1.3 GetDocSourceMissingElement

A.1.1.4 GetIDMissingElement

A.1.1.5 GetNameMissingElement

A.1.1.6 GetNumberOfMissingElement

A.1.1.7 GetDocSourceMissingElementA

A.1.2 XQuery functions

A.1.2.1 CapabilityUsesSDResource function

A.1.2.2 CapabilityUsesSRResource function

A.1.2.3 Contains function

A.1.2.4 Contains function

A.1.2.4 GetAttributeValue function

A.1.2.5 GetTraceabilityFileName function

A.1.2.6 HasRelation function

A.1.2.7 stringTokenizer function

A.1.2.8 stringTokenizerByUpperCase function

A.1.3 XQueryJACKFunctions

A.1.3.1 getBeliefSetFields function

A.1.3.2 getJACKFileName function

A.1.4 XQueryPDTFunctions

A.1.4.1 ActorHasCapability function

A.1.4.2 FieldTokenizer function

A.1.4.3 GetAttributeValue function

A.1.4.4 GetIncludedFields function

A.1.4.5 GetInformationCarried function

A.1.4.6 GetPDTFileName

A.1.4.7 GetPrometheusElements

A.1.4.8 GetPrometheusSubElements

A.1.4.9 GetPrometheusStepScenarios

A.1.4.10 GetPrometheusSubGoalsElements

A.1.4.11 GetPrometheusSubGoalElements

A.1.4.12 GetPrometheusUsesData

A.1.4.13 IsACapabilityThatTheAgentIncludes

A.1.4.14 IsADataProducedByTheRole

A.1.4.15 IsADataThatTheAgentReads

A.1.4.16 IsADataThatTheAgentWrites

A.1.4.17 IsADataThatTheCapabilityReads

A.1.4.18 IsADataThatTheCapabilityWrites

A.1.4.19 IsADataThatThePlanReads

A.1.4.20 IsADataThatThePlanWrites

A.1.4.21 IsADataUsedByTheRole

A.1.4.22 IsADataThatTheAgentAchieves

A.1.4.23 IsAGoalThatTheCapabilityAchieves

A.1.4.24 IsAGoalThatThePlanAchieves

A.1.4.25 IsAGoalThatTheAgentAchieves

A.1.4.26 IsAGoalThatTheCapabilityAchieves

A.1.4.27 IsAMessageThatTheAgentReceives

A.1.4.28 IsAMessageThatTheAgentSends

A.1.4.29 IsAMessageThatTheCapabilityReceives

A.1.4.30 IsAMessageThatTheCapabilitySends

A.1.4.31 IsAMessageThatTheReceives

A.1.4.32 IsAMessageThatThePlanReceives

A.1.4.33 IsAMessageThatThePlanSends

A.1.4.34 IsAMessageThatTriggersThePlan

A.1.4.35 IsAnActionThatTheAgentPerforms

A.1.4.36 IsAnActionThatTheCapabilityPerforms

A.1.4.37 IsAnActionThatThePlanPerforms

A.1.4.38 IsAPerceptThatTheAgentResponds

A.1.4.39 IsAPerceptThatTheCapabilityResponds

A.1.4.40 IsAPerceptThatThePlanResponds

A.1.4.41 IsAPerceptThatTheCapabilityResponds

A.1.4.42 IsAPerceptThatThePlanResponds

A.1.4.43 IsAPerceptThatTheCapabilityResponds

A.1.4.44 IsAPerceptThatThePlanResponds

A.1.4.45 IsAPlanThatTheAgentIncludes

A.1.4.46 IsAPlanThatTheCapabilityIncludes

A.1.4.47 IsAPlanTheRoleUses

A.1.4.48 IsARoleThatTheAgentIncludes

A.1.4.49 IsTrigger

A.1.5 XQuerySimilarityFunctions

A.1.5.1 HasUses function

A.1.5.2 HasUses function

A.1.5.3 Creates function

A.1.5.4 Creates function

A.1.5.5 IsOverlap function

A.1.5.6 IsOverlap function

A.1.5.7 IsPositiveSimilar function

A.1.5.8 IsSimilar function

A.1.5.9 IsSimilarByOverlaps

A.1.5.10 IsSimilarDataAndBeliefSet

A.1.5.11 IsSimilarSDResourceAndMessage

A.1.5.12 SomeOverlap

A.1.6 XQuerySynonymsFunctions

A.1.6.1 StringTokenizerByUpperCase function

A.1.6.2 Contains function

A.1.6.3 IsSynonyms function

A.1.6.4 StringTokenizer function

A.1.6.5 Contains function

A.1.7 XQueryTAOMFunctions

A.1.7.1 GetSubGoalsAndTask function

A.1.7.2 GetSubGoalsAndTask function

A.1.7.3 GetSubElements function

A.1.7.4 GetSubElements function

A.1.7.5 GetAttributeValue function

A.1.7.6 GetTAOMFile function

Appendix B – Automated Teller Machine

B.1 Introduction

B.2 Organizational Models

B.3 Prometheus Models

B.4 JACK Code

B.5 JACK Code in XML

B.6 Evaluation

Appendix C – Air Traffic Control Environment

C.1 Introduction

C.2 Organizational Models

C.3 Prometheus Models

C.4 JACK Code

C.5 Code in XML

C.6 Evaluation

Appendix D – Electronic Bookstore Case Study

D.1 JACK Agent vs Prometheus Goal

D.2 JACK Agent vs Prometheus Role

D.3 JACK Agent vs Prometheus Agent

D.4 JACK Agent vs Prometheus Capability

D.5 JACK Agent vs Prometheus Plan

D.6 JACK Agent vs Prometheus Percept

D.7 JACK Agent vs Prometheus Action

D.8 JACK Agent vs Prometheus Message (sends)

D.9 JACK Agent vs Prometheus Message (receives)

D.10 JACK Agent vs Prometheus Data (uses)

D.12 JACK Plan vs Prometheus Goal

D.13 JACK Plan vs Prometheus Role

D.14 JACK Plan vs Prometheus Agent

D.15 JACK Plan vs Prometheus Capability

D.16 JACK Plan vs Prometheus Plan

D.17 JACK Plan vs Prometheus Percept

D.18 JACK Plan vs Prometheus Action (Sends)

D.19 JACK Plan vs Prometheus Message (Sends)

D.20 JACK Plan vs Prometheus Message (Receives)

D.21 JACK Plan vs Prometheus Data (Uses)

D.22 JACK Plan vs Prometheus Data (Creates)

D.23 JACK BeliefSet vs Prometheus Role (Creates)

D.24 JACK BeliefSet vs Prometheus Role (Uses)

D.25 JACK BeliefSet vs Prometheus Role (Creates)

D.26 JACK BeliefSet vs Prometheus Agent (Uses)

D.27 JACK BeliefSet vs Prometheus Capability (Creates)

D.28. JACK BeliefSet vs Prometeus Capabilitity (Uses)

D.29 JACK BeliefSet vs Prometheus Plan (Creates)

D.30 JACK BeliefSet vs Prometheus Plan (Uses)

D.31 JACK BeliefSet vs Prometheus Data

D.32 JACK Event vs Prometheus Agent (sends)

D.33 JACK Event vs Prometheus Agent (receives)

D.34 JACK Event vs Prometheus Capability (sends)

D.35. JACK Event vs Prometheus Capability (receives)

D.36 JACK Event vs Prometheus Plan (sends)

D.37 JACK Event vs Prometheus Plan (receives)

D.38 JACK Event vs Prometheus Message

Appendix E – Introduction to BDI architecture

E.1 Agent Architectures

E.2 BDI Architecture

Appendix F - Traceability Relations between i* and Prometheus

Appendix G - Traceability Relations between Prometheus and JACK

 

Figures

 

Figure A.1 Calling getPDTFileName extended function in Java

Figure A.2 List of strings

Figure A.3 getDocSourceMissingElement function

Figure A.4 getIDMissingElement function example

Figure A.5 getNameMissingElement function example

Figure A.6 getNumberOfMissingElement function example

Figure A.7 Arrival Sequencing Capability and ATL SD Resource

Figure A.8 capabilityUsesSDResource function example

Figure A.9 hasUses function example

Figure A.10 contains function example

Figure A.11 Using contains function

Figure A.12 getAttributeValue function example

Figure A.13 hasRelation function example

Figure A.14 stringTokenizer function example

Figure 4.15 stringTokenizerByUpperCase function example

Figure A.17 ActorHasCapability function example

Figure A.18 fieldTokenizer function example

Figure A.19 getAttributeValue function example

Figure A.20 getIncludesFields function example

Figure A.21 getInformationCarried function example

Figure A.22 getPrometheusElements function example

Figure A.23 getPrometheusSubElements function example

Figure A.24 getPrometheusStepScenarios function example

Figure A.25 getPrometheusSubGoals function example

Figure A.26 getPrometheusSubGoalsElements function example

Figure A.27 hasUses function example

Figure A.28 hasUses function example

Figure A.29 creates function example

Figure A.30 creates function example

Figure A.31 overlaps function example

Figure A.32 overlaps function example

Figure A.33 isPositiveSimilar function example

Figure A.34 isSimilar function example

Figure A.35 isSimilarByOverlaps function example

Figure A.36 isSimilarDataAndBeliefSet function example

Figure A.37 isSimilarSDResourceAndMessage function example

Figure A.38 SomeOverlap function example

Figure A.39 stringTokenizerByUpperCase function example

Figure A.40 contains function example

Figure A.42 stringTokenizer function example

Figure A.43 isSynonyms function example

Figure A.44 getSubGoalsAndTask function example

Figure A.45 getSubGoalsAndTask function example

Figure A.46 getAttributeValue function example

Figure B.1 Strategic Dependency model for the Automatic Teller Machine

Figure B.2 Strategic Rationale Model for the Automatic Teller Machine

Figure B.3 ATM Goal diagram

Figure B.4 ATM System Overview diagram

Figure B.5 – Atm Agent Overview Diagram

Figure B.6 Bank Agent Overview diagram

Figure B.7 Atm agent

Figure B.8 BankAgent agent

Figure B.9 Accounts beliefSet

Figure B.10 Accounts beliefSet

Figure B.11 Withdraw event

Figure B.12 WithdrawResponse event

Figure B.13 WithdrawRequest event

Figure B.14 WithdrawApproved plan

Figure B.15 WithdrawCash plan

Figure B.16 WithdrawRejected plan

Figure B.17 WithdrawApproved plan

Figure B.18 Atm agent in XML

Figure B.19 BankAgent in XML

Figure B.20 Accounts beliefSet in XML

Figure B.21 Balances beliefSet in XML

Figure B.22 ProcessWithdraw plan in XML

Figure B.23 WithdrawApproved plan in XML

Figure B.24 WithdrawCash plan in XML

Figure B.25 WithdrawRejected plan in XML

Figure B.26 Withdraw event in XML

Figure B.27 WithdrawResponse in XML

Figure B.29 Fields of the Accounts beliefSet

Figure B.30 Accounts beliefSet

Figure B.31 Balances beliefSet

Figure B.32 Balances descriptor

Figure B.33 ProcessWithdraw plan

Figure B.34 Process Withdraw descriptor

Figure B.35 WithdrawApproved plan

Figure B.36 Withdraw Approved descriptor

Figure B.37 WithdrawCash plan

Figure B.38 Withdraw Cash descriptor

Figure B.39 WithdrawReject plan

Figure B.40 Withdraw Rejected descriptor

Figure C.1 Strategic Dependency model for Air Traffic Environment

Figure C.2 Strategic Rationale model for Air Traffic Environment

Figure C.3 Goal diagram for Air Traffic Environment

Figure C.4 Traffic Feeding Capability

Figure C.5 Arrival Sequencing Capability

Figure C.6 Runway Assigning Capability

Figure C.7 Flying Capability

Figure C.8 Traffic Feeding Capability

Figure C.9 Arrival Sequencing Capability

Figure C.10 Runway Assigning Capability

Figure C.11 Flying Capability

Figure C.12 Aircraft agent

Figure C.13 Airport agent

Figure C.14 Feeder agent

Figure C.15 Runway agent

Figure C.16 LandingInfo beliefSet

Figure C.17 RunwayInfo beliefSet

Figure C.18 ArrivalSequencing capability

Figure C.19 Flying Capability

Figure C.20 Runway Assigning Capability

Figure C.21 TrafficFeeding capability

Figure C.22 AircraftEvent event

Figure C.23 Approaching event

Figure C.24 EnterControlArea

Figure C.25 TrafficEvent event

Figure C.26 AssignSlot plan

Figure C.27 FollowApproach plan

Figure C.28 InitialApproach plan

Figure C.29 MonitorAircraft plan

Figure C.30 RequestSlot plan

Figure C.31 RunwayAssign plan

Figure C.32 RunwayRequest plan

Figure C.33 Takeoff plan

Figure C.34 TakeoffDiscard plan

Figure C.35 Traffic plan

Figure C.36 Aircraft agent in XML

Figure C.37 Airport agent in XML

Figure C.38 TrafficFeeding agent in XML

Figure C.39 Runway agent in XML

Figure C.40 LandingInfo beliefSet in XML

Figure C.41 RunwayInfo beliefSet in XML

Figure C.42 AssignSlot plan in XML

Figure C.43 FollowApproach plan in XML

Figure C.44 InitialApproach plan in XML

Figure C.45 MonitorAircraft plan in XML

Figure C.46 RequestSlot plan in XML

Figure C.47 RunwayAssign plan in XML

Figure C.48 Takeoff plan in XML

Figure C.49 TakeoffDiscard plan in XML

Figure C.50 Traffic plan in XML

Figure C.51 RunwayRequest plan in XML

Figure C.52 AircraftEvent event in XML

Figure C.53 Approaching event in XML

Figure C.54 EnterControlArea event in XML

Figure C.55 TrafficEvent event in XML

Figure C.56 ArrivalSequencing capability in XML

Figure C.57 Flying capability in XML

Figure C.58 RunwayAssigning capability in XML

Figure C.59 TrafficFeeding capability in XML

Figure C.60 Air Traffic Control Environment i* model version 1

Figure C.61 Prometheu goal diagram

 

Tables

 

Table A.1- Completeness checking functions

Table A.2 XQuery functions

Table A.3 XQueryJACKFunctions

Table A.4 XQueryPDTFunctions

Table A.5 XQuerySimilarityFunctions

Table A.6 XQuerySynonyms Function example

Table A.7 XQueryTAOMFunctions

Table B.1 Traceability relations identified manually

Table B.2 Traceability relations identified by the tool

Table B.3 Missing Information

Table C.1 Traceability relations identified manually

Table C.2 Traceability relations identified by the tool

Table C.3 Missing relations identified by the tool

Table C.4 Missing relations between SD Goal and Prometheus Goal

Table C.5 Missing relations between SR Goal and Prometheus Goal

Table C.6 Missing relations between SR Plan and Prometheus Goal

Table C.7 Missing relations between Prometheus Goal and SD/SR Task or SD/SR Goal

Table C.8 Missing relations between SD Resource and Prometheus Percept

Table C.9 Missing relations between SD Goal and a Prometheus Agent

Table C.10 Missing relation between a SR Goal and an Agent

Table C.11 Missing relations between a SR Task and an Agent

Table C.12 Missing relations between a SD Goal and a Prometheus Plan

Table C.13 Missing relations between a SR Goal and a Prometheus Plan

Table C.14 Missing relations between a SR Task and Prometheus Plan

Table C.15 Missing links between a SD Goal and Prometheus Capability

Table C.16 Missing links between a SR Goal and Prometheus Capability

Table C.17 Missing relations between a SR Task and Prometheus Capability

Table C.18 Traceability relations between i* and Prometheus

Table C.19 Missing relations between JACK and Prometheus

Table D.1 Relations identified manually between Prometheus Goal and JACK Agent

Table D.2 Relations identified by the tool between Prometheus Goal and JACK Agent

Table D.3 Relations identified manually between Prometheus Role and JACK Agent

Table D.4 Relations identified by the tool between Prometheus Role and JACK Agent

Table D.5 Relations identified manually between Prometheus Agent and JACK Agent

Table D.6 Relations identified by the tool between Prometheus Agent and JACK Agent

Table D.7 Relations identified manually Prometheus Capability and JACK Agent

Table D.8 Relations identified by the tool between Prometheus Capability and JACK Agent

Table D.9 Relations identified manually between Prometheus Plan and JACK Agent

Table D.10 Relations identified by the tool between Prometheus Plan and JACK Agent

Table D.11 Relations identified manually between Prometheus Percept and JACK Agent

Table D.12 Relations identified by the tool between Prometheus Percept and JACK Agent

Table D.13 Missing traceability relations between Prometheus Percept and JACK Agent

Table D.14 Relations identified manually between Prometheus Action and JACK Agent

Table D.15 Relations identified by the tool between Prometheus Action and JACK Agent

Table D.16 Relations identified manually between Prometheus Message and JACK Agent

Table D.17 Relations identified by the tool between Prometheus Message and JACK Agent

Table D.18 Relations identified manually between Prometheus Message and JACK Agent

Table D.19 Relations identified by the tool between Prometheus Message and JACK Agent

Table D.20 Relations identified manually between Prometheus Data and JACK Agent

Table D.21 Relations identified by the tool between Prometheus Data and JACK Agent

Table D.22 Relations identified manually between Prometheus Data and JACK Agent

Table D.23 Relations identified by the tool between Prometheus Data and JACK Agent

Table D.24 Relations identified manually between JACK Plan and Prometheus Goal

Table D.25 Relations identified by the tool between Prometheus Goal and JACK Plan

Table D.26 Relations identified manually between JACK Plan and Prometheus Role

Table D.27 Relations identified by the tool between Prometheus Role and JACK Plan

Table D.28 Relations identified manually between JACK Plan and Prometheus Agent

Table D.29 Relations identified by the tool between Prometheus Agent and JACK Plan

Table D.30 Relations identified manually between JACK Plan and Prometheus Capability

Table D.31 Relations identified by the tool between Prometheus Capability and JACK Plan

Table D.32 Relations identified manually between Prometheus Plan and JACK Plan

Table D.33 Relations identified by the tool between Prometheus Plan and JACK Plan

Table D.34 Missing relation

Table D.35 Missing relation

Table D.36 Wrong relation

Table D.37 Missing relation

Table D.38 Wrong relation

Table D.39 Missing relations

Table D.40 Missing relation

Table D.41 Relations not identified by the tool

Table D.42 Relations identified manually between JACK Plan and Prometheus Percept

Table D.43 Relations identified by the tool between Prometheus Percept and JACK Plan

Table D.44 Relations identified manually between JACK Plan and Prometheus Action

Table D.45 Relations identified by the tool between Promehteus Action and JACK Plan

Table D.46 Relations identified manually between JACK Plan and Prometheus Message