39,99 €
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:
Veröffentlichungsjahr: 2014
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
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
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
