cordis.europa.eu · ref. 318603 - waterp, d7.2.2_implementation_of_mas_v1.0 page 2 of 79 document...

79
WatERP Water Enhanced Resource Planning “Where water supply meets demand” GA number: 318603 WP 7: Pilots D7.2.2: Implementation of MAS V1.0 302926 30/04/2014 www.waterp-fp7.eu

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

WatERP

Water Enhanced Resource Planning

“Where water supply meets demand”

GA number: 318603

WP 7: Pilots

D7.2.2: Implementation of MAS

V1.0 302926 30/04/2014

www.waterp-fp7.eu

Page 2: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79

Document Information

Project Number 318603 Acronym WatERP

Full title Water Enhanced Resource Planning “Where water supply meets demand”

Project URL http://www.waterp-fp7.eu

Project officer Grazyna Wojcieszko

Deliverable Number 7.2.2 Title Implementation of MAS

Work Package Number 7 Title Pilots

Date of delivery Contractual M18 Actual M19

Nature Prototype Report X Dissemination Other

Dissemination

Level Public Consortium X

Responsible Author Gabriel Anzaldi Email [email protected]

Partner BDIGITAL Phone (+34) 973 193 660

Abstract

(for dissemination)

WatERP SOA-MAS architecture represents the main interaction channel between the OMP, the

pilot instantiation and integrated services available in the WatERP framework. The MAS

subsystem of this architecture provides autonomous processes to manage services orchestration

and discovery. This deliverable analyses the requirements to build a subset of the MAS

subsystem that has to be implemented once the milestone MS5 “Second vertical integration” is

reached. Hence, agent types, agents, goals, beliefs and exchanges are identified during the

document providing the necessary schemas to implement this part of the SOA-MAS architecture.

Key words matchmaking, multi-agent system, MAS-CommonKADS, SOA-MAS

Page 3: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 3 of 79

Glossary of terms

BDI Belief Desire Intention

DF Directory Facilitator

DMS Demand Management System

DSS Decision Support System

Dx.x Deliverable x.x

FIPA –ACL FIPA Agent Communication

Language

FIPA Foundation for Intelligent Physical Agents

HF Hydrological Forecast MAS Multi Agent System

MSC Message Sequence Charts

OGC® Open Geospatial Consortium OMP Open Management Platform

SOA Services Oriented Architecture

SOS Sensor Observation Service SPARQL Protocol And RDF Query Language UML Unified Modeling Language URL Unified Resource Locator WDW Water Data Warehouse WP Work Package WPS Web Processing Service

Page 4: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 4 of 79

Executive Summary

Deliverable 7.2.2 (D7.2.2) describes the part of the WatERP SOA-MAS architecture related to the Multi-

agent systems (MAS), particularly its aim and scope. This deliverable is the second one of a series of

documents that extends from M3 to M30 and follows the user in the loop strategy in the WatERP project

throughout successive deliverables. Additionally, this document focuses in the MAS implementation

planned for the MS5 ”Second Vertical Integration” milestone (M12 – M24) due in month 23 (August

2014).

Firstly, a short description of the objectives defined for the vertical integrations of the project is offered.

After, the document is focused on a new iteration to the MAS-CommonKADS methodology which was

presented on the D7.2.1 “Implementation of MAS” for the second vertical integration requirements. The

MAS-CommonKADS methodology is divided in three phases, namely: (i) conceptualisation phase; (ii)

analysis phase; and (iii) design phase.

On the first phase (conceptualization phase) the actors and user stories are identified and analysed. It

is important to remark that five new actors were identified during the second vertical integration which

are: (i) ‘OGC® WPS’ actor; (ii) ‘OGC® WPS HF’ actor; (iii) ‘OGC® WPS DMS’ actor, (iv) ‘OGC® WPS

DSS’ and (v) ‘OGC® SOS’ actor. Moreover the new user stories are: (i) ‘OGC® WPS’ server

integration; (ii) unregister ‘OGC® WPS’ server; (iii) consult a hydrological forecast; (iv) consult a

demand forecast; (v) consult water resource allocation recommendations; and (vi) consult pump

scheduling recommendations.

Moreover, the following internal agents were identified as necessary for the second vertical integration

during the analysis phase: (i) ‘OGC® WPS’ who manages the classification of the ‘OGC® WPS’ server

integrated in to HF, DMS or DSS OGC® WPS; (ii) ‘OGC® WPS HF’; (iii) ‘OGC® WPS DMS’ and (iv)

‘OGC® WPS DMS’. The ‘OGC® WPS HF’, ‘OGC® WPS DMS’ and ‘OGC® WPS DMS’ are specific

agents responsible of managing the classified ‘OGC® WPS’ servers publishing its runnable processes

on the ontology and managing the execution of them. Additionally, a functional decomposition of the

system describing the tasks performed is provided. This decomposition is useful to identify the

conversations between agents, and to define the communication scenarios and message processing

state diagrams. Issues related to the network agents are depicted on the design phase.

Finally, the conclusions and future work are presented on the last section.

To understand this document the following deliverables have to be read.

Number Title Description

D1.3 Generic Ontology for water

supply distribution chain

This deliverable summarizes the ontology including the scope, purpose and

implementation language to be used.

D1.4.1 Extension of taxonomy and Description of the improvements performed onto the WatERP general

Page 5: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 5 of 79

ontology to the pilots ontology and taxonomy based on pilots’ data information.

D1.4.2 Extension of taxonomy and

ontology to the pilots

Description of the improvements performed onto the WatERP general

ontology and taxonomy based on pilots’ data information.

D2.2 Activity Plan for Work on

Standards

This delivery is an activity plan for the WatERP project is devised which

shall guide all project activities in this direction. As a main focus, it is aimed

at implementing, testing and extending the WaterML2.0 standard of the

Open Geospatial Consortium (OGC®).

D2.3 Open Interface

Specification

This document describes the analysis of the building blocks and the pilots’

interfaces in order to understand the general open interface requirements

for system integration and interoperability within the WatERP project. The

guidelines to integrate a system in the WatERP framework are also

described. It also includes the definition of the system integration road-map.

D3.3 WDW 2nd Prototype Description of the implementation, installation and usage of the Water Data

Warehouse.

D6.1

Open platform

requirements and

functionalities description

This deliverable summarizes the Open Management Platform (OMP)

including the requirements needed to define a tool able to represent and

manage different scenarios represented by ontologies instantiations,

exposing only those variables that are relevant for the selected category,

enable performing "what-if" analysis based on Decision Support System

(DSS) services, and presenting the information in a comparable and

understandable way.

D7.2.1 Implementation of MAS

This deliverable analyses the requirements to build a subset of the MAS

subsystem that was to be implemented once the milestone MS3 “First

vertical integration” was reached. Hence, agent types, agents, goals, beliefs

and exchanges were identified during the document providing the

necessary schemas to implement this part of the SOA-MAS architecture.

Moreover, different studies about methodologies to develop multi-agent

systems was studied concluding that MAS-CommonKADS methodology is

the most suitable to be applied in WatERP MAS design.

Page 6: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 6 of 79

Table of contents

1. INTRODUCTION ............................................................................................................................. 11

2. CONCEPTUALIZATION PHASE .................................................................................................... 12

2.1 IDENTIFICATION OF THE ACTORS .................................................................................................................. 12

2.2 DESCRIPTION OF THE ACTORS ..................................................................................................................... 12

2.3 IDENTIFICATION OF USER STORIES ............................................................................................................... 13

2.4 DESCRIPTION OF USER STORIES .................................................................................................................. 14

2.4.1 ‘OGC® WPS server integration (Hydrological Forecast, DSS and DMS)’ user story ......................... 16

2.4.2 ‘Unregister OGC® WPS server (Hydrological Forecast, DSS and DMS)’ user story.......................... 19

2.4.3 ‘Request a hydrological forecast’ user story ....................................................................................... 19

2.4.4 ‘Request a demand forecast’ user story ............................................................................................. 20

2.4.5 ‘Request water resources allocation’ user story ................................................................................. 23

2.4.6 ‘Request pumping schedule’ user story .............................................................................................. 26

3. ANALYSIS PHASE ......................................................................................................................... 29

3.1 SOFTWARE AGENT IDENTIFICATION .............................................................................................................. 29

3.2 TASK MODELLING ....................................................................................................................................... 30

3.3 SOFTWARE AGENT IDENTIFICATION – SECOND ROUND .................................................................................... 44

3.4 COORDINATION MODELLING ........................................................................................................................ 47

3.4.1 Conversations .................................................................................................................................... 47

3.4.2 Scenarios ........................................................................................................................................... 57

3.4.3 Message processing state diagrams .................................................................................................. 70

3.5 ORGANIZATION MODELLING ......................................................................................................................... 75

4. DESIGN PHASE ............................................................................................................................. 76

5. CONCLUSIONS AND FUTURE WORK ......................................................................................... 78

Page 7: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 7 of 79

Table of figures

FIGURE 1: “OVERVIEW OF THE USER STORIES” ............................................................................................................... 16

FIGURE 2: “’OGC® WPS SERVER INTEGRATION (HYDROLOGICAL FORECAST, DSS AND DMS)’ INTERACTIONS” .................. 18

FIGURE 3: “’UNREGISTER OGC® WPS SERVER (HYDROLOGICAL FORECAST, DSS AND DMS)’ INTERACTIONS” .................. 19

FIGURE 4: “’REQUEST A HYDROLOGICAL FORECAST’ INTERACTIONS” ................................................................................. 20

FIGURE 5: “’REQUEST A DEMAND FORECAST’ INTERACTION” ............................................................................................. 22

FIGURE 6: “’REQUEST WATER ALLOCATION’ INTERACTIONS (1/2)” ..................................................................................... 24

FIGURE 7: “’REQUEST WATER ALLOCATION’ INTERACTIONS (2/2)” .................................................................................... 25

FIGURE 8: “’REQUEST PUMPING SCHEDULE’ INTERACTIONS (1/2)” .................................................................................... 27

FIGURE 9: “REQUEST PUMPING SCHEDULE’ INTERACTIONS (2/2)” ..................................................................................... 28

FIGURE 10: “TASK DECOMPOSITION FOR ‘REGISTER OGC® WPS SERVER” ..................................................................... 31

FIGURE 11: “TASK DECOMPOSITION FOR ‘OGC® WPS PROCESSES ANALYSIS’” ................................................................ 32

FIGURE 12: “TASK DECOMPOSITION FOR ‘UNREGISTER OGC® WPS SERVER” ................................................................. 33

FIGURE 13: “TASK DECOMPOSITION FOR ‘GET AVAILABLE HYDROLOGICAL FORECAST PROCESSES” ...................................... 33

FIGURE 14: “TASK DECOMPOSITION FOR ‘CONSULT HYDROLOGICAL FORECAST” ................................................................ 34

FIGURE 15: “TASK DECOMPOSITION FOR ‘GET AVAILABLE DEMAND FORECAST PROCESSES” ................................................ 34

FIGURE 16: “TASK DECOMPOSITION FOR ‘GET WATER RESOURCES OF A TYPE” .................................................................. 34

FIGURE 17: “TASK DECOMPOSITION FOR ‘EXECUTE A DEMAND FORECAST’” ........................................................................ 35

FIGURE 18: “TASK DECOMPOSITION FOR ‘GET AVAILABLE WATER ALLOCATION PROCESSES’” ............................................... 35

FIGURE 19: “TASK DECOMPOSITION FOR ‘GET CURRENT SCENARIO STATE’” ....................................................................... 36

FIGURE 20: “TASK DECOMPOSITION FOR ‘GET BEHAVIOUR’” ............................................................................................. 36

FIGURE 21: “TASK DECOMPOSITION FOR ‘SET BEHAVIOUR’” ............................................................................................. 37

FIGURE 22: “TASK DECOMPOSITION FOR ‘GET WATER ALLOCATION RECOMMENDATIONS’”.................................................... 37

FIGURE 23: “TASK DECOMPOSITION FOR ‘GET PUMP SCHEDULING RECOMMENDATIONS’” ..................................................... 38

FIGURE 24: “INTERACTIONS BETWEEN AGENTS TO REGISTER AN OGC® WPS SERVER” ..................................................... 57

FIGURE 25: “INTERACTIONS BETWEEN AGENTS TO DESTROY AN OGC® WPS AGENT” ....................................................... 57

FIGURE 26: “INTERACTIONS BETWEEN AGENTS TO REGISTER AN OGC® WPS HF SERVER” ............................................... 58

FIGURE 27: “INTERACTIONS BETWEEN AGENTS TO REGISTER AN OGC® WPS DMS SERVER” ............................................ 58

FIGURE 28: “INTERACTIONS BETWEEN AGENTS TO REGISTER AN OGC® WPS DSS SERVER”............................................. 59

FIGURE 29: “INTERACTIONS BETWEEN AGENTS TO UNREGISTER AN OGC® WPS HF SERVER” ........................................... 59

Page 8: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 8 of 79

FIGURE 30: “INTERACTIONS BETWEEN AGENTS TO DESTROY AN OGC® WPS HF SERVER” ................................................ 60

FIGURE 31: “INTERACTIONS BETWEEN AGENTS TO UNREGISTER AN OGC® WPS DMS SERVER” ........................................ 60

FIGURE 32: “INTERACTIONS BETWEEN AGENTS TO DESTROY AN OGC® WPS DMS AGENT”............................................... 60

FIGURE 33: “INTERACTIONS BETWEEN AGENTS TO UNREGISTER AN OGC® WPS DSS SERVER”......................................... 61

FIGURE 34: “INTERACTIONS BETWEEN AGENTS TO DESTROY AN OGC® WPS DSS AGENT” ............................................... 61

FIGURE 35: “INTERACTIONS BETWEEN AGENTS TO GET AVAILABLE OGC® WPS HF PROCESSES” ....................................... 62

FIGURE 36: “INTERACTIONS BETWEEN AGENTS TO EXECUTE HYDROLOGICAL FORECAST PROCESS” ...................................... 62

FIGURE 37: “INTERACTIONS BETWEEN AGENTS TO GET OGC® WPS DMS PROCESSES” ................................................... 62

FIGURE 38: “INTERACTIONS BETWEEN AGENTS TO GET WATER RESOURCES” ..................................................................... 63

FIGURE 39: “INTERACTIONS BETWEEN AGENTS TO EXECUTE A DEMAND FORECAST PROCESS” ............................................. 63

FIGURE 40: “INTERACTIONS BETWEEN AGENTS TO GET CURRENT STATE SCENARIO PROCESSES” ......................................... 64

FIGURE 41: “INTERACTIONS BETWEEN AGENTS TO EXECUTE A DEMAND FORECAST PROCESS” ............................................. 64

FIGURE 42: “INTERACTIONS BETWEEN AGENTS TO GET BEHAVIOUR” ................................................................................. 65

FIGURE 43: “INTERACTIONS BETWEEN AGENTS TO SET BEHAVIOUR” .................................................................................. 65

FIGURE 44: “INTERACTIONS BETWEEN AGENTS TO GET WATER ALLOCATION RECOMMENDATIONS PROCESSES”...................... 65

FIGURE 45: “INTERACTIONS BETWEEN AGENTS TO EXECUTE WATER ALLOCATION RECOMMENDATIONS PROCESS” .................. 66

FIGURE 46: “INTERACTIONS BETWEEN AGENTS TO GET PUMP SCHEDULING PROCESSES”..................................................... 66

FIGURE 47: “INTERACTIONS BETWEEN AGENTS TO EXECUTE PUMP SCHEDULING PROCESS” ................................................. 67

FIGURE 48: “INTERACTIONS BETWEEN AGENTS TO GET ‘VALIDATE PUMP SCHEDULING’ PROCESSES” ..................................... 67

FIGURE 49: “INTERACTIONS BETWEEN AGENTS TO EXECUTE ‘VALIDATE PUMP SCHEDULING’ PROCESS” ................................. 68

FIGURE 50: “INITIAL INTERACTION DIAGRAM AMONG AGENTS IN THE SECOND VERTICAL INTEGRATION OF MAS” ..................... 69

FIGURE 51: “MESSAGE PROCESSING STATE DIAGRAM REFERRING OGC® WPS INTEGRATION” ........................................... 71

FIGURE 52: “MESSAGE PROCESSING STATE DIAGRAM REFERRING THE PROCESSES MANAGEMENT” ...................................... 73

FIGURE 53: “MESSAGE PROCESSING STATE DIAGRAM REFERRING THE ONTOLOGY ISSUES” ................................................. 74

FIGURE 54: “AGENTS HIERARCHY” ................................................................................................................................ 76

FIGURE 55: "REGISTER OF A SERVICE ON THE DIRECTORY FACILITATOR" .......................................................................... 77

FIGURE 56: "SEARCH OF A SERVICE ON DIRECTORY FACILITATOR" .................................................................................. 77

Page 9: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 9 of 79

Table of tables

TABLE 1: "MAS IMPLEMENTATION ITERATIVE DELIVERABLES" ........................................................................................... 11

TABLE 2: "MAS RELEASES" ......................................................................................................................................... 11

TABLE 3: “ACTORS INVOLVED IN THE MAS” ................................................................................................................... 13

TABLE 4: “USER STORIES INVOLVED IN THE MAS” .......................................................................................................... 14

TABLE 5: “‘OGC® WPS SERVER INTEGRATION (HYDROLOGICAL FORECAST, DSS AND DMS)’ USER STORY DESCRIPTION” .. 17

TABLE 6: “‘UNREGISTER OGC® WPS SERVER (HYDROLOGICAL FORECAST, DSS AND DMS)’ USER STORY DESCRIPTION” ... 19

TABLE 7: “’CONSULT HYDROLOGICAL FORECAST’ USER STORY DESCRIPTION” .................................................................... 20

TABLE 8: “’REQUEST A DEMAND FORECAST’ USER STORY DESCRIPTION” ........................................................................... 21

TABLE 9: “’REQUEST WATER ALLOCATION’ USER STORY DESCRIPTION” ............................................................................. 23

TABLE 10: “‘REQUEST PUMPING SCHEDULE’ USER STORY DESCRIPTION” ........................................................................... 26

TABLE 11: “FIRST DRAFT OF IDENTIFIED AGENTS” ........................................................................................................... 30

TABLE 12: “TASK ‘REGISTER OGC® WPS SERVER’ DESCRIPTION” .................................................................................. 39

TABLE 13: “TASK ‘REGISTER OGC® WPS PROCESSES ANALYSIS’ DESCRIPTION” ............................................................. 39

TABLE 14: "TASK ‘UNREGISTER OGC® WPS SERVER (HYDROLOGICAL FORECAST, DSS AND DMS)’ DESCRIPTION" ........... 40

TABLE 15: "TASK ‘GET AVAILABLE HYDROLOGICAL FORECAST PROCESSES’ DESCRIPTION” .................................................. 40

TABLE 16: “TASK ‘EXECUTE HYDROLOGICAL FORECAST PROCESS’ DESCRIPTION” .............................................................. 40

TABLE 17: “TASK ‘GET AVAILABLE DEMAND FORECAST PROCESSES’ DESCRIPTION” ............................................................ 41

TABLE 18: “TASK ‘GET WATER RESOURCES OF A TYPE’ DESCRIPTION” .............................................................................. 41

TABLE 19: “TASK ‘EXECUTE A DEMAND FORECAST’ DESCRIPTION” .................................................................................... 41

TABLE 20: “TASK ‘GET AVAILABLE WATER ALLOCATION PROCESS’ DESCRIPTION” ............................................................... 42

TABLE 21: “TASK ‘GET CURRENT SCENARIO STATE’ DESCRIPTION” .................................................................................... 42

TABLE 22: “TASK ‘GET BEHAVIOUR’ DESCRIPTION” ......................................................................................................... 43

TABLE 23: “TASK ‘SET BEHAVIOUR’ DESCRIPTION” .......................................................................................................... 43

TABLE 24: “TASK ‘GET WATER ALLOCATION RECOMMENDATIONS’ DESCRIPTION” ................................................................ 43

TABLE 25: “TASK ‘GET PUMP SCHEDULING RECOMMENDATIONS’ DESCRIPTION” ................................................................. 44

TABLE 26: “TASK-AGENTS DISTRIBUTION ROUND 1” ........................................................................................................ 46

TABLE 27: “TASK-AGENTS DISTRIBUTION ROUND 2” ........................................................................................................ 47

TABLE 28: “‘INTEGRATE AN OGC® WPS SERVER’ CONVERSATION” ................................................................................. 48

TABLE 29: “‘DESTROY OGC® WPS AGENT’ CONVERSATION” ......................................................................................... 48

Page 10: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 10 of 79

TABLE 30: “‘REGISTER AN OGC® WPS HF SERVER’ CONVERSATION” ............................................................................. 49

TABLE 31: “’REGISTER AN OGC® WPS DMS SERVER’ CONVERSATION” ......................................................................... 49

TABLE 32: “’REGISTER AN OGC® WPS DSS SERVER’ CONVERSATION" .......................................................................... 49

TABLE 33: “‘UNREGISTER AN OGC® WPS HF SERVER’ CONVERSATION” ......................................................................... 50

TABLE 34: “‘DESTROY OGC® WPS HF AGENT’ CONVERSATION” .................................................................................... 50

TABLE 35: “‘UNREGISTER AN OGC® WPS DMS SERVER’ CONVERSATION” ..................................................................... 50

TABLE 36: “‘DESTROY OGC® WPS DMS AGENT’ CONVERSATION” ................................................................................. 51

TABLE 37: “‘UNREGISTER AN OGC® WPS DSS SERVER’ CONVERSATION” ...................................................................... 51

TABLE 38: “‘DESTROY OGC® WPS DSS AGENT’ CONVERSATION” ................................................................................. 51

TABLE 39: “’GET HYDROLOGICAL FORECAST PROCESSES’ CONVERSATION” ....................................................................... 52

TABLE 40: “‘EXECUTE HYDROLOGICAL FORECAST PROCESS’ CONVERSATION”.................................................................... 52

TABLE 41: “’GET DEMAND FORECAST PROCESSES’ CONVERSATION” ................................................................................. 52

TABLE 42: “‘GET WATER RESOURCES’ CONVERSATION” ................................................................................................... 53

TABLE 43: “‘EXECUTE HYDROLOGICAL FORECAST PROCESS’ CONVERSATION”.................................................................... 53

TABLE 44: “’GET CURRENT STATE SCENARIO PROCESSES’ CONVERSATION” ...................................................................... 53

TABLE 45: “‘EXECUTE CURRENT STATE SCENARIO PROCESS’ CONVERSATION” ................................................................... 54

TABLE 46: “’GET BEHAVIOUR’ CONVERSATION” ............................................................................................................... 54

TABLE 47: “’SET BEHAVIOUR’ CONVERSATION” ............................................................................................................... 54

TABLE 48: “’GET WATER ALLOCATION RECOMMENDATIONS PROCESSES’ CONVERSATION” ................................................... 55

TABLE 49: “‘EXECUTE WATER ALLOCATION RECOMMENDATIONS PROCESS’ CONVERSATION” ............................................... 55

TABLE 50: “’GET PUMP SCHEDULING PROCESSES’ CONVERSATION” .................................................................................. 55

TABLE 51: “‘EXECUTE PUMP SCHEDULING PROCESS’ CONVERSATION” .............................................................................. 56

TABLE 52: “’GET VALIDATE PUMP SCHEDULING PROCESSES’ CONVERSATION” .................................................................... 56

TABLE 53: “‘EXECUTE VALIDATE PUMP SCHEDULING PROCESS’ CONVERSATION” ................................................................ 56

Page 11: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 11 of 79

1. Introduction

WatERP platform releases are based on vertical integration milestones, which define the expected

status of the development of the services (building blocks), verify the overall project progress, and

evaluate the solution reached. The MAS releases are organized accordingly and documented in several

deliverables during the project evolvement as shown in the following table:

Deliverable Month

D7.2.1 Implementation of MAS M9

D7.2.2 Implementation of MAS M18

D7.2.3 Implementation of MAS M31

Table 1: "MAS implementation iterative deliverables"

Milestone Month

MS3 First Vertical Integration M12

MS5 Second Vertical Integration M23

MS6 Third Vertical Integration M30

Table 2: "MAS releases"

The first prototype of the MAS, which was described in the deliverable (D7.2.1 “Implementation of

MAS”), essentially covered the integration of the OMP and the ontology inside the MAS platform.

Moreover, this first version of the deliverable presented an overview of the agents and multi agents’

technologies previously used in the water domain with a general introduction to matchmaking. Also, the

main concepts and the different types of agents were defined and analysed, concluding that the utility-

based agents was the most suitable for the development of the WatERP SOA-MAS architecture using

the BDI model. Additionally, different methodologies to develop multi-agent systems were studied

concluding that the MAS-CommonKADS methodology (See D7.2.1 “Implementation of MAS” section

3.2) was the most suitable to be applied on the WatERP MAS design since it supports most of the

utility-based BDI agents’ characteristics.

The MAS-CommonKADS methodology is also applied in the current version of the deliverable (See

D7.2.1 “Implementation of MAS” in Section 4) to implement the second prototype of the MAS that will

be finished for the MS5 Second Vertical Integration (M23, August 2014). This second prototype will

integrate new building blocks on the WatERP framework. These building blocks are classified in two

types: (i) internal (DMS and DSS) and (ii) external (hydrological forecast).

This document has been structured following the MAS-CommonKADS methodology steps. Hence the

conceptualization phase is carried out in Section 2, and is divided in four steps: (i) identify the actors; (ii)

describe the actors; (iii) identify the user stories and (iv) describe the user stories. Afterwards, Section 3

reviews the analysis phase which is based on the following tasks: (i) identify the software agents; (ii)

model the tasks; (iii) identify the software agents (second round); (iv) model the coordination between

Page 12: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 12 of 79

agents describing the conversations, scenarios and messages processing state diagrams; and (v)

model the organization. As the last step of the methodology, the Section 4 presents the results of the

design phase focusing on the network agents’ identification where the ‘yellow pages’ agent

functionalities have been modified respect the previous deliverable (D7.2.1 “Implementation of MAS”) .

Finally, Section 5 presents the conclusions and future work.

2. Conceptualization phase

The objective of the conceptualisation phase is to analyse the problem from the point of view of the

system user and elaborate a first outline of the solution by following the next steps: (i) identification of

the actors; (ii) description of the actors; (iii) identification of the user stories and (iv) description of the

user stories.

2.1 Identification of the actors

The aim of this task is to identify the actors involved in the system. In the previous deliverable (D7.2.1

“Implementation of MAS” in Section 4.1.1), the identified actors corresponds with the ‘OMP’ and the

‘Sesame’ actors. The ‘OMP’ actor represents the water resource manager that interacts with the

WatERP platform in order to make better decisions. Referring to the Sesame actor, it represents the

triple store of the WDW and provides all ontological functionalities to the WatERP platform.

The current work relies on enhancing the identification of the previous actors with the incorporation of

the DSS, DMS and HF building blocks must to be integrated by the Second Vertical Integration

milestone. Therefore, each of these building blocks is represented by an actor because they are

external software which interacts with the MAS. Moreover, data observations are stored in a relational

database and not in the ontology (See D3.3 “WDW Second prototype” in Section 2 Figure 2 “WDW

Component Layers”) and they are provided through the OGC® SOS and not through the ontology as it

was initially planned in deliverable D7.2.1 “Implementation of MAS”. Therefore, a new actor to manage

the ‘OGC® SOS’ server must to be considered.

As a conclusion, the new actors involved in the second iteration of the MAS-CommonKADS are: (i)

‘OGC® WPS HF’ who represents the hydrological forecasts systems integrated on the MAS through the

‘OGC® WPS’; (ii) ‘OGC® WPS DSS’ who represents the decision supports systems integrated on the

MAS through the ‘OGC® WPS’; (iii) ‘OGC® WPS DMS’ who represents the demand management

systems integrated in the MAS through the ‘OGC® WPS’ and (iv) ‘OGC® SOS’ who represents the

‘OGC® SOS’ server integrated in the MAS.

2.2 Description of the actors

The second step of the conceptualization phase is focused on the depiction of the actors using textual

templates containing the name and the description of each one. Moreover, the actors are classified as

Page 13: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 13 of 79

passive or active. A passive actor only participates in a user story, but does not initiate it. Instead, an

active actor is the one who can initiate a user story.

Table 3 shows the type and description of the identified actors during the first (dark grey background in

the table) and second (white background in the table) evaluation of the MAS-CommonKADS. It is

important to remark that all the actors identified during the second iteration are passive actors; hence

they do not initiate user stories.

N. Actor Actor Type actor Description

1 OMP Active

The OMP is the platform used by the water manager in order to get

advice to decision-making about water allocation and energy

management

2 Sesame Passive

The logical model is an ontological instantiation and contains all the

information regarding the logical model such as the water resources,

their relations, water resource type, features of interest, observations,

etc.

3 OGC® SOS Passive Represents a ‘OGC® SOS’ server that is able to provide the available

observations and their data (it is part of the WDW)

4 OGC® WPS HF Passive

Represents an ‘OGC® WPS’ server of the hydrological forecast type

that is capable of generating hydrological forecast such as temperature

forecast, rainfall forecast, etc… Moreover, this server follows the

guidelines presented in D2.3 “Open interface Specification” in Section

3.2.

5 OGC® WPS

DMS Passive

Represents an ‘OGC® WPS’ server of the demand forecast type that is

capable of generating demand forecasts for the sink water resources.

Moreover, this server follows the guidelines presented in the D2.3

“Open interface Specification” in Section 3.2.

6 OGC® WPS

DSS Passive

Represents an ‘OGC® WPS’ of the decision support type that is

capable of generating water allocation recommendations, pump

scheduling recommendations, validate pump scheduling

recommendations, etc… Moreover, this server follows the guidelines

presented in the D2.3 “Open interface Specification” in Section 3.2.

Table 3: “Actors involved in the MAS”

2.3 Identification of user stories

This section is focused on the identification of the user stories and the actor who initiates them. To

identify them, the software engineering best practices presented in D7.2.1 “Implementation of MAS”

Section 4.1.3 has been used. Only active actors are taken into account since the passive actors cannot

initiate user stories. Moreover, the information presented in D6.2 “Open Management Platform” has

been used to identify the MAS user stories related to the OMP. This document explains the features

provided by the OMP, which must be considered as user stories.

Page 14: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 14 of 79

The new user stories identified during the second iteration of the MAS development are aligned with the

‘OMP’ actor because it is the unique active actor. Table 4 contains the list of the user stories identified

during the first iteration (grey background) and the new user stories identified during the second

iteration (white background) of the MAS development which are: (i) ‘OGC® WPS’ server integration

(Hydrological Forecast, DSS and DMS); (ii) unregister ‘OGC® WPS’ server (Hydrological Forecast,

DSS and DMS); (iii) consult a hydrological forecast; (iv) consult a demand forecast; (v) consult water

resources allocation and (vi) consult a pump scheduling.

Referring to the new stories, the addition of new actors on the second vertical integration such as

‘OGC® SOS’, ‘OGC® WPS HF’, ‘OGC® WPS DSS’ and ‘OGC® WPS DMS’ give new possibilities to

the use of the WatERP framework. For instance, from the point of view of the building blocks

management, both the user story to integrate the new ‘OGC® WPS’ server in the WatERP platform and

the user story to unregister an ‘OGC® WPS’ server from the platform if no longer useful are essential.

Moreover, user stories to query the hydrological forecast, demand forecast, water resources allocation

and pump scheduling must be provided. These user stories will be depicted in the Section 2.4.

N. Actor Actor User stories

1 OMP

Obtain available logical models in WatERP framework

Obtain structure of a logical model

Obtain available observations for a feature of interest

Obtain available features of interest for a water resource

Add new logical model in WatERP framework

Remove logical model of WatERP framework

‘OGC® WPS’ server integration (Hydrological Forecast, DSS and DMS)

Unregister ‘OGC® WPS’ server (Hydrological Forecast, DSS and DMS)

Consult a hydrological forecast

Consult a demand forecast

Consult water resources allocation

Consult a pump scheduling

Table 4: “User stories involved in the MAS”

2.4 Description of user stories

The aim of this section is to analyse each user story presented in Table 4 of Section 2.3. First, the user

stories overview is shown; including a case diagram UML model to describe the relations between user

stories and actors. Later, a textual and graphical description for each user story is provided to improve

the understanding of each case. This textual and graphical description is based on the user stories

listed in Table 4 of Section 2.3. On the one hand, a table with the following fields is used to present the

textual description: (i) the story name which is used to identify user story; (ii) a brief summary of the

user story; (iii) the actors involved in the user story; (iv) the pre-conditions needed to initiate the user

Page 15: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 15 of 79

story; (v) a description of the steps of the user story; (vi) the exceptions occurring in the user story and

(vii) the post-conditions of the system after executing the user story. On the other hand, the graphical

description is presented using MSC (Message Sequence Charts) notation and shows the interactions

between the actors and the MAS. The rectangle with the word “alt” at the top-left corner indicates that

the process can take two different paths which are separated by a dotted line.

Figure 1 presents the summary of the developed user stories developed during the first vertical

integration (grey background) and the user stories to be developed until the second vertical integration

milestone (white background). The ‘OGC® WPS Server integration (HF, DSS and DMS)’ user story is

initiated by OMP and it requires interacting, firstly with ‘OGC® WPS’ actor in order to detect the type of

‘OGC® WPS’ integrated (‘OGC® WPS DMS’ actor, ‘OGC® WPS DSS’ actor, or ‘OGC® WPS HF’

actor) The other ‘OGC® WPS’ management operation, ‘unregister OGC® WPS Server (HF, DSS and

DMS’), does not require any interaction with an actor because the unregister operation is managed

internally by the MAS.

The rest of the user stories such as ‘consult pump scheduling’, ‘consult a hydrological forecast’, ‘consult

a demand forecast’ and ‘consult water resources allocation’ represent the daily operation that a water

manager will do through the WatERP platform.

The first user story related with the daily operations (‘consult pump scheduling’) interacts with the

‘Sesame’ actor, ‘OGC® WPS HF’ actor, ‘OGC® WPS DMS’ actor and ‘OGC® WPS DSS’ actor. Other

daily operation’s user story is ‘consult a demand forecast’, which interacts with the ‘Sesame’ actor,

‘OGC® WPS HF’ actor and ‘OGC® WPS DMS’ actor. Instead, the third user story (‘consult a

hydrological forecast’) invokes the ‘OGC® WPS HF’ actor only. Finally, the last user story involved in

the daily operation (‘consult water resources allocation’) interacts with ‘Sesame’ actor, ‘OGC® WPS HF’

actor, ‘OGC® WPS DMS’ actor and ‘OGC® WPS DSS’ actor.

The main actors’ responsibilities are: (i) recover the ontological information from the pilot instantiation

(‘Sesame’ actor); (ii) obtain the forecasted temperature and rainfall which is essential to calculate the

demand (‘OGC® WPS HF’ actor); (iii) provide demand forecasts for the sinks involved in the pilot

instantiations (‘OGC® WPS DMS’ actor); (iv) generate pumping scheduled based on the observations

and the demand forecast, or the water allocation (‘OGC® WPS DSS’ actor) and (v) recover the data

observations of the pilot instantiation (‘OGC® SOS’ actor).

Page 16: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 16 of 79

Figure 1: “Overview of the user stories”

2.4.1 ‘OGC® WPS server integration (Hydrological Forecast, DSS and DMS)’ user

story

N. User Story 1

User Story ‘OGC® WPS’ server integration

Summary Integration of ‘OGC® WPS’ server on the WatERP framework with the aim of reusing its

capabilities on WatERP.

Actors OMP, OGC® WPS, Hydrological Forecast, DSS, DMS

Pre-conditions

‘OGC® WPS’ server complies with the OGC® standards and is enriched with semantic

annotations based on the WatERP ontology (See D2.3 “Open Interface Specification” in

Section 3.3.2)

Page 17: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 17 of 79

Description

The MAS receives an OGC® WPS integration request from the OMP with the URL of the

‘OGC® WPS’ server to be integrated as input parameter. Then, the MAS evaluates the ‘OGC®

WPS‘ server in order to know the OGC® WPS type (Hydrological Forecast, DSS or DMS). The

next step, after deducting the type of OGC® WPS to be integrated is to analyse the capabilities

of the server in order to acquire them. Finally, the MAS tells the OMP if the ‘OGC® WPS’

server has been successfully integrated.

Exceptions

The URL does not point to a valid ‘OGC® WPS’ server.

The URL has been already registered.

The ‘OGC® WPS’ server does not provide semantic annotations to identify the OGC® WPS

type.

The OGC® WPS type is not supported by the MAS.

Post-conditions The ‘OGC® WPS’ server is integrated on the WatERP framework. Therefore, its features are

ready to be executed in WatERP.

Table 5: “‘OGC® WPS server integration (Hydrological Forecast, DSS and DMS)’ user story description”

Page 18: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 18 of 79

Figure 2: “’OGC® WPS server integration (Hydrological Forecast, DSS and DMS)’ interactions”

alt response(registered)

fail(cause)

alt

OMP actor MAS

registerOGCWPS(url OGC WPS)

OGC WPS

actor

analyseOGCWPS()

OGC WPS HF

actor

response(service information)

OGC WPS

DMS actor

OGC WPS

DSS actor

analyseOGCWPSHF()

response(capabilities)

analyseOGCWPSDMS()

response(capabilities)

analyseOGCWPSDSS()

response(capabilities)

Page 19: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 19 of 79

2.4.2 ‘Unregister OGC® WPS server (Hydrological Forecast, DSS and DMS)’ user

story

N. User Story 2

User Story Unregister ‘OGC® WPS’ server from the WatERP

Summary Unregistering of a ‘OGC® WPS’ server from the WatERP framework

Actors OMP

Pre-conditions The ‘OGC® WPS’ server is integrated on the WatERP framework

Description

The MAS receives an OGC® WPS unregister request from the OMP with the URL of the

‘OGC® WPS’ server to be taken out as input parameter. Then, the MAS unregisters the

‘OGC® WPS’ server and tells to the OMP if the ‘OGC® WPS’ server have been successfully

unregistered.

Exceptions The URL is not already registered in the WatERP framework.

Post-conditions The ‘OGC® WPS’ server is unlinked to the WatERP framework. Therefore, its capabilities are

taken out and are no longer accessible in the WatERP framework.

Table 6: “‘Unregister OGC® WPS server (Hydrological Forecast, DSS and DMS)’ user story description”

Figure 3: “’Unregister OGC® WPS server (Hydrological Forecast, DSS and DMS)’ interactions”

2.4.3 ‘Request a hydrological forecast’ user story

This user story is based on Section 2.2.3 of D6.2 “Open Management Platform”.

N. User Story 3

User Story Request a hydrological forecast.

Summary The water manager consults a hydrological forecast.

Actors OMP, Hydrological Forecast.

Pre-conditions At least one ‘OGC® WPS HF’ server that is able to provide a hydrological forecast is integrated

in the WatERP framework.

Description The OMP collects the hydrological forecast processes available in the WatERP framework

and presents this information to the water manager. Then, the water manager selects a

OMP actor MAS

alt

unregister(url OGC WPS)

response()

fail(cause)

Page 20: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 20 of 79

hydrological forecast and provides the required input parameters (e.g. the geometry where the

forecast will be produced). When the MAS receives this information, it identifies which of the

integrated ‘OGC® WPS hydrological forecast’ servers is able to execute the query and

manages the execution of the process. Finally, the forecast received by the MAS is returned to

the OMP.

Exceptions The execution of the hydrological forecast thrown an exception.

Post-conditions None.

Table 7: “’Consult hydrological forecast’ user story description”

Figure 4: “’Request a hydrological forecast’ interactions”

2.4.4 ‘Request a demand forecast’ user story

This user story is based on Section 2.2.4 of D6.2 “Open Management Platform”.

N. User Story 4

User Story Request a demand forecast.

Summary The water manager wants to request a demand forecast for a sink.

Actors OMP, OGC® WPS DMS, Sesame, OGC® WPS Hydrological Forecast, OGC® SOS

Pre-conditions

At least one ‘OGC® WPS DMS’ server that is able to provide a demand forecast for a sink is

integrated in the WatERP framework.

A ‘hydrological forecast OGC® WPS’ server that is able to provide the needed data to

calculate the demand is integrated in the WatERP framework.

The Sesame server that provides the logical model is integrated in the WatERP framework.

Description

The OMP collects the demand forecast processes available in the WatERP framework and

presents them to the water manager. In order to execute the demand forecast process, the

OMP gathers all sinks available in the logical model trough the MAS, since a demand forecast

is always associated to a sink and it is required to execute a demand forecast process.

Afterwards, the OMP invokes the process through the MAS and provides the identifier of the

getHFprocesses()

response(HF processes)

OMP actor MASOGC WPS HF

actor

alt

getHF(HF process, geometry)

execute(HF process, geometry)

response(HF)

response(HF)

fail(cause)

Page 21: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 21 of 79

process to be executed, the sink where the prediction should to be done, the starting date of

the prediction and the observations required to generate the demand. This call is managed by

the MAS who recovers the essential information to execute the process (e.g. temperature and

rainfall forecast for the sink) and provides it to the ‘DMS OGC® WPS’. Finally, the response

returned by the DMS actor is provided to the OMP.

Exceptions The execution of the hydrological forecast thrown an exception.

The execution of the demand forecast thrown an exception.

Post-conditions None.

Table 8: “’Request a demand forecast’ user story description”

Page 22: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 22 of 79

Figure 5: “’Request a demand forecast’ interaction”

alt response(water resources)

fail(cause)

getDFprocesses()

response(DF processes)

OMP actor MASOGC WPS

DMS actor

alt

getDF(DF process, id sink, start date)

execute(DF process, id sink,

start date, HF, observations)

response(DF)

response(DF)

fail(cause)

Sesame actor

getWaterResources(logical model, sink)

getWaterResources(logical model, sink)

response(water resources)

OGC WPS HF

actor

getHF(geometry)

response(HF)

OGC SOS

actor

getObservations([observation id])

response(observations)

Page 23: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 23 of 79

2.4.5 ‘Request water resources allocation’ user story

The user story described on this section refers to the Section 2.3.1 “Decision Processes: Supply-

Demand Matching” of D6.2 “Open Management Platform 1st prototype” where the screens related to the

decision-making regarding water resources management to match the supply and demand are

presented.

N. User Story 5

User Story Request the water resources allocation

Summary A water manager uses the tool in order to make decisions regarding the water resources

allocation.

Actors OMP, Sesame, OGC® SOS, OGC® WPS DSS, OGC® WPS DMS, OGC® WPS HF

Pre-conditions

Water allocation processes are integrated in the WatERP platform.

Demand forecast processes are integrated in the WatERP platform.

Hydrological forecast processes are integrated in the WatERP platform.

Description

The OMP recovers the water allocation processes that are available in the WatERP framework

and presents them to the water manager. The source water resources, their most remarkable

observations, and the current state of the pilot instantiation are recovered and presented to the

water manager (dashboard “V018 Defining hydraulic resources status” defined in D6.2 “Open

Management Platform 1st prototype”). In the next step (“V019 Define structural system

characteristics/capacities” defined in D6.2 “Open Management Platform 1st prototype”), the

OMP allows the water manager to modify the pilot instantiation behaviour. To do so, the MAS

previously recovers this behaviour using the ‘Sesame’ actor and updates the WatERP ontology

with the changes made. Once the pilot instantiation behaviour is modified, the demand forecast

for all sinks is presented in the OMP (Dashboard “V020 Demand forecast” defined in D6.2

“Open Management Platform 1st prototype”) in order to inform the water manager. The last

step is the execution of the water allocation process, which generates a water allocation

recommendation for the pilot instantiation. With the aim of carrying out the water allocation

process, the MAS recovers the information regarding the logical model, its behaviour, the

demand forecast for each sink and the observations required to execute the water allocation

process, which is managed by the ‘OGC® WPS DSS’ actor. Finally, the response returned by

the DSS actor is provided to the OMP.

Exceptions

An exception is thrown if the water resources cannot recover for a pilot instantiation.

An exception is thrown if the data of the observations cannot be recovered from the ‘OGC®

SOS’ server.

An exception is thrown if the water allocation process fails.

An exception is thrown if the pilot instantiation behaviour cannot be recovered.

An exception is thrown if the pilot instantiation behaviour cannot be modified.

Post-conditions None

Table 9: “’Request water allocation’ user story description”

Page 24: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 24 of 79

Figure 6: “’Request water allocation’ interactions (1/2)”

alt response(water allocation)

fail(cause)

* Repeat user history “Consult a demand

forecast” for each sink

alt response()

fail(cause)

alt

getCurrentBehaviour(logical model id)

getCurrentBehaviour(logical model id)

response(behaviour)

response(behaviour)

fail(cause)

alt response(observations)

fail(cause)

alt response(water resources)

fail(cause)

OMP actor MAS

getWaterAllocationProcesses(logical model

id)

response(Water allocation processes)

Sesame actor

getWaterResources(logical model id,

source) getWaterResources(logical model id,

source)

response(water resources)

OGC SOS actor

getObservations([observation id]) getObservations([observation id])

response(observations)

getCurrentStateScenario(logical model id)

OGC WPS DSS

actor

getCurrentStateScenario(logical model id,

observations)

response(current state scenario)

setCurrentBehaviour(logical model id,

behaviour)setCurrentBehaviour(logical model id,

behaviour)

response()

* Repeat user history “Consult a demand

forecast” for each sink

getCurrentBehaviour()

response(behaviour)

getWaterAllocation(logical model id, water

allocation process ID)

getWaterAlloction(logical model,

observations, behaviour, demand forecast)

response(recommendations)

getLogicalModel(logical model id)

response(logical model)

getObservations(logical model id, id sources)

response(observations)

response(current state scenario)

getWaterAllocationInputRequirements()

response(Input requirements)

getServices(Input requirements)

response(services)

Page 25: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 25 of 79

Figure 7: “’Request water allocation’ interactions (2/2)”

alt response(water allocation)

fail(cause)

* Repeat user history “Consult a demand

forecast” for each sink

alt response()

fail(cause)

alt

getCurrentBehaviour(logical model id)

getCurrentBehaviour(logical model id)

response(behaviour)

response(behaviour)

fail(cause)

alt response(observations)

fail(cause)

alt response(water resources)

fail(cause)

OMP actor MAS

getWaterAllocationProcesses(logical model

id)

response(Water allocation processes)

Sesame actor

getWaterResources(logical model id,

source) getWaterResources(logical model id,

source)

response(water resources)

OGC SOS actor

getObservations(logical model id, id

sources) getObservations(logical model id, id sources)

response(observations)

getCurrentStateScenario(logical model id)

OGC WPS DSS

actor

getCurrentStateScenario(logical model id,

observations)

response(current state scenario)

setCurrentBehaviour(logical model id,

behaviour)setCurrentBehaviour(logical model id,

behaviour)

response()

* Repeat user history “Consult a demand

forecast” for each sink

getCurrentBehaviour()

response(behaviour)

getWaterAllocation(logical model id, water

allocation process ID)

getWaterAlloction(logical model,

observations, behaviour, demand forecast)

response(recommendations)

getLogicalModel(logical model id)

response(logical model)

getObservations(logical model id, id sources)

response(observations)

response(current state scenario)

getWaterAllocationInputRequirements()

response(Input requirements)

getServices(Input requirements)

response(services)

Page 26: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 26 of 79

2.4.6 ‘Request pumping schedule’ user story

N. User Story 8

User Story Request pumping schedule

Summary A water manager uses the tool in order to make decisions regarding the pumping schedule

Actors OMP, Sesame, OGC® SOS, OGC® WPS DSS, OGC® WPS DMS, OGC® WPS HF

Pre-conditions

Pumping schedule processes are integrated in the WatERP platform.

Pump schedule validation processes are integrated in the WatERP platform.

Demand forecast processes are integrated in the WatERP platform.

Hydrological forecast processes are integrated in the WatERP platform.

Description

The first dashboard of the OMP pumping schedule is “V013 Improve Energy Efficiency

Decision Process” dashboard (See D6.2 “Open Management Platform” Section 2.3.2.1), which

presents helpful information of the water resources such as the sources, sinks and storages,

and their observations. Therefore, the OMP gathers the pilot instantiation water resources

(sources, sinks or storages) from the ‘Sesame’ actor and their observations from the ‘OGC®

SOS’ actor. Afterwards, the OMP gathers all available pumping-schedule processes from the

‘Sesame’ actor. These processes are later presented to the water manager through the OMP

in order to select the most appropriated one. Once the pumping schedule process to be

executed has been chosen by the water manager, the MAS must discover: (i) the required

information, which is essential to execute the process; (ii) the services that provide the required

information, and (iii) the agents responsible to manage the services. The ‘Sesame’ actor

provides the information required for the first and second steps, since it contains the WatERP

ontology and therefore knows which are the runnable processes, their inputs and outputs and

the correspondence between runnable process and a service. Finally, correspondence

between service and agent (which is the last needed information), is known by the MAS and

hence it is solved internally without any interaction with an actor. Therefore, with the aim of

executing the pumping schedule process, the MAS recovers the sink water resources and their

demand forecasts. Then, the MAS returns the results of the pumping schedule execution

process to the OMP. There results consist of the current demand forecast, the similar demand

detected by the DSS, and the pump scheduling. To conclude, the pumping schedule proposed

can be modified and validated by the DSS. Hence, an operation to recover the validation

pumping schedule processes and an operation to execute this process are provided.

Exceptions

An exception is thrown if the water resources cannot be gathered for a pilot instantiation.

An exception is thrown if the data of the observations cannot be gathered from the ‘OGC®

SOS’ server.

An exception is thrown if the pumping schedule process fails.

An exception is thrown if the pumping schedule validation process fails.

Post-conditions None

Table 10: “‘Request pumping schedule’ user story description”

Page 27: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 27 of 79

Figure 8: “’Request pumping schedule’ interactions (1/2)”

alt response(restrictions, recommendations)

fail(cause)

alt

getPumpScheduling(logical model id)

getPumpShceduling(logical model id,

demand)

response(similar demand,

pump scheduling)

response(demand, similar demand,

pump scheduling)

fail(cause)

alt response(observations)

fail(cause)

alt response(water resources)

fail(cause)

OMP actor MAS Sesame actor

getWaterResources(logical model id,

[source, sink, storage]) getWaterResources(logical model id,

[source, sink, storage])

response(water resources)

OGC SOS actor

getObservations(logical model id, [id

sources, id sinks, id storages])getObservations(logical model id,

[id sources, id sinks, id storages])

response(observations)

OGC WPS DSS

actor

getDemand(logical model id,

[id sinks], start date)

response(demand)

validateScheduling(logical model id,

demand, similar demand, pump scheduling)validateScheduling(logical model id, demand,

similar demand, pump scheduling)

response(restrictions, recommendations)

OGC WPS DMS

actor

getWaterResources(logical model id,

[sink])

response(water resources)

getPumpSchedulingInputRequirements()

response(Input requirements)

getServices(Input requirements)

response(services)

Page 28: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 28 of 79

Figure 9: “Request pumping schedule’ interactions (2/2)”

alt response(restrictions, recommendations)

fail(cause)

alt

getPumpScheduling(logical model id)

getPumpShceduling(logical model id,

demand)

response(similar demand,

pump scheduling)

response(demand, similar demand,

pump scheduling)

fail(cause)

alt response(observations)

fail(cause)

alt response(water resources)

fail(cause)

OMP actor MAS Sesame actor

getWaterResources(logical model id,

[source, sink, storage]) getWaterResources(logical model id,

[source, sink, storage])

response(water resources)

OGC SOS actor

getObservations(logical model id, [id

sources, id sinks, id storages])getObservations(logical model id,

[id sources, id sinks, id storages])

response(observations)

OGC WPS DSS

actor

getDemand(logical model id,

[id sinks], start date)

response(demand)

validateScheduling(logical model id,

demand, similar demand, pump scheduling)validateScheduling(logical model id, demand,

similar demand, pump scheduling)

response(restrictions, recommendations)

OGC WPS DMS

actor

getWaterResources(logical model id,

[sink])

response(water resources)

getPumpSchedulingInputRequirements()

response(Input requirements)

getServices(Input requirements)

response(services)

Page 29: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 29 of 79

3. Analysis phase

The objective of this phase is to identify the agents that participate on the solution of the problem and

understand how they affect the system where they act. The analysis is performed by following the next

steps: (i) software agent identification, where a first draft of the agents model is made; (ii) task

modelling, where agents tasks are identified and described; (iii) software agent identification – second

round, where a revision of agents model is carried out in order to identify improvements; (iv)

coordination modelling, to identify the messages exchange between internal and external agents; and

(v) organization modelling to classify the agents in regards to their static dependencies.

3.1 Software agent identification

This task aims to specify the agent’s characteristics and design the model which to be used as

reference by future agents. The process is based on the methodology presented in D7.2.1

“Implementation of MAS” in Section 4.2.1, where the identification of the agents is done in two steps. In

the first step the user stories (see Section 2.1) are used to obtain the external and internal agents -

internal agents are executed inside the MAS while external agents work outside of the multi-agent

system - that usually correspond to the actors and interfaces used by them inside the system. The

second step which is presented in the Section 3.3 uses the identified task (see Section 3.2) to

complete the identified agents during this section.

Table 11 presents the agents involved in the Second Vertical Integration (white background) extracted

from actors user stories (see Section 2). Moreover, the table contains the agents identified during the

first delivery (dark grey background) of D7.2.1 “Implementation of MAS”. The newly detected agents

are: (i) ‘OGC® SOS’ that is the internal agent responsible for managing the interaction with an ‘OGC®

SOS’ server; (ii) ‘OGC® WPS HF’ that is the internal agent in charge of the interaction with the ‘OGC®

WPS’ agent containing hydrological forecast processes; (iii) ‘OGC® WPS DMS’ agent, that is another

internal agent responsible for interacting with an ‘OGC® WPS’ agent that stores the demand

management processes; and (iv) ‘OGC® WPS DSS’, which is the agent responsible for managing the

‘OGC® WPS’ server that incorporates the decision support processes. All these agents exchange

information with external actors (‘OGC® WPS’ servers), but they are classified as internal. In this case,

the external actors do not insert or modify the MAS goals, mainly because the communication flows

always in one direction, from the internal agents (‘OGC® SOS’, ‘OGC® WPS HF’, ‘OGC® WPS DMS’,

and ‘OGC® WPS DSS’) to the external actors via SOAP.

Finally, it is important to note that this agents’ list constitutes a first approach which can be modified in

future steps where the methodology proposes a new revision of the agents (see Section 3.3).

N.

Agent Agent Type Description

Page 30: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 30 of 79

1 OMP

External Human agent who interacts with the system requesting information such

as logical model structure, available features of interest of a node and

available observations of a feature of interest

2 OMP Gateway Internal Software agent who manages all received requests through the OMP

external agent.

3 Sesame Internal Software agent that supervises a logical model and manages the

interaction with it within the WatERP platform.

4 OGC® SOS Internal Software agent who is responsible for managing an OGC® SOS server

for getting observations and provide them to the others agents

5 OGC® WPS HF Internal

Software agent responsible for managing an OGC® WPS HF server and

is able to detect newly inserted hydrological forecast processes that can

be provided as service to be consumed by the rest of the agents

6 OGC® WPS

DMS Internal

Software agent who manages a OGC® WPS DMS server and detects

new inserted demand forecast processes to be made available to the rest

of the agents as a service

7 OGC® WPS

DSS Internal

Software agent who is responsible for managing an OGC® WPS DSS

server and executing its processes to obtain recommendations and alerts.

8 OGC® WPS Internal

Software agent responsible for classifying an integrated OGC® WPS

server in order to delegate the supervision to a more specific agent

(OGC® WPS HF, OGC® WPS DMS, OGC® WPS DSS)

Table 11: “First draft of identified agents”

3.2 Task modelling

The aim of this step is creating a functional decomposition of the system providing the goals for each

task, as well as the beliefs and the problem-solving methods to solve each goal. Tasks are split in a tree

hierarchy using a top-down approach and providing a description of each of them.

Task 1 ‘Register OGC® WPS Server’ (Figure 10). Represents the tasks subdivision of the ‘OGC®

WPS Server integration (HF, DSS and DMS)’ user story (See Table 5 and Figure 2). The task ‘Register

OGC® WPS server’ is divided in 4 subtasks which are sequential: (i) ‘receive request’; (ii) ‘check

existence of OGC® WPS server’; (iii) ‘check OGC® WPS server type’; (iv) ‘register’ and finally (v)

‘return response’.

‘Receive request’. All main tasks start with a request where, the petition shall be managed and

the input parameters shall be extracted.

‘Check existence of OGC® WPS server’ which is necessary because if an ‘OGC® WPS’ server

is already registered in the WatERP framework, it shall not be registered again and an

exception shall be thrown.

‘Check OGC® WPS server type’ task is responsible to analyse the integrated ‘OGC® WPS’

server in order to identify its type (DSS, DMS or HF) through the semantic annotations.

Page 31: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 31 of 79

‘Register’ is a subtask made up of three subtasks:

o ‘register’, is responsible for registering the new ‘OGC® WPS’ server in the WatERP

framework for being accessible.

o ‘instantiate a specific OGC® WPS’ instantiates a new agent which fits with the type of

the integrated ‘OGC® WPS’ server (‘OGC® WPS HF’ agent, ‘OGC® WPS DSS’ agent

or ‘OGC® WPS DMS’ agent) for delegating the function of supervising and managing

the specific ‘OGC® WPS’ agent.

o ‘update cache’, whose purpose is to improve the performance of the WatERP platform

by reducing the response time. The most important characteristics of each ‘OGC®

WPS’ server are cached after being registered.

‘Return response’ is the last subtask. Like the ‘receive request’ subtask, this subtask is part of

all tasks which need to return information.

Figure 10: “Task decomposition for ‘Register OGC® WPS Server”

Task 2 ‘OGC® WPS Processes Analysis’ (Figure 11) is focused on registering the processes of

OGC® WPS in the WatERP platform. It is a consequence of the ‘OGC® WPS Server integration (HF,

DSS and DMS)’ user story (See Table 5 and Figure 2). The task ‘Register OGC® WPS server’ is

divided in 4 subtasks that are sequential: (i) ‘read processes’; (ii) ‘read process description’; (iii)

‘evaluate process’; and finally (iv) ‘register process’.

‘Read processes’ task that accesses the supervised ‘OGC® WPS’ server using the

‘getCapabilities’ operation with the aim of achieving all available processes on the server.

‘Read process description’ task obtains the description of each process that is part of the

integrated ‘OGC® WPS’ server using the ‘describeProcess’ operation of the ‘OGC® WPS’

server.

The ‘Evaluate process’ is an essential task, since it evaluates each process in order to decide if

it is runnable or non-runnable. A runnable process is a process that can be executed by the

WatERP platform because all required input parameters are present, that is, it exists another

registered process that is able to generate the required input parameter as an output. Instead, a

non-runnable process is a process where one or more input parameters are missing on the

WatERP platform. It is important to notice that a runnable process can be later classified as

non-runnable process due to process-related changes registered, such as removing a process.

Moreover, it is also possible that a non-runnable process is later classified as runnable if a new

RegisterOGCWPSServer

ReceiveRequest-1 ReturnResponse-5Register-4CheckExistenceOGCWPSServer-2

InstantiateSpecificAgent-4.2 UpdateCache-4.3

CheckOGCWPSServerType-3

Register-4.1

Page 32: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 32 of 79

process is registered on the WatERP platform and it is able to provide the needed information

to it.

The last task is ‘Register process’ and it is subdivided into two subtasks:

o The ‘Register on WatERP ontology’ task registers the runnable and non-runnable

processes on the WatERP ontology with the aim of carrying out the orchestration using

semantic queries. Therefore, information about the inputs and outputs of the processes

is annotated on the ontology.

o ‘Register on yellow pages’ task registers the processes offered by the agents (also

called services in Jadex language) in the yellow pages in order to know who is the

agent responsible for executing it once the required service is detected.

Figure 11: “Task decomposition for ‘OGC® WPS processes analysis’”

Task 3 ‘Unregister OGC® WPS Server’ (Figure 12) is a consequence of the ‘Unregister OGC® WPS

server (Hydrological Forecast, DSS and DMS)’ user story (See Table 6 and Figure 2). The task

‘Unregister OGC® WPS server’ is divided in 3 sequential subtasks: (i) ‘receive request’; (ii) ‘unregister’;

and finally (iii) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Unregister’ is a subtask based in three subtasks:

o ‘Check existence OGC® WPS Server’ checks if ‘OGC® WPS’ Server to be removed

exists in the WatERP framework. Furthermore, if the ‘OGC® WPS’ Server does not

exist, an exception is thrown.

o ‘Unregister processes’. If the ‘OGC® WPS’ Server exists, that is, the previous subtask

has been successfully executed the processes that are part of this ‘OGC® WPS’

Server are unregistered of the runnable and non-runnable processes cache since they

are no longer part of the system. Therefore, after the execution of this subtask these

processes will not be available in the WatERP framework to be executed.

o ‘Evaluate processes’. Moreover, the removal of the processes provided for an

unregistered ‘OGC® WPS’ server of the runnable processes cache implies that other

processes may become unusable because they need as input the output of one of the

processes removed. Therefore, a new evaluation of the processes is carried out on the

runnable processes cache in order to eliminate the non-runnable processes of the

system which are moved to the non-runnable processes cache.

o

OGCWPSProcessesAnalysis

ReadProcesses-1 RegisterProcess-4ReadProcessDescription-2

RegisterOnYellowPages-4.2

EvaluateProcess-3

RegisterOnWatERPOntology-4.1

Page 33: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 33 of 79

‘Return response’. The same task concept that in task 1.

Figure 12: “Task decomposition for ‘Unregister OGC® WPS Server”

Task 4 ‘Get available Hydrological Forecast Processes’ (Figure 13) is a consequence of the

‘Consult a hydrological forecast’ user story (See Table 7 and Figure 4). The task ‘Get available

hydrological forecast processes’ is divided into three sequential subtasks: (i) ‘receive request’; (ii)

‘obtain available hydrological forecast processes’; and finally (iii) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Get available hydrological forecast processes’ is responsible for retrieving the runnable

hydrological processes stored on the runnable processes cache.

‘Return response’. The same task concept that in task 1.

Figure 13: “Task decomposition for ‘Get available hydrological forecast processes”

Task 5 ‘Get Hydrological Forecast’ (Figure 14) is a consequence of the ‘Consult a hydrological

forecast’ user story (See Table 7 and Figure 4). The ‘execute hydrological forecast’ task is divided into 4

sequential subtasks: (i) ‘receive request’; (ii) ‘get OGC® WPS server’; (iii) ‘execute hydrological forecast

process’ and finally (iv) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Get OGC® WPS Server’ is aimed at finding the ‘OGC® WPS’ server that is responsible for

managing the process to be executed using the runnable processes cache.

‘Execute hydrological forecast process’ is a subtask made up of two subtasks and it is

responsible for executing the hydrological forecast process.

o ‘Get input parameters’ is the first subtask and it is aimed at obtaining the required input

parameters to execute the process. This task is carried out analysing the runnable

processes cache, where the information about the inputs and outputs of all available

processes is stored.

o ‘Execute’ which is responsible for invoking the operation ‘execute’ of the ‘OGC® WPS

server’ using the input parameters retrieved by the previous task ‘Get input

parameters’.

OGCWPSProcessesAnalysis

ReceiveRequest-1 ReturnResponse-3Unregister-2

UnregisterProcesses-2.2 EvaluateProcesses-2.3CheckExistenceOGCWPSServer-2.1

GetAvailableHydrologicalForecastProcesses

ReceiveRequest-1 GetAvailableHydrologicalForecastProcesses-2 ReturnResponse-3

Page 34: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 34 of 79

‘Return response’. The same task concept that in task 1.

Figure 14: “Task decomposition for ‘Consult hydrological forecast”

Task 6 ‘Get Available Demand Forecast Processes’ (Figure 15) is a consequence of the ‘Consult a

demand forecast’ user story (See Table 8 and Figure 5). The ‘Get available demand forecast

processes’ task is divided into three sequential subtasks: (i) ‘receive request’; (ii) ‘obtain available

demand forecast processes’; and finally (iii) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Get available demand forecast processes’ is responsible for retrieving the runnable demand

forecast processes stored in the runnable processes cache of the platform.

‘Return response’. The same task concept that in task 1.

Figure 15: “Task decomposition for ‘Get available demand forecast processes”

Task 7 ‘Get Water Resources’ (Figure 16) is a consequence of the ‘Consult a demand forecast’ user

story (See Table 8 and Figure 5) and ‘Consult water allocation’ user story (See Table 9, Figure 6 and

Figure 7). The ‘Get water resources of a type’ task is divided into three sequential subtasks: (i) ‘receive

request’; (ii) ‘obtain available demand forecast processes’; and finally (iii) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Get water resources’ is responsible for retrieving the water resources which are part of a

logical model and of a particular type from the ontology.

‘Return response’. The same task concept that in task 1.

Figure 16: “Task decomposition for ‘Get water resources of a type”

Task 8 ‘Execute Demand Forecast’ (Figure 17) is a consequence of the ‘Consult a demand forecast’

user story (See Table 8 and Figure 5). The ‘execute a demand forecast’ task is divided into four

sequential subtasks: (i) ‘receive request’; (ii) ‘get OGC® WPS server’; (iii) ‘execute demand forecast

process’ and finally (iv) ‘return response’.

GetHydrologicalForecast

ReceiveRequest-1 ReturnResponse-4ExecuteHydrologicalForecastProcess-3getOGCWPSServer-2

GetInputParameters-3.1 Execute-3.2

GetAvailableDemandForecastProcesses

ReceiveRequest-1 ReturnResponse-3GetAvailableDemandForecastProcesses-2

GetWaterResources

ReceiveRequest-1 ReturnResponse-3GetWaterResources-2

Page 35: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 35 of 79

‘Receive request’. The same concept that in task 1.

‘Get OGC® WPS Server’ is aimed at finding the ‘OGC® WPS’ server that is responsible for

managing the demand forecast process to be executed using the runnable processes cache.

‘Execute demand forecast process’ is a subtask made up of two subtasks and it is responsible

for executing the demand forecast process.

o ‘Get input parameters’ is the first subtask and is aimed at obtaining the required input

parameters to execute the process (e.g. recovering the temperature and rainfall

forecast provided by the hydrologic forecast systems to carry out a more accurate

demand forecast). This task is carried out analysing the runnable processes cache,

where the information about the inputs and outputs of all available processes is stored.

o ‘Execute’ which is responsible for invoking the operation ‘execute’ of the ‘OGC® WPS

DMS’ server using the input parameters retrieved by the previous task ‘Get input

parameters’.

‘Return response’. The same task concept that in task 1.

Figure 17: “Task decomposition for ‘execute a demand forecast’”

Task 9 ‘Get Available Water Allocation Processes’ (Figure 18) is a consequence of the ‘Consult

water allocation’ user story (See Table 9, Figure 6 and Figure 7). The task ‘Get available water

allocation processes’ is divided into three sequential subtasks: (i) ‘receive request’; (ii) ‘obtain available

water allocation DSSs’; and finally (iii) ‘return response’.

‘Receive request’. The same concept that in ¡task 1.

‘Get available water allocation processes’ is responsible for retrieving the runnable OGC® WPS

water allocation processes stored on the runnable processes cache of the WatERP platform.

‘Return response’. The same task concept that in task 1.

Figure 18: “Task decomposition for ‘get available water allocation processes’”

Task 10 ‘Get Current Scenario State’ (Figure 19) is a consequence of the ‘Consult water allocation’

user story (See Table 9, Figure 6 and Figure 7). The task ‘Get current scenario state’ is divided into four

sequential subtasks: (i) ‘receive request’; (ii) ‘get OGC® WPS Server’; (iii) ‘execute get current scenario

state’ and finally (iv) ‘return response’.

ExecuteDemandForecast

ReceiveRequest-1 ReturnResponse-4GetOGCWPSServer-2

Execute-3.2

ExecuteDemandForecastProcess-3

GetInputParameters-3.1

GetAvailablewaterAllocationProcesses

ReceiveRequest-1 ReturnResponse-3GetAvailableWaterAllocationProcesses-2

Page 36: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 36 of 79

‘Receive request’. The same concept that in task 1.

‘Get OGC® WPS Server’ is aimed at finding the OGC® WPS DSS that is responsible for

managing the water allocation DSS used by the water manager.

‘Execute get current scenario process’ is a subtask made up of two subtasks and it is

responsible for executing the demand forecast process.

o ‘Get input parameters’ is the first subtask and it is aimed at obtaining the required input

parameters to execute the process (e.g. recovering the essential observations to

evaluate the current state). This task is carried out analysing the runnable processes

cache, where the information about the inputs and outputs of all available processes is

stored.

o ‘Execute’ which is responsible for invoking the operation ‘execute’ of the ‘OGC® WPS

DSS’ server using the inputs parameters retrieved by the previous task ‘Get input

parameters’.

‘Return response’. The same task concept that in task 1.

Figure 19: “Task decomposition for ‘get current scenario state’”

Task 11 ‘Get Behaviour’ (Figure 20) is a consequence of the ‘Consult water allocation’ user story (See

Table 9, Figure 6 and Figure 7). The task ‘Get behaviour’ is divided into three sequential subtasks: (i)

‘receive request’; (ii) ‘get behaviour’ and finally (iii) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Get behaviour’ is aimed at obtaining the behaviour of a logical model.

‘Response’. The same task concept that in task 1.

Figure 20: “Task decomposition for ‘get behaviour’”

Task 12 ‘Set behaviour’ (Figure 21) is a consequence of the ‘Consult water allocation’ user story (See

Table 9, Figure 6 and Figure 7). The task ‘Set behaviour’ is divided into three sequential subtasks: (i)

‘receive request’; (ii) ‘set behaviour’ and finally (iii) ‘return response’.

‘Receive request’. The same concept that in task 1.

Set behaviour’ is aimed at adding the new behaviour of the logical model used during the water

allocation decision-making in the ontology.

GetCurrentScenarioState

ReceiveRequest-1 ReturnResponse-4GetOGCWPSServer-2

Execute-3.2

ExecuteGetCurrentScenarioProcess-3

GetInputParameters-3.1

GetBehaviour

ReceiveRequest-1 ReturnResponse-3GetBehaviour-2

Page 37: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 37 of 79

‘Response’. The same task concept that in task 1.

Figure 21: “Task decomposition for ‘set behaviour’”

Task 13 ‘Get Water Allocation Recommendations’ (Figure 22) is a consequence of the ‘Consult

water allocation’ user story (See Table 9, Figure 6 and Figure 7). The task ‘Get water allocation

recommendations’ is divided into four sequential subtasks: (i) ‘receive request’; (ii) ‘get OGC® WPS

Server’; (iii) ‘execute water allocation recommendations process’ and finally (iv) ‘return response’.

‘Receive request’. The same concept that in task 1.

‘Get OGC® WPS Server’ is aimed at finding the ‘OGC® WPS DSS’ responsible for managing

the water allocation DSS used by the water manager.

‘Execute water allocation recommendations process’ is a subtask made up of two subtasks and

it is responsible for executing the demand forecast process.

o ‘Get input parameters’ is the first subtask and it is aimed at obtaining the required input

parameters to execute the process responsible for generating water allocation

recommendations (e.g. recovering the essential observations, the demand forecast for

each sink of the logical model and the behaviour of the logical model to execute the

water allocation process and get the recommendations). This task is carried out

analysing the runnable processes cache, where the information about the inputs and

outputs of all available processes is stored.

o ‘Execute’ which invokes the operation ‘execute’ of the ‘OGC® WPS’ server returned by

the previous task ‘Get OGC® WPS Server’. Moreover, the process that is able to

generate the water allocation and its required input parameters (retrieved by the

previous task ‘Get input parameters’) are provided to the ‘execute’ operation.

‘Return response’. The same task concept that in task 1.

Figure 22: “Task decomposition for ‘get water allocation recommendations’”

Task 14 ‘Get Pump Scheduling Process’ (Figure 23) is a consequence of the ‘Consult pump

scheduling’ user story (See Table 9, Figure 6 and Figure 7). The task ‘Get pump scheduling

recommendations’ is divided into four subtasks: (i) ‘receive request’; (ii) ‘get OGC® WPS Server’; (iii)

‘execute pump scheduling recommendations process’ and finally (iv) ‘return response’.

SetBehaviour

ReceiveRequest-1 ReturnResponse-3SetBehaviour-2

GetWaterAllocationRecommendations

ReceiveRequest-1 ReturnResponse-4GetOGCWPSServer-2

Execute-3.2

ExecuteWaterAllocationRecomProcess-3

GetInputParameters-3.1

Page 38: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 38 of 79

‘Receive request’. The same concept that in task 1.

‘Get OGC® WPS Server’ is aimed at finding the ‘OGC® WPS DSS’ server responsible for

managing the pump scheduling DSS chosen by the water manager.

‘Execute pump scheduling recommendations process’ is a subtask made up of two subtasks

and it is responsible for executing the demand forecast process.

o ‘Get input parameters’ is the first subtask and it is aimed at obtaining the required input

parameters to execute the process responsible for generating pump scheduling

recommendations (e.g. the demand forecast for each sink of the logical model). This

task is carried out analysing the runnable processes cache, where the information

about the inputs and outputs of all available processes is stored.

o ‘Execute’ which invokes the operation ‘execute’ of the ‘OGC® WPS’ server returned by

the previous task ‘Get OGC® WPS Server’. Moreover, the process that is able to

generate the pump scheduling and its required input parameters (retrieved by the

previous task ‘Get input parameters’) are provided to the ‘execute’ operation.

‘Return response’. The same task concept depicted in task 1.

Figure 23: “Task decomposition for ‘get pump scheduling recommendations’”

The following tables detail each task through the identification of the following fields: (i) task goal; (ii)

task description; (iii) inputs of the task; (iv) the output of the task; (v) pre-conditions that indicate the

initial state required to execute the task; (vi) post-conditions that detail the state after executing the task;

(vii) the associated subtasks; and (viii) the beliefs.

N. Task 1

Name Register ‘OGC® WPS’ server.

Goal Register an ‘OGC® WPS’ server in order make it available in the WatERP framework.

Description

This task checks if ‘OGC® WPS’ server exists in the WatERP framework. If the server does

not exist, then it is analysed to discover its type. Afterwards, a specific new agent capable of

managing the ‘OGC® WPS’ server (HF OGC® WPS, DSS OGC® WPS and DMS OGC®

WPS) is instantiated with the aim of supervising it.

Input URL of the ‘OGC® WPS’ server to be registered.

Outputs True if the ‘OGC® WPS’ server has been successfully registered in the WatERP framework.

False otherwise.

Pre-conditions Received request to register an ‘OGC® WPS’ server.

Post-conditions The ‘OGC® WPS’ server is integrated in the WatERP framework.

Super Task None.

GetPumpSchedulingProcesses

ReceiveRequest-1 ReturnResponse-4GetOGCWPSServer-2

Execute-3.2

ExecutePumpSchedulingRecomProcess-3

GetInputParameters-3.1

Page 39: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 39 of 79

Sub Task

Receive request-1, Check existence of OGC® WPS Server-2, Check OGC® WPS Server

type-3, Register-4 (Register-4.1, Instantiate a specific OGC® WPS-4.2, Update cache-4.3),

Return response-5.

Belief URL ‘OGC® WPS’ server.

Table 12: “Task ‘Register OGC® WPS server’ description”

N. Task 2

Name OGC® WPS processes analysis.

Goal Register the executable processes of the specific ‘OGC® WPS’ server in the WatERP

platform.

Description

This task analyses the processes of a specific ‘OGC® WPS’ server to identify the executable

and non-executable processes. The executable processes are the processes that can be run

using the knowledge integrated in the platform. Instead, the non-executable processes are the

processes that do not have all the needed information to be executed.

Input None.

Outputs None.

Pre-conditions Received request to evaluate the supervised processes.

Post-conditions

The supervised processes are classified in executable and non-executable processes.

The executable processes are available to be executed on the WatERP framework through the

orchestration.

Super Task None.

Sub Task Read processes-1, Read process description-2 Evaluate Process-3, Register Process-4.

Belief Runnable processes (inputs and outputs), Non-runnable processes (inputs and outputs).

Table 13: “Task ‘Register OGC® WPS processes analysis’ description”

N. Task 3

Name Unregister ‘OGC® WPS’ server (Hydrological Forecast, DSS and DMS).

Goal Unregister an ‘OGC® WPS’ server of the platform.

Description

This task unregisters the ‘OGC® WPS’ server of the WatERP framework and removes the

integrated processes that are part of the unregistered OGC® WPS. Moreover, a new

evaluation of the runnable processes available in the WatERP framework is carried out since

the eliminated processes that belong to the unregistered ‘OGC® WPS’ server can cause that

runnable processes become non-executable processes.

Input URL of the ‘OGC® WPS’ server to be unregistered.

Outputs True if ‘OGC® WPS’ server has been successfully unregistered of the WatERP framework.

False otherwise.

Pre-conditions Received request to unregister an ‘OGC® WPS’ server.

Post-conditions

The ‘OGC® WPS’ server is unregistered.

Its processes are eliminated of the runnable and non-runnable processes knowledge.

The processes that used some of the deleted process as input are moved to the non-runnable

processes.

Page 40: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 40 of 79

Super Task None.

Sub Task Receive request-1, Unregister-2, Check existence OGC® WPS Server-2.1, Unregister

processes-2.2, Evaluate processes-2.3, Return response-3.

Belief Runnable processes (inputs and outputs), Non-runnable processes (inputs and outputs).

Table 14: "Task ‘Unregister OGC® WPS server (Hydrological Forecast, DSS and DMS)’ description"

N. Task 4

Name Get available hydrological forecast processes.

Goal Get the runnable hydrological forecast processes.

Description This task retrieves the runnable hydrological processes stored in the runnable processes

cache of the WatERP platform.

Input None.

Outputs Hydrological forecast processes.

Pre-conditions Received request to obtain the available hydrological forecast processes.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, Get available hydrological forecast processes-2, ReturnResponse-3.

Belief Runnable processes.

Table 15: "Task ‘Get available hydrological forecast processes’ description”

N. Task 5

Name Execute Hydrological forecast process.

Goal Execute a hydrological forecast process.

Description

First, this task obtains the ‘OGC® WPS’ Server that is able to execute the hydrological forecast

process. After, the input parameters required to run the process are obtained from the WatERP

platform. Once the server responsible for executing the process and the required parameters

are retrieved, the process is executed.

Input Hydrological forecast process identifier, geometry.

Outputs Result of the executed hydrological forecast process.

Pre-conditions Received request to execute a hydrological forecast process.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, Get OGC® WPS Server-2, Execute hydrological forecast process-3 (Get

input parameters-3.1, Execute-3.2), Return response-4

Belief Runnable processes, URL of the ‘OGC® WPS’ server

Table 16: “Task ‘Execute Hydrological forecast process’ description”

N. Task 6

Name Get available demand forecast processes.

Goal Get the runnable demand forecast processes.

Description This task retrieves the runnable demand forecast processes stored in the runnable processes

Page 41: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 41 of 79

cache of the WatERP platform.

Input None.

Outputs Demand forecast processes.

Pre-conditions Received request to obtain the demand forecast processes.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, Get available demand forecast processes-2, ReturnResponse-3.

Belief Runnable processes.

Table 17: “Task ‘Get available demand forecast processes’ description”

N. Task 7

Name Get water resources of a type.

Goal Get all water resources that are part of logical model and of a specific type.

Description This task obtains all water resources of a logical model that are of a specific type.

Input Logical model identifier, water resource type.

Outputs Water resources.

Pre-conditions Received request to obtain all water resources of a concrete type.

Post-conditions None.

Super Task None.

Sub Task ReceiveRequest-1, Get water resources-2, Return response-3.

Belief Logical model cache.

Table 18: “Task ‘Get water resources of a type’ description”

N. Task 8

Name Execute a demand forecast.

Goal Execute a demand forecast.

Description

First, this task finds the ‘OGC® WPS’ server that is responsible for executing the demand

forecast process. Afterwards, the input parameters required to run the process are obtained

from the WatERP platform. Once the server responsible for executing the process and the

required parameters are retrieved, the process is executed.

Input

The identifier of the demand forecast process to be executed.

The identifier of the sinks for which the demand forecast will be computed.

The date from which to generate demand forecasts.

Outputs Demand forecast.

Pre-conditions Received request to execute a demand forecast.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, get OGC® WPS Server-2, execute demand forecast process-3 (get input

parameters-3.1, execute-3.2), return response-4.

Belief Runnable process, URL of OGC® WPS server.

Table 19: “Task ‘Execute a demand forecast’ description”

Page 42: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 42 of 79

N. Task 9

Name Get available water allocation process.

Goal Get the runnable water allocation processes.

Description This task retrieves the runnable water allocation processes stored on the runnable processes

cache of the WatERP platform.

Input None.

Outputs Water allocation processes.

Pre-conditions Received request to obtain the water allocation processes.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, Get available water allocation processes-2, ReturnResponse-3.

Belief Runnable processes.

Table 20: “Task ‘Get available water allocation process’ description”

N. Task 10

Name Get current scenario state.

Goal Get current scenario state.

Description This task obtains the current state of the pilot instantiation.

Input Logical model identifier

Outputs Current state

Pre-conditions Received request to obtain current scenario state.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, get OGC® WPS Server-2, execute get current scenario process-3 (get

input parameters-3.1, execute-3.2), return response-4

Belief None.

Table 21: “Task ‘get current scenario state’ description”

N. Task 11

Name Get behaviour.

Goal Get the current behaviour used on the logical model.

Description

This task obtains the current behaviour of the infrastructures of the basin (e.g. minimum (Qmin)

and maximum (Qmax) flow of the infrastructure to work, minimum production if the infrastructure

is working (QWorkMin), etc...).

Input Logical model identifier.

Outputs Behaviour.

Pre-conditions Received request to obtain the current behaviour of a logical model.

Post-conditions None.

Super Task None.

Sub Task ReceiveRequest-1, Get behaviour-2, Return response-3

Belief None

Page 43: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 43 of 79

Table 22: “Task ‘Get behaviour’ description”

N. Task 12

Name Set behaviour.

Goal Get the current behaviour used on the logical model

Description

This task modifies the current behaviour of the infrastructures of the basin (e.g. minimum (Qmin)

and maximum (Qmax) flow of the infrastructure to work, minimum production if the infrastructure

is working (QWorkMin), etc…).

Input Logical model identifier, behaviour.

Outputs True if behaviour has been changed on the WatERP ontology. False otherwise.

Pre-conditions Received request to change the current behaviour of a logical model.

Post-conditions The behaviour of the logical model is substituted by the new behaviour.

Super Task None.

Sub Task ReceiveRequest-1, Set behaviour-2, Return response-3

Belief None.

Table 23: “Task ‘Set behaviour’ description”

N. Task 13

Name Get water allocation recommendations.

Goal Get recommendations regarding the water allocation in order to facilitate the decision-making.

Description

First, this task finds the ‘OGC® WPS’ server responsible for executing the water allocation

recommendations process. Afterwards, the input parameters required to run the process are

obtained from the WatERP platform. Once the server responsible for executing the process

and the required parameters are retrieved, the process is executed.

Input Logical model identifier, water allocation recommendations process.

Outputs Water allocation recommendations.

Pre-conditions Received request to get the water allocation recommendations.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, get OGC® WPS Server-2, execute water allocation recommendations

process-3 (get input parameters-3.1, execute-3.2), return response-4.

Belief Runnable process.

Table 24: “Task ‘Get water allocation recommendations’ description”

N. Task 14

Name Get pump scheduling recommendations

Goal Get recommendations regarding the pump scheduling in order to facilitate the decision-making.

Description

First, this task finds the ‘OGC® WPS’ server responsible for executing the pump scheduling

recommendations process. Afterwards, the input parameters required to run the process are

obtained from the WatERP platform. Once the server responsible for executing the process

Page 44: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 44 of 79

and the required parameters are retrieved, the process is executed.

Input Logical model identifier.

Outputs Pump scheduling recommendations.

Pre-conditions Received request to get the pump scheduling recommendations.

Post-conditions None.

Super Task None.

Sub Task Receive request-1, get OGC® WPS Server-2, execute pump scheduling recommendations

process-3 (get input parameters-3.1, execute-3.2), return response-4.

Belief Runnable process.

Table 25: “Task ‘Get pump scheduling recommendations’ description”

3.3 Software agent identification – second round

Once the main system tasks have been identified, the next step of the MAS-CommonKADS

methodology is to assign these tasks to the internal agents in order to check if the identified internal

agents can accomplish the tasks defined in section 3.2 and hence, ensure that all functionalities of the

system are covered.

The following table represents the assignation between internal agent and task/subtask providing an

overview of the assignation.

Tasks - Subtasks \ Internal

agents

OMP

Gateway

Sesame OGC®

SOS

OGC®

WPS

OGC®

WPS

HF

OGC®

WPS

DMS

OGC®

WPS DSS

Ta

sk

1

1 Receive Request Yes

2 Check existence of OGC®

WPS Server

Yes

3 Check OGC® WPS Server

type

Yes

4 Register Yes

4.1 Register Yes

4.2 Instantiate a specific

OGC® WPS

Yes

4.3 Update Cache Yes Yes Yes

5 Return response Yes

Ta

sk

2

1 Read processes Yes Yes Yes

2 Read process description Yes Yes Yes

3 Evaluate process Yes Yes Yes

4 Register process Yes Yes Yes

4.1 Register on WatERP

ontology

Yes

Page 45: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 45 of 79

Tasks - Subtasks \ Internal

agents

OMP

Gateway

Sesame OGC®

SOS

OGC®

WPS

OGC®

WPS

HF

OGC®

WPS

DMS

OGC®

WPS DSS

4.2 Register on yellow pages

Ta

sk

3

1 Receive Request Yes

2 Unregister Yes

2.1 Check existence OGC®

WPS Server

Yes

2.2 Unregister Yes

2.3 Evaluate processes Yes Yes Yes

3 Return response Yes

Ta

sk

4

1 Receive request Yes

2 Get available hydrological

forecast processes Yes

3 Return response Yes

Ta

sk

5

1 Receive request Yes

2 Get OGC® WPS Server Yes

3 Execute hydrological

forecast process

Yes

3.1 Get input parameters Yes

3.2 Execute Yes

4 Return response Yes

Ta

sk

6

1 Receive request Yes

2 Get available demand

forecast processes Yes

3 Return response Yes

Ta

sk

7 1 Receive request Yes

2 Get water resources

3 Return response Yes

Ta

sk

8

1 Receive request Yes

2 Get OGC® WPS Server Yes

3 Execute demand forecast

process

Yes

3.1 Get input parameters Yes

3.2 Execute Yes

4 Return response Yes

Ta

sk

9

1 Receive request Yes

2 Get available water

allocation processes Yes

3 Return response Yes

Page 46: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 46 of 79

Tasks - Subtasks \ Internal

agents

OMP

Gateway

Sesame OGC®

SOS

OGC®

WPS

OGC®

WPS

HF

OGC®

WPS

DMS

OGC®

WPS DSS

Ta

sk

10

1 Receive request Yes

2 Get OGC® WPS Server Yes

3 Execute get current scenario

process

Yes

3.1 Get input parameters Yes

3.2 Execute Yes

4 Return response Yes

Ta

sk

11 1 Receive request Yes

2 Get behaviour Yes

3 Return response Yes

Ta

sk

12 1 Receive request Yes

2 Set behaviour Yes

3 Return response Yes

Ta

sk

13

1 Receive request Yes

2 Get OGC® WPS Server Yes

3 Execute water allocation

recommendations process

Yes

3.1 Get input parameters Yes

3.2 Execute Yes

4 Return response Yes

Ta

sk

14

1 Receive request Yes

2 Get OGC® WPS Server Yes

3 Execute pump scheduling

recommendations process

Yes

3.1 Get input parameters Yes

3.2 Execute Yes

4 Return response Yes

Table 26: “Task-agents distribution round 1”

As it is shown in the Table 26, not all tasks have the minimum of one agent assigned (see Task 2 – 4.2

Register on yellow pages). Therefore, another internal agent is necessary to fulfil all tasks defined in the

“MS5 Second Vertical Integration”. The internal agent suitable for this task is the ‘Yellow Pages’ agent.

Moreover, it is an internal agent provided by the Jadex platform and therefore it does not need to be

implemented. For more information regarding the ‘Yellow Pages’ agent, see Section 4. Consequently,

the previous table has been altered to add the ‘Yellow Pages’ agent who is able to carry out task 4.2

Register on yellow pages (see Table 27).

Page 47: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 47 of 79

Tasks – Subtasks \ Internal

agents

OMP

Gateway

Sesame OGC®

SOS

OGC®

WPS

OGC®

WPS

HF

OGC®

WPS

DMS

OGC®

WPS

DSS

Yellow

Pages

Ta

sk

2

1 Read processes Yes Yes Yes

2 Read process description Yes Yes Yes

3 Evaluate process Yes Yes Yes

4 Register process Yes Yes Yes

4.1 Register on WatERP

ontology

Yes

4.2 Register on yellow pages Yes

Table 27: “Task-agents distribution round 2”

Moreover, it is important to remark that this deliverable is iterative and hence this agent list can be

modified in further versions of this document.

3.4 Coordination modelling

As it was previously presented in D7.2.1 “Implementation of MAS” in Section 4.2.4, the coordination

between agents is essential in a MAS development. Therefore, the MAS-CommonKADS architecture

includes different tasks to analyse the coordination of the MAS, namely: (i) identify the conversations

between agents; (ii) describe the prototypical scenarios between agents; and (iii) represent the events

between agents in event flow diagrams.

3.4.1 Conversations

The aim of this section is to group the interactions between agents in conversations in order to identify

the different situations where an exchange of messages or events between agents occurs. The current

conversations which are aligned with milestone MS5 ”Second Vertical Integration”, will be added to the

conversations that were already identified in D7.2.1 “Implementation of MAS” in Section 4.2.4.1.

Following the same format that in previous deliverable, each conversation consists of one single

interaction and the possible answer, and they are described using tables containing: (i) name of the

identified conversation; (ii) objective of the conversation, that is, which is the goal of the agents with this

conversation; (iii) agents involved in the conversation; (iv) starter, which identifies the agent that initiates

the conversation; (v) description; (vi) pre-condition, which is the description of the WatERP MAS initial

state needed to start the conversation; (vii) post-condition , which is the WatERP MAS state expected;

and finally (viii) ending conditions which describe the cases where the conversation is finished

prematurely.

The conversations identified during the user stories’ analysis are presented below. Based on Figure 2 of

Section 2.4.1, the following conversations are identified: (i) register an ‘OGC® WPS’ server; (ii) register

Page 48: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 48 of 79

an ‘OGC® WPS HF’ server; (iii) register an ‘OGC® WPS DMS’ server; and (iv) register an ‘OGC® WPS

DSS’ server.

N. Conversation 1

Name Integrate an ‘OGC® WPS’ server.

Objective Integrate an ‘OGC® WPS’ server in order to make it available for the WatERP framework.

Agents OMP Gateway, OGC® WPS.

Starter OMP Gateway.

Description When ‘OMP Gateway’ agent receives a petition to integrate an ‘OGC® WPS’ server, it

instantiates a new ‘OGC® WPS’ agent and delegates to it the register task.

Pre-condition None.

Post-condition The ‘OGC® WPS’ server is instantiated and is responsible of managing the integrated ‘OGC®

WPS’ server.

Ending condition The ‘OGC® WPS’ server has already been registered or the ‘OGC® WPS’ server is not

accessible.

Table 28: “‘Integrate an OGC® WPS server’ conversation”

N. Conversation 2

Name Destroy ‘OGC® WPS’ agent

Objective Destroy ‘OGC® WPS’ agent

Agents OMP Gateway, OGC® WPS.

Starter OMP Gateway.

Description

After to delegating the supervision of the integrated ‘OGC® WPS’ server to a more specific

agent (‘OGC® WPS HF’, ‘OGC® WPS DMS’ or ‘OGC® WPS DSS’), the ‘OGC® WPS’ agent is

not necessary, hence the ‘OMP Gateway’ agent sends a message to destroy the ‘OGC® WPS’

agent.

Pre-condition Supervision of the ‘OGC® WPS’ server has been delegated to a more specific agent.

Post-condition The ‘OGC® WPS’ agent is eliminated of the WatERP platform.

Ending condition The ‘OGC® WPS’ server is destroyed.

Table 29: “‘Destroy OGC® WPS agent’ conversation”

N. Conversation 3

Name Register an ‘OGC® WPS HF’ server.

Objective Register an ‘OGC® WPS HF’ server in order to make it available for the WatERP framework.

Agents OGC® WPS, OGC® WPS HF.

Starter OMP WPS

Description

The ‘OGC® WPS’ agent instantiates a new agent (the ‘OGC® WPS HF’ agent) to supervise

the ‘OGC® WPS hydrological forecast’ server. Moreover, this agent is capable of analysing the

integrated server and registering the runnable processes in the WatERP platform.

Pre-condition The integrated ‘OGC® WPS’ server is of hydrological forecast type.

Post-condition The ‘OGC® WPS HF’ server is registered on the WatERP platform, thus its processes are

Page 49: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 49 of 79

accessible from WatERP framework.

Ending condition The ‘OGC® WPS HF’ server has already been registered and these runnable processes have

been registered on the WatERP platform.

Table 30: “‘Register an OGC® WPS HF server’ conversation”

N. Conversation 4

Name Register an ‘OGC® WPS DMS’ server.

Objective Register an ‘OGC® WPS DMS’ server in order to make it available for the WatERP framework.

Agents OGC® WPS, OGC® WPS DMS.

Starter OMP WPS

Description

The ‘OGC® WPS’ agent instantiates a new agent (‘OGC® WPS DMS’ agent), to supervise the

‘OGC® WPS DMS’ server. Moreover, this agent is capable of analysing the integrated server

and registering the runnable processes on the WatERP platform.

Pre-condition The integrated ‘OGC® WPS’ server is of DMS type.

Post-condition The ‘OGC® WPS DMS’ server is registered on the WatERP platform, thus its processes are

accessible from WatERP framework.

Ending condition The ‘OGC® WPS DMS’ server has already been registered and these runnable processes

have been registered on the WatERP platform.

Table 31: “’Register an OGC® WPS DMS server’ conversation”

N. Conversation 5

Name Register an ‘OGC® WPS DSS’ server.

Objective Register an ‘OGC® WPS DSS’ server in order to make it available for the WatERP framework.

Agents OGC® WPS, OGC® WPS DSS.

Starter OMP WPS

Description

The ‘OGC® WPS’ agent instantiates a new agent (‘OGC® WPS DSS’) agent, to supervise the

‘OGC® WPS DSS’ server. Moreover, this agent is capable of analysing the integrated server

and registering the runnable processes on the WatERP platform.

Pre-condition The integrated ‘OGC® WPS’ server is the DSS type.

Post-condition The ‘OGC® WPS DSS‘ server is registered on the WatERP platform hence its processes are

accessible from WatERP framework.

Ending condition The ‘OGC® WPS DSS’ server has already been registered and these runnable processes

have been registered on the WatERP platform.

Table 32: “’Register an OGC® WPS DSS server’ conversation"

Based on Figure 3 of Section 2.4.2, the following conversations to unregister OGC® WPS servers are

identified: (i) unregister an ‘OGC® WPS HF’ server; (ii) destroy ‘OGC® WPS HF’ agent; (iii) unregister

an ‘OGC® WPS DMS’ server; (iv) destroy ‘OGC® WPS DMS’ agent; (v) unregister and ‘OGC® WPS

DSS’ server; and (vi) unregister an ‘OGC® WPS DSS’ server.

N. Conversation 6

Name Unregister an ‘OGC® WPS HF’ server.

Page 50: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 50 of 79

Objective Unregister an ‘OGC® WPS HF’ server and unregister its runnable and non-runnable processes

of the WatERP platform.

Agents OMP Gateway, OGC® WPS HF

Starter OMP Gateway

Description The ‘OMP Gateway’ agent notifies to the ‘OGC® WPS HF’ that its processes shall be

unregistered from the WatERP platform.

Pre-condition The ‘OGC® WPS HF’ server is registered on the WatERP platform.

Post-condition The ‘OGC® WPS HF’ server is unregistered of the WatERP platform and hence its processes

are deleted from the WatERP platform.

Ending condition The ‘OGC® WPS HS’ server and its processes are unregistered.

Table 33: “‘Unregister an OGC® WPS HF server’ conversation”

N. Conversation 7

Name Destroy ‘OGC® WPS HF’ agent.

Objective Destroy the agent responsible to manage an unregistered ‘OGC® WPS HF’ server.

Agents OMP Gateway, OGC® WPS HF

Starter OMP Gateway

Description The ‘OMP Gateway’ agent notifies the ‘OGC® WPS HF’ that it shall be destroyed because it

has been unregistered.

Pre-condition The ‘OGC® WPS HF’ server processes are unregistered of the WatERP platform.

Post-condition The ‘OGC® WPS HF’ agent is destroyed.

Ending condition The ‘OGC® WPS HS’ agent is destroyed.

Table 34: “‘Destroy OGC® WPS HF agent’ conversation”

N. Conversation 8

Name Unregister an ‘OGC® WPS DMS’ server.

Objective Unregister an ‘OGC® WPS DMS’ server and unregister its runnable and non-runnable

processes of the WatERP platform.

Agents OMP Gateway, OGC® WPS DMS

Starter OMP Gateway

Description The ‘OMP Gateway’ agent notifies the ‘OGC® WPS DMS’ that its processes shall be

unregistered from the WatERP platform.

Pre-condition The ‘OGC® WPS DMS’ server is registered on the WatERP platform.

Post-condition The ‘OGC® WPS DMS’ server is unregistered from the WatERP platform and hence its

processes are deleted from the WatERP platform.

Ending condition The ‘OGC® WPS DMS’ server and its processes are unregistered.

Table 35: “‘Unregister an OGC® WPS DMS server’ conversation”

N. Conversation 9

Name Destroy ‘OGC® WPS DMS’ agent.

Objective Destroy the agent responsible for managing an unregistered ‘OGC® WPS DMS’ server.

Page 51: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 51 of 79

Agents OMP Gateway, OGC® WPS DMS

Starter OMP Gateway

Description The ‘OMP Gateway’ agent notifies the ‘OGC® WPS DMS’ that it shall be destroyed because it

has been unregistered.

Pre-condition The ‘OGC® WPS DMS’ server processes are unregistered of the WatERP platform.

Post-condition The ‘OGC® WPS DMS’ agent is destroyed.

Ending condition The ‘OGC® WPS DMS’ agent is destroyed.

Table 36: “‘Destroy OGC® WPS DMS agent’ conversation”

N. Conversation 10

Name Unregister an ‘OGC® WPS DSS’ server.

Objective Unregister an ‘OGC® WPS DSS’ server and unregister its runnable and non-runnable

processes of the WatERP platform.

Agents OMP Gateway, OGC® WPS DSS

Starter OMP Gateway

Description The ‘OMP Gateway’ agent notifies to the ‘OGC® WPS DSS’ that its processes shall be

unregistered from the WatERP platform.

Pre-condition The ‘OGC® WPS DSS’ server is registered on the WatERP platform.

Post-condition The ‘OGC® WPS DSS’ server is unregistered from the WatERP platform and hence its

processes are deleted from the WatERP platform.

Ending condition The ‘OGC® WPS DSS’ server and its processes are unregistered.

Table 37: “‘Unregister an OGC® WPS DSS server’ conversation”

N. Conversation 11

Name Destroy ‘OGC® WPS DSS’ agent.

Objective Destroy the agent responsible for managing an unregistered ‘OGC® WPS DSS’ server.

Agents OMP Gateway, OGC® WPS DSS

Starter OMP Gateway

Description The ‘OMP Gateway’ agent notifies the ‘OGC® WPS DSS’ that it shall be destroyed because it

has been unregistered.

Pre-condition The ‘OGC® WPS DSS’ server processes are unregistered from the WatERP platform.

Post-condition The ‘OGC® WPS DSS’ agent is destroyed.

Ending condition The ‘OGC® WPS DSS’ agent is destroyed.

Table 38: “‘Destroy OGC® WPS DSS agent’ conversation”

Based on Figure 4 of the Section 2.4.3, two conversations have been identified, one to recover the

available hydrological forecast processes integrated on the WatERP platform and another to execute

one of these processes.

N. Conversation 12

Name Get available hydrological forecast processes.

Objective Obtain all runnable hydrological forecast processes.

Page 52: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 52 of 79

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks the ‘Sesame’ agent for all runnable hydrological forecast

process available in the WatERP platform.

Pre-condition None.

Post-condition None.

Ending condition The available runnable hydrological forecast processes are returned.

Table 39: “’Get hydrological forecast processes’ conversation”

N. Conversation 13

Name Execute hydrological forecast process

Objective Execute an hydrological forecast process

Agents OMP Gateway, OGC® WPS HF

Starter OMP Gateway

Description The ‘OMP Gateway’ agent invokes ’OGC® WPS HF’ agent to execute the hydrological

forecast process of the supervised ‘OGC® WPS’ server.

Pre-condition The hydrological forecast process is a runnable process and is registered on the WatERP

platform and it is executable.

Post-condition None.

Ending condition The response of the executed hydrological forecast process has been returned.

Table 40: “‘Execute hydrological forecast process’ conversation”

The following conversations related to ‘consult a demand forecast’ (see Figure 5 in Section 2.4.4) are

identified: (i) get demand forecast processes; (ii) get water resources; and finally (iii) execute demand

forecast process.

N. Conversation 13

Name Get demand forecast processes.

Objective Obtain all runnable demand forecast processes.

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks the ‘Sesame’ agent for all runnable demand forecast

processes available in the WatERP platform.

Pre-condition None.

Post-condition None.

Ending condition The available runnable demand forecast processes are returned.

Table 41: “’Get demand forecast processes’ conversation”

N. Conversation 14

Name Get water resources.

Objective Get all water resources of a specific type for a logical model.

Agents OMP Gateway, Sesame.

Page 53: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 53 of 79

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks ’Sesame’ agent for all water resources of a specific type for a

logical model instantiation (e.g. all available sinks for an ACA pilot).

Pre-condition The logical model instantiation exists.

Post-condition None.

Ending condition The agent returns the water resources.

Table 42: “‘Get water resources’ conversation”

N. Conversation 15

Name Execute demand forecast process.

Objective Execute a demand forecast process.

Agents OMP Gateway, OGC® WPS DMS.

Starter OMP Gateway.

Description

The ‘OMP Gateway’ agent invokes ’OGC® WPS DMS’ agent to execute the demand forecast

process of the supervised ‘OGC® WPS’ server providing the required parameters to carry out

the execution.

Pre-condition The demand forecast process is a runnable process and is registered on the WatERP platform

and it is executable.

Post-condition None.

Ending condition The response of the executed demand forecast process has been returned.

Table 43: “‘Execute hydrological forecast process’ conversation”

The next user story to be analysed is ‘consult water resources allocation’ which is presented in Figure 6

and Figure 7 of Section 2.4.5. The identified conversations are: (i) get ‘current state scenario’

processes; (ii) execute ‘current state scenario’ process; (iii) get behaviour; (iv) set behaviour; (v) get

‘water allocation recommendations’ processes and finally; (vi) execute ‘water allocation

recommendations’ process.

N. Conversation 16

Name Get ‘current state scenario’ processes.

Objective Obtain all runnable current state scenario processes.

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks the ‘Sesame’ agent for all runnable current state scenario

processes available in the WatERP platform.

Pre-condition None.

Post-condition None.

Ending condition The available runnable current state scenario processes are returned.

Table 44: “’Get current state scenario processes’ conversation”

N. Conversation 17

Page 54: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 54 of 79

Name Execute ‘current state scenario’ process.

Objective Execute ‘current state scenario’ process.

Agents OMP Gateway, OGC® WPS DSS

Starter OMP Gateway

Description

The ‘OMP Gateway’ agent invokes the ’OGC® WPS DSS’ agent to execute the ‘current state

scenario’ process of the supervised ‘OGC® WPS’ server providing the required parameters to

carry out the execution.

Pre-condition The ‘current state scenario’ process is a runnable process and is registered on the WatERP

platform and it is executable.

Post-condition None.

Ending condition The response of the executed ‘current state scenario’ process has been returned.

Table 45: “‘Execute current state scenario process’ conversation”

N. Conversation 18

Name Get behaviour

Objective Obtain the current behaviour of a pilot instantiation.

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent invokes the ‘Sesame’ agent in order to recover the current

behaviour of the pilot instantiation.

Pre-condition The pilot instantiation exists.

Post-condition None.

Ending condition The current behaviour is returned.

Table 46: “’Get behaviour’ conversation”

N. Conversation 19

Name Set behaviour

Objective Change the current behaviour of a pilot instantiation.

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent invokes the ‘Sesame’ agent to insert the new behaviour for the pilot

instantiation.

Pre-condition The pilot instantiation exists.

Post-condition The behaviour of the pilot instantiation is changed.

Ending condition The behaviour of the pilot instantiation is changed.

Table 47: “’Set behaviour’ conversation”

N. Conversation 20

Name Get ‘water allocation recommendations’ processes.

Objective Obtain all runnable ‘water allocation recommendations’ processes.

Agents OMP Gateway, Sesame.

Page 55: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 55 of 79

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks the ‘Sesame’ agent for all runnable water allocation

recommendations processes available in the WatERP platform.

Pre-condition None.

Post-condition None.

Ending condition The available runnable ‘water allocation recommendations’ processes are returned.

Table 48: “’Get water allocation recommendations processes’ conversation”

N. Conversation 21

Name Execute a ‘water allocation recommendations’ process.

Objective Execute a ‘water allocation recommendations’ process.

Agents OMP Gateway, OGC® WPS DSS

Starter OMP Gateway

Description

The ‘OMP Gateway’ agent invokes the ’OGC® WPS DSS’ agent to execute the ‘water

allocation recommendations’ process of the supervised ‘OGC® WPS’ server providing the

required parameters to carry out the execution.

Pre-condition The ‘water allocation recommendations’ process is a runnable process and is registered on the

WatERP platform and it is executable.

Post-condition None.

Ending condition The response of the executed ‘water allocation recommendations’ process has been returned.

Table 49: “‘Execute water allocation recommendations process’ conversation”

Finally, the ‘consult pump scheduling’ user history is analysed (see Figure 8 and Figure 9 in Section

2.4.6), resulting in the following conversations: (i) get ‘pump scheduling’ processes; (ii) execute ‘pump

scheduling’ process; (iii) get ‘validate pump scheduling’ processes and finally; (iv) execute ‘validate

pump scheduling’ process.

N. Conversation 22

Name Get ‘pump scheduling’ processes.

Objective Obtain all runnable ‘pump scheduling’ processes.

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks the ‘Sesame’ agent for all runnable ‘pump scheduling’

processes available in the WatERP platform.

Pre-condition None.

Post-condition None.

Ending condition The available runnable ‘pump scheduling’ processes are returned.

Table 50: “’Get pump scheduling processes’ conversation”

N. Conversation 23

Name Execute ‘pump scheduling’ process.

Page 56: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 56 of 79

Objective Execute ‘pump scheduling’ process.

Agents OMP Gateway, OGC® WPS DSS

Starter OMP Gateway

Description

The ‘OMP Gateway’ agent invokes the ’OGC® WPS DSS’ agent to execute the ‘pump

scheduling’ process of the supervised ‘OGC® WPS’ server providing the required parameters

to carry out the execution.

Pre-condition The ‘pump scheduling’ process is a runnable process and is registered on the WatERP

platform and it is executable.

Post-condition None.

Ending condition The response of the executed ‘pump scheduling’ process has been returned.

Table 51: “‘Execute pump scheduling process’ conversation”

N. Conversation 24

Name Get ‘validate pump scheduling’ processes.

Objective Obtain all runnable ‘validate pump scheduling’ processes.

Agents OMP Gateway, Sesame.

Starter OMP Gateway.

Description The ‘OMP Gateway’ agent asks the ‘Sesame’ agent for all runnable ‘validate pump scheduling’

processes available in the WatERP platform.

Pre-condition None.

Post-condition None.

Ending condition The available runnable ‘validate pump scheduling’ processes are returned.

Table 52: “’Get validate pump scheduling processes’ conversation”

N. Conversation 25

Name Execute ‘validate pump scheduling’ process.

Objective Execute ‘validate pump scheduling’ process.

Agents OMP Gateway, OGC® WPS DSS

Starter OMP Gateway

Description

The ‘OMP Gateway’ agent invokes the ’OGC® WPS DSS’ agent to execute a ‘validate pump

scheduling’ process of the supervised ‘OGC® WPS’ server providing the required parameters

to carry out the execution.

Pre-condition The ‘validate pump scheduling’ process is a runnable process and is registered on the

WatERP platform and it is executable.

Post-condition None.

Ending condition The response of the executed ‘validate pump scheduling’ process has been returned.

Table 53: “‘Execute validate pump scheduling process’ conversation”

Page 57: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 57 of 79

3.4.2 Scenarios

The aim of this section is to depict the exchanged messages between internal agents based on the

identified conversations (see Section 3.4.1) and user stories (see Section 2.4) that are used to build the

scenarios.

The internal interactions resulting from the ‘OGC® WPS server integration (Hydrological Forecast, DSS

and DMS’ user story (see Table 5 and Figure 2) are presented below.

The first interaction is started after receiving a ‘register OGC® WPS’ event from the ‘OMP’ external

agent. This event is received by the ‘OMP Gateway’ agent, which creates a new ‘OGC® WPS’ agent

and delegates the supervision of the ‘OGC® WPS’ server to it. In order to initialize the ‘OGC® WPS’

agent, it receives the necessary information (URL OGC® WPS server) from the ‘OMP Gateway’ agent.

Figure 24: “Interactions between agents to register an OGC® WPS server”

The next interaction is started after instantiating a specific ‘OGC® WPS’ agent (HF, DMS or DSS) to

supervise an ‘OGC® WPS’ server. In this interaction the ‘OMP Gateway’ agent notifies the ‘OGC®

WPS’ agent through an event that it should be destroyed.

Figure 25: “Interactions between agents to destroy an OGC® WPS agent”

Regarding to the interactions to instantiate specific agents, they can be divided into three interactions:

(i) OGC® WPS HF; (ii) OGC® WPS DMS; and (iii) OGC® WPS DSS.

This interaction is aligned with the instantiation of the ‘OGC® WPS HF’ agent. The communication is

started after analysing the ‘OGC® WPS’ server and verifying that it is an ‘OGC® WPS hydrological

forecast’ server. Afterwards, the ‘OGC® WPS’ agent instantiates an ‘OGC® WPS HF’ agent to

OMP Gateway

agentOGC WPS agent

create(url ogc wps server)

Inactive

Agent created

Inactive

tell(registered)

OMP Gateway

agentOGC WPS agent

ask(destroy())

Specific OGC WPS (HF, DMS, DSS) instantiated

DestroyedInactive

Page 58: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 58 of 79

supervise the ‘OGC® WPS HS’ server which analyses the processes of the server and classifies them

in runnable and non-runnable processes.

Figure 26: “Interactions between agents to register an OGC® WPS HF server”

The second interaction related to the specific agents’ instantiation is shown in the Figure 27 an it

illustrates the interaction started after analysing the ‘OGC® WPS’ server and verifying that it is an

‘OGC® WPS DMS’ server. This event initiates the communication process with the instantiation of the

‘OGC® WPS DMS’ agent and the specification of the URL of the server to be supervised. Finally, the

instantiated agent analyses the processes of the server and classifies them into runnable and non-

runnable processes.

Figure 27: “Interactions between agents to register an OGC® WPS DMS server”

The last interaction of the instantiation interaction is presented in Figure 28. The communication is

started after analysing the ‘OGC® WPS’ server and verifying that it is an ‘OGC® WPS DSS’ server.

Afterwards, the ‘OGC® WPS’ agent instantiates an ‘OGC® WPS DSS’ agent which is responsible for

managing the integrated ‘OGC® WPS DSS’ server. Finally, this agent analyses the processes of the

server and classifies them in runnable and non-runnable processes.

OGC WPS agent OGC WPS HF agent

create(url ogc wps server)

tell(registered)

OGC WPS server analysis

Analyse OGC WPS processes

Inactive

Detected OGC WPS HF server

Classify OGC OGC WPS processes

OGC WPS agentOGC WPS DMS

agent

create(url ogc wps server)

tell(registered)

OGC WPS server analysis

Analyse OGC WPS processes

Inactive

Detected OGC WPS DMS server

Classify OGC OGC WPS processes

Page 59: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 59 of 79

Figure 28: “Interactions between agents to register an OGC® WPS DSS server”

Based on Figure 3 of Section 2.4.2, the following interactions have been identified: (i) unregister an

‘OGC® WPS HF’ server; (ii) destroy an ‘OGC® WPS HF’ agent; (iii) unregister an ‘OGC® WPS DMS’

server; (iv) destroy an ‘OGC® WPS DMS’ agent; (v) unregister an ‘OGC® WPS DSS’ server; and (vi)

destroy an ‘OGC® WPS DSS’ agent.

Figure 29 shows the internal interactions resulting from the ‘unregister an OGC® WPS HF server’

conversation (see Table 33). This interaction is started after receiving an ‘unregister OGC® WPS HF’

event from the ‘OMP’ external agent. The event is received by the ‘OMP Gateway’ agent and notifies

the corresponding ‘OGC® WPS HF’ agent that it shall be unregistered. Finally, the ‘OGC® WPS HF’

agent unregisters all its processes from the WatERP platform.

Figure 29: “Interactions between agents to unregister an OGC® WPS HF server”

The next interaction, which is based on the ‘destroy an OGC® WPS HF agent’ conversation (see Table

34) is shown in Figure 30. After to unregistering all processes from an ‘OGC® WPS’ server, the

interaction is started by the ‘OMP Gateway’ agent who notifies the ‘OGC® WPS HF’ agent that it should

be destroyed.

OGC WPS agentOGC WPS DSS

agent

create(url ogc wps server)

tell(registered)

OGC WPS server analysis

Analyse OGC WPS processes

Inactive

Detected OGC WPS DSS server

Classify OGC OGC WPS processes

OMP Gateway agent OGC WPS HF agent

ask(unregister())

tell(unregistered)

Inactive

Unregister OGC processes

Inactive

Page 60: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 60 of 79

Figure 30: “Interactions between agents to destroy an OGC® WPS HF server”

Figure 31 shows the internal interactions resulting from the ‘unregister an OGC® WPS DMS server’

conversation (see Table 33). The interaction is started when the ‘OMP Gateway’ agent receives a

‘unregister OGC® WPS DMS’ event’. Afterwards it notifies the corresponding ‘OGC® WPS DMS’ agent

that it should be unregistered. Finally, the ‘OGC® WPS DMS’ agent unregisters all its processes from

the WatERP platform.

Figure 31: “Interactions between agents to unregister an OGC® WPS DMS server”

Figure 32 presents the internal interactions carried out to destroy an ‘OGC® WPS DMS’ agent. This

scenario is based on the ‘destroy an OGC® WPS DMS agent’ conversation (see Table 36). Once all

OGC® WPS processes have been unregistered, the ‘OMP Gateway’ agent notifies the ‘OGC® WPS

DMS’ agent that it should be destroyed.

Figure 32: “Interactions between agents to destroy an OGC® WPS DMS agent”

Figure 33 shows the internal interactions resulting from ‘unregister an OGC® WPS DSS server’

conversation (see Table 37). This interaction is started after receiving an ‘unregister OGC® WPS DSS’

event from the external agent ‘OMP’. The event is received by the ‘OMP Gateway’ agent and notifies

OMP Gateway agent OGC WPS HF agent

ask(destroy())

tell()

Unregistered processes

Inactive Destroyed

OMP Gateway agentOGC WPS DMS

agent

ask(unregister())

tell(unregistered)

Inactive

Unregister OGC processes

Inactive

OMP Gateway AgentOGC WPS DMS

agent

ask(destroy())

tell()

Unregistered processes

Inactive Destroyed

Page 61: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 61 of 79

the corresponding ‘OGC® WPS DSS’ agent that it should be unregistered. Then, the ‘OGC® WPS

DSS’ unregisters all its processes from the WatERP platform.

Figure 33: “Interactions between agents to unregister an OGC® WPS DSS server”

The ‘destroy an OGC® WPS DSS agent’ conversation (see Table 34) is illustrated in the Figure 34. The

‘OMP Gateway’ agent starts it after unregistering all processes of an ‘OGC® WPS’ server and notifies

to the ‘OGC® WPS HF’ agent that it should be destroyed.

Figure 34: “Interactions between agents to destroy an OGC® WPS DSS agent”

The following internal interactions regarding the ‘Consult a hydrological forecast’ user story (see Figure

4) are identified: (i) get available hydrological forecast processes and (ii) execute hydrological forecast

process.

Figure 35 shows the internal interactions resulting from the ‘get available hydrological forecast

processes’ conversation (see Table 39). This interaction is started after receiving a ‘get hydrological

forecast processes’ event from the ‘OMP’ external agent. The event is received by the ‘OMP Gateway’

agent and requests by the runnable hydrological forecasts to the ’Sesame’ agent, which are later

returned to the ‘OMP Gateway’ agent.

OMP Gateway agentOGC WPS DSS

agent

ask(unregister())

tell(unregistered)

Inactive

Unregister OGC processes

Inactive

OMP Gateway agentOGC WPS DSS

agent

ask(destroy())

tell()

Unregistered processes

Inactive Destroyed

Page 62: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 62 of 79

Figure 35: “Interactions between agents to get available OGC® WPS HF processes”

The last interaction, ‘execute hydrological forecast process’, which is part of the ‘Consult a hydrological

forecast’ user story is presented in Section 2.4.3. It is started when a ‘execute hydrological forecast

process’ event from the ‘OMP’ external agent is received. Afterwards, the ‘OMP Gateway’ agent

invokes the ‘OGC® WPS HF’ agent to execute the process stored in the ‘OGC® WPS HF’ server

supervised by the agent.

Figure 36: “Interactions between agents to execute hydrological forecast process”

The next user story analysed is ‘consult a demand forecast’ which is presented in Figure 5 of Section

2.4.4. The following internal interactions are identified: (i) get demand forecast processes; (ii) get water

resources and (iii) execute demand forecast process.

Figure 37 shows the internal interactions resulting from the ‘get demand forecast processes’

conversation (see Table 41). This interaction is started after receiving a ‘get demand forecast

processes’ event from the ‘OMP’ external agent. The event is received by the ‘OMP Gateway’ agent

and asks the ’Sesame’ agent by the runnable demand forecasts, which are later returned to the ‘OMP

Gateway’ agent.

Figure 37: “Interactions between agents to get OGC® WPS DMS processes”

OMP Gateway agent Sesame agent

ask(hydrological forecast processes())

tell(hydrological forecast processes)

Inactive

Inactive

OMP Gateway agent OGC WPS HF agent

ask(execute(hydrological forecast process,

parameters))

tell(hydrological forecast)

Inactive

Inactive

Find responsible to execute HF process

OGC Gateway agent Sesame agent

ask(dms processes())

tell(dms processes)

Inactive

Inactive

Page 63: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 63 of 79

The second internal interaction based on the ‘get demand forecast processes’ conversation (see Table

41) is presented in Figure 38. This interaction is started when the ‘OMP’ external agent generates a ‘get

water resources’ event which is managed by the ‘OMP’ external agent. Afterwards, the ‘OMP Gateway’

agent asks the ’Sesame’ agent by all water resources of a specific type (sink, storage, source, transport

or transformation) and that are part of a specific logical model. Finally, the returned information is

encapsulated in WatERP ontology format.

Figure 38: “Interactions between agents to get water resources”

The last interaction, ‘execute demand forecast process’, which is part of the ‘Consult a demand

forecast’ user story is presented on the Figure 39. It is started when a ‘execute demand forecast

process’ event from the ‘OMP’ external agent is received. Then, the ‘OMP Gateway’ agent invokes the

‘OGC® WPS DMS’ agent to execute the process stored in the ‘OGC® WPS DMS’ server supervised by

the agent.

Figure 39: “Interactions between agents to execute a demand forecast process”

The ‘Consult water resources allocation’ user story which is described in Figure 6 and Figure 7 of

Section 2.4.5 allows identifying the following conversations: (i) get current state scenario processes; (ii)

execute current state scenario process; (iii) get behaviour; (iv) set behaviour; (v) get water allocation

recommendations processes and (vi) execute water allocation recommendations process.

The Figure 40 shows the internal interactions resulting from the ‘get current state scenario processes’

conversation (see Table 44). This interaction is started after receiving a ‘get current state scenario

processes’ event from the ‘OMP’ external agent. The event is received by the ‘OMP Gateway’ agent,

OMP Gateway agent Sesame agent

ask(water resources(type))

tell(water resources)

Inactive

Inactive

OMP Gateway agentOGC WPS DMS

agent

ask(execute(demand forecast process,

parameters))

tell(demand forecast)

Inactive

Inactive

Find responsible to execute DF process

Find parameters to execute DF process

Page 64: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 64 of 79

and asks the ’Sesame’ agent by the runnable current state scenario processes, which are later returned

to the ‘OMP Gateway’ agent.

Figure 40: “Interactions between agents to get current state scenario processes”

The second internal interaction based on the ‘execute current state scenario process’ conversation (see

Table 44) is presented in Figure 41. This interaction is started when the ‘OMP’ external agent generates

a ‘execute current state scenario process’ event, which is managed by the ‘OMP’ external agent.

Afterwards, the ‘OMP Gateway’ agent invokes ‘OGC® WPS DSS’ agent to execute the process stored

in the ‘OGC® WPS DSS’ server supervised by the agent. Finally, the returned information is

encapsulated in WatERP ontology format.

Figure 41: “Interactions between agents to execute a demand forecast process”

Figure 42 is based on the ‘get behaviour’ conversation (see Table 46). The ‘get behaviour’ event sent

from the ‘OMP’ external agent to the ‘OMP Gateway’ agent is the trigger to initiate the internal

interaction. Once the ‘OMP Gateway’ agent receives the event, it asks the ’Sesame’ agent by the

current behaviour for a specific logical model, which is later returned and encapsulated in WatERP

ontology format.

OMP Gateway agent Sesame agent

ask(state scenario processes())

tell(state scenario processes)

Inactive

Inactive

OMP Gateway agentOGC WPS DSS

agent

ask(execute(scenario state process, parameters))

tell(scenario state)

Inactive

Inactive

Find responsible to execute scenario state process

Find parameters to execute scenario state process

Page 65: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 65 of 79

Figure 42: “Interactions between agents to get behaviour”

The opposite functionality to the previous internal interaction is presented in Figure 44 which is based

on the ‘set behaviour’ conversation (see Table 47). In the same way, it is started when the ‘OMP

Gateway’ agent receives a ‘set behaviour’ event from the ‘OMP’ external. Then the ‘OMP Gateway’

agent invokes the ’Sesame’ agent overwriting the behaviour of the logical model which is transferred in

WatERP ontology format.

Figure 43: “Interactions between agents to set behaviour”

Figure 44 shows the internal interaction resulting from the ‘get water allocation recommendations

processes’ conversation (see Table 48). This interaction is started after receiving a ‘get water allocation

recommendations processes’ event from the ‘OMP’ external agent. The event is received by the ‘OMP

Gateway’ agent, and asks the ’Sesame’ agent by the runnable water allocation recommenders, which

are later returned to the ‘OMP Gateway’ agent.

Figure 44: “Interactions between agents to get water allocation recommendations processes”

The last internal interaction is based on the ‘execute water allocation recommendations process’

conversation (see Table 49) which is presented in the Figure 45. This interaction is started when the

‘OMP’ external agent generates a ‘execute water allocation recommendations process’ event which is

OMP Gateway agent Sesame agent

ask(behaviour())

tell(behaviour)

Inactive

Inactive

OMP Gateway agent Sesame agent

ask(behaviour(behaviour))

tell(inserted)

Inactive

Inactive

OMP Gateway agent Sesame agent

ask(water allocation processes())

tell(water allocation processes)

Inactive

Inactive

Page 66: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 66 of 79

managed by the ‘OMP’ external agent. Afterwards, the ‘OMP Gateway’ agent invokes ‘OGC® WPS

DSS’ agent to execute the process stored on the ‘OGC® WPS DSS’ server supervised by the agent.

Finally, the returned information is encapsulated in WaterML2 (See D2.3 “Open interface specification”

section 3.2.1.1).

Figure 45: “Interactions between agents to execute water allocation recommendations process”

The last user story identified on this deliverable is ‘consult pump scheduling’ (see Section 2.4.6) and the

conversations extracted of it are the following: (i) get pump scheduling processes; (ii) execute pump

scheduling process; (iii) get validate pump scheduling processes; and (iv) execute validate pump

scheduling process.

Figure 46 shows the internal interactions resulting from the ‘get pump scheduling processes’

conversation (see Table 50). This interaction is started after receiving a ‘get pump scheduling

processes’ event from the ‘OMP’ external agent. The event is received by the ‘OMP Gateway’ agent,

and asks to the ’Sesame’ agent by the runnable pump scheduling processes which are later returned to

the ‘OMP Gateway’ agent.

Figure 46: “Interactions between agents to get pump scheduling processes”

The second internal interaction is related with the previous interaction, and it is responsible for

executing the pump scheduling processes. It is based on the ‘execute pump scheduling process’

conversation (see Table 51) and presented in Figure 47. This interaction is started when the ‘OMP’

external agent generates a ‘execute pump scheduling process’ event which is managed by the ‘OMP’

external agent. Afterwards, the ‘OMP Gateway’ agent invokes ‘OGC® WPS DSS’ agent to execute the

OMP Gateway agentOGC WPS DSS

agent

ask(execute(water allocation process,

parameters))

tell(water allocation)

Inactive

Inactive

Find responsible to execute water allocation process

Find parameters to execute water allocation process

OMP Gateway agent Sesame agent

ask(pump scheduling processes())

tell(pump scheduling processes)

Inactive

Inactive

Page 67: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 67 of 79

process stored in the ‘OGC® WPS DSS’ server supervised by the agent. Finally, the returned

information is encapsulated on WaterML2 format.

Figure 47: “Interactions between agents to execute pump scheduling process”

Another internal interaction resulting from the ‘get ‘validate pump scheduling’ processes’ conversation

(see Table 52) is presented in Figure 48. The ‘get ‘validate pump scheduling’ processes’ event which is

generated by the ‘OMP’ external agent starts the internal interaction. The event is received by the ‘OMP

Gateway’ agent, and asks to the ’Sesame’ agent by the runnable validate pump scheduling processes

which are later returned to the ‘OMP Gateway’ agent.

Figure 48: “Interactions between agents to get ‘validate pump scheduling’ processes”

The last internal interaction related with the ‘consult pump scheduling’ user story is shown in the Figure

49 and it is based on the ‘execute ‘validate pump scheduling’ process’ conversation (see Table 52).

This interaction is started when the ‘OMP’ external agent generates a ‘execute ‘validate pump

scheduling’ process’ event which is managed by the ‘OMP’ external agent. Afterwards, the ‘OMP

Gateway’ agent invokes the ‘OGC® WPS DSS’ agent to execute the process stored in the ‘OGC® WPS

DSS’ server supervised by the agent. Finally, the returned information is encapsulated on WaterML2

format.

OMP Gateway agentOGC WPS DSS

agent

ask(execute(pump scheduling process,

parameters))

tell(pump scheduling)

Inactive

Inactive

Find responsible to execute pump scheduling process

Find parameters to execute pump scheduling process

OMP Gateway agent Sesame agent

ask(validate pump scheduling processes())

tell(validate pump scheduling processes)

Inactive

Inactive

Page 68: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 68 of 79

Figure 49: “Interactions between agents to execute ‘validate pump scheduling’ process”

Finally, Figure 50 shows a summary of previous figures, unifying in a single illustration the interactions

between agents which will be implemented in milestone MS5 “Second vertical integration”. All these

interactions increases the implemented interactions presented on the D7.2.1 “Implementation of MAS”

in Section 4.2.4.2. In the picture, two different types of rectangles have been drawn, external agents

(dotted rectangles) and internal agents (solid rectangles). External agents provide the functionalities

needed for the interaction with the MAS, which are: (i) integrate an ‘OGC® WPS’ server; (ii) register an

‘OGC® WPS HF’ server; (iii) register an ‘OGC® WPS DMS’ server; (iv) register an ‘OGC® WPS DSS’

server; (v) unregister an ‘OGC® WPS HF’ server; (vi) unregister an ‘OGC® WPS DMS’ server; (vii)

unregister an ‘OGC® WPS DSS’ server; (viii) get available hydrological forecast processes; (ix) execute

hydrological forecast process; (x) get demand forecast processes; (xi) get water resources; (xii) execute

demand forecast process; (xiii) get ‘current state scenario’ processes; (xiv) execute ‘current state

scenario’ process; (xv) get behaviour; (xvi) set behaviour; (xvii) get ‘water allocation recommendations’

processes; (xviii) execute a ‘water allocation recommendations’ process; (xix) get ‘pump scheduling’

processes; (xx) execute ‘pump scheduling’ process; (xxi) get ‘validate pump scheduling’ processes; and

(xxii) execute ‘validate pump scheduling’ process. In reference to the internal agents, they have all

necessary intercommunications with the purpose of solving all received petitions through the external

agents.

OMP Gateway agentOGC WPS DSS

agent

ask(execute(validate pump scheduling process,

parameters))

tell(pump scheduling validation)

Inactive

Inactive

Find responsible to execute validate pump scheduling process

Find parameters to execute validate pump scheduling process

Page 69: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 69 of 79

Figure 50: “Initial interaction diagram among agents in the second vertical integration of MAS”

OMP

interface

Sesame agent

OMP Gateway

agent

ask(unregister(OGC SOS(url))

tell(is unregistered), fail(cause)

ask(register(OGC WPS(url)))

tell(is registered), fail(cause)

ask(unregister(OGC WPS(url))

tell(is unregistered), fail(cause)

ask(observations(water resource))

tell(observations), fail(cause)OGC SOS Agent

create(ogc sos(url))

ask(register(OGC SOS(uri)))

tell(is registered), fail(cause)

OGC WPS Agent

OGC WPS HF

Agent

OGC WPS DMS

Agent

OGC WPS DSS Agent

create(ogc wps(url))

ask(destroy())

create(ogc wps HF(url)) create(ogc wps DMS(url))

create(ogc wps DSS(url))

ask(unregister())

ask(unregister())

ask(unregister())

ask(destroy())

ask(destroy())

ask(destroy())

ask(hydrological forecast processes())

tell(HF processes)

ask(execute(HF process, params)

tell(HF)

ask(DF processes)

tell(DF processes)

ask(execute(DF process, params)

tell(DF)

ask(state scenario processes)

tell(state scenario processes)

ask(execute(state scenario process,

params)

tell(state scenario)

ask(behaviour(logical model))

tell(behaviour)

ask(behaviour(logical model, behaviour))

tell(inserted)

ask(water allocation processes)

tell(water allocation processes)

ask(execute(water allocation process,

params)

tell(water allocation)

ask(pump scheduling processes)

ask(execute(pump scheduling process,

params)

tell(pump scheduling)

tell(pump scheduling processes)

ask(validate pump scheduling

processes)

ask(execute(validate pump scheduling

process, params)

tell(pump scheduling validation)

tell(validate pump scheduling processes)

ask(water resources(type))

tell(water resources)

ask(execute(HF process, params)

tell(HF)

ask(execute(DF process, params)

tell(DF)

ask(execute(state scenario process, params)

tell(state scenario)

ask(execute(water allocation process, params)

tell(water allocation)

ask(execute(pump scheduling process, params)

tell(pump scheduling)

ask(execute(validate pump scheduling process, params)

tell(pump scheduling validation)

ask(execute(HF process

, params))

tell(HF)

ask(execute(DF process, params)

tell(DF)

ask(hydrological forecast processes())

tell(HF processes)

ask(DF processes())

tell(DF processes)

ask(water allocation processes())

tell(water allocation processes)

ask(pump scheduling processes())

tell(pump scheduling processes)

ask(validate pump scheduling processes())

tell(pump scheduling validation processes)

ask(observations())

tell(observations)

tell(observations)

ask(observations())

Page 70: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 70 of 79

3.4.3 Message processing state diagrams

The aim of this section is to provide a vision of the process that the WatERP agents will carry out after

receiving each of the messages introduced in the previous section (3.4.2). It is important to remark that

the state diagrams presented only describe the new functionalities to be integrated by the MS5 “Second

Vertical Integration” milestone. The functionalities integrated in the MS3 “First Vertical Integration”

milestone can be consulted in deliverable D7.2.1 “Implementation of MAS” in Section 4.2.4.3. Moreover,

the state diagrams have been grouped into the following categories in order to facilitate its description:

(i) OGC® WPS integration; (ii) process management; and (iii) ontology management.

The state diagrams corresponding to the OGC® WPS integration are presented in the Figure 51. This

figure contains five diagrams, one for each possible message received by the agent regarding this

subject. The messages are: (a) register OGC® WPS; (b) analyse OGC® WPS; (c) register processes;

(d) unregister OGC® WPS; and (e) unregister processes.

Page 71: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 71 of 79

Figure 51: “Message processing state diagram referring OGC® WPS integration”

Sub-picture (a) illustrates how initially the ‘OMP Gateway’ agent remains in an inactive state while

waiting for a message to carry out the register. When the ‘OMP Gateway’ agent receives a register

message with an OGC® WPS URL, it checks the URL existence in the system. If the URL is integrated

in the WatERP framework, it shall not be registered and therefore an error message will be returned as

Inactive

ask(register OGC WPS(url))

Inactive

do: check(url)

Inactive

ask(analyseOGCWPS())

Inactive

do: invokeGetCapabilities()

(a)

(b)

(c)

(d)

Inactive

ask(registerProcesses())

tell(resgistered)

Inactive

do: invokeGetCapabilities()

Inactive

ask(unregisterOGCWPS(url))

tell(unregistered)

Destroy

do: check(url)

(e)

Inactive

ask(unregisterProcesses())

tell(structure)

Inactive

do: unregisterProcesses()

do:

instantiateOGCWPSAgent(url)

tell(registered)

do: classifyOGCWPSServer()

do:

instantiateSpecificAgent(url)

do: invokeDescribeProcess()

do: evaluateProcesses()

do:

registerRunnableProcesses()

do: unregisterProcesses()

tell(classified)

Page 72: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 72 of 79

a response. Otherwise, the ‘OMP Gateway’ agent will automatically instantiates a new ‘OGC® WPS’

agent that will be responsible for managing the OGC® WPS related to it. In the next step of the

process, the ‘OMP Gateway’ delegates the server registration to the ‘OGC® WPS’ agent the server

register. Finally, the ‘OMP Gateway’ agent sends a reply telling if the OGC® WPS has been

successfully integrated in the WatERP platform. This registering system provides a simple way to

integrate the OGC® WPS that follows the guidelines presented in D2.3 “Open Interface Specification” in

Section 3.2.2. Moreover, it enables the MAS to analyse semantically the integrated ‘OGC® WPS’

servers with the aim of exploiting its knowledge in the WatERP platform.

In the second sub-picture, (b), the ‘OGC® WPS’ agent remains in an inactive state until it receives a

message to analyse the ‘OGC® WPS’ server being supervised. Afterwards, the supervised server is

analysed using the getCapabilities operation provided by the ‘OGC® WPS’ server. The response of this

operation contains semantic annotations (see Section 3.2 in D2.3 “Open Interface Specification”), which

allows the agent to identify the ‘OGC® WPS’ server type (OGC® WPS HF, OGC® WPS DMS or OGC®

WPS DSS). The agent uses this server type to instantiate a more specific agent to manage the ‘OGC®

WPS’ server (OGC® WPS HF, OGC® WPS DMS or OGC® WPS DSS). Moreover, the ‘OGC® WPS’

agent delegates the processes’ registration to the specific agent. Finally, the ‘OMP Gateway’ agent

sends a reply telling if the OGC® WPS processes have been successfully integrated in the WatERP

platform.

The third sub-picture, (c), describes the state diagram for a specific agent (OGC® WPS HF, OGC®

WPS DMS or OGC® WPS DSS) that receives a petition to register its processes. Then, this petition

initiates the sequence to register the OGC® WPS processes. The first task of the specific agent is to

obtain all available processes through the getCapabillties operation and then obtain the description for

each process returned using the describeProcess operation. This information allows the agent to

evaluate each of the processes and classify them as runnable or non-runnable. This classification is

stored in the WatERP ontology so that it can be used in the future to orchestrate the processes. Finally,

when the evaluation process is finished, the specific agent returns a response telling if the processes

were successfully classified.

Sub-picture (d) represents the process performed by the ‘OMP Gateway’ agent when it receives an

unregister message. First, the ‘OMP Gateway’ agent checks the existence of the OGC® WPS URL

introduced as parameter. If the OGC® WPS is integrated in the WatERP system, then it can be

unregistered. Moreover, the specific ‘OGC® WPS’ agent (OGC® WPS HF, OGC® WPS DMS or OGC®

WPS DSS) will be destroyed because it will not be used anymore. Finally, the ‘OMP Gateway’ agent

returns a message indicating whether if the ‘OGC® WPS’ server has been successfully unregistered or

not.

Last sub-picture (e) describes the process carried out in order to unregister the processes published in

the WatERP platform by an agent. This task is done by a specific ‘OGC® WPS’ agent such as ‘OGC®

WPS HF’, ‘OGC® WPS DMS’ or ‘OGC® WPS DSS’. When one of these agents receives a message to

Page 73: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 73 of 79

unregister its processes, they are deleted from the WatERP ontology. Finally, the specific agent sends

a reply telling if the unregister process has been successful or not.

Figure 52 presents the state diagrams regarding the processes’ management. The figure contains two

diagrams, one for each possible message received by the agent related to this topic. The messages

are: (a) obtain all available processes that are able to generate the expected output; and (b) execute a

process.

Figure 52: “Message processing state diagram referring the processes management”

The first sub-picture, (a), is the state diagram corresponding to the ‘recover all available processes’

message processing. Initially, the ‘OMP Gateway’ agent remains in an inactive state waiting for a

message requesting the available processes that are able to generate an output (e.g. processes to

generate pump scheduling, processes to generate demand forecast, etc.).. When a message to obtain

the processes is received, the ‘OMP Gateway’ agent looks for the runnable processes that are able to

generate the requested output in the ontology. Finally, the processes list is returned.

Last sub-picture (b) describes the state diagram corresponding to the execution of a process by the

agent. Moreover, it is important to remark that this state diagram is suitable for any specific agent

(‘OGC® WPS HF’, ‘OGC® WPS DSS’ or ‘OGC® WPS DMS’) because all of them contain processes

that have been integrated on the WatERP platform and therefore the MAS orchestrates them. Similarly

to the previous state diagrams, the agent waits until it receives a message to execute a process

belonging to the supervised server. When the message is received, the specific agent checks on the

WatERP ontology if the process requires input parameters. If so, the specific agent asks the WatERP

Inactive

ask(obtainProcesses(type))

Inactive

do:

getRunnableProcesses(type)

(a)

tell(processes)

Inactive

ask(executeProcess(process

id, params))

Inactive

do:

getRequiredInputParameters

()

(b)

tell(result)

do: executeProcess(process

id, params, input params

Page 74: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 74 of 79

ontology for the runnable processes that are able to generate the expected inputs (from now on, we will

refer to runnable processes as sub-processes in order to facilitates the understanding). Notice that the

WatERP ontology will always be able to find processes capable of generating the expected inputs since

the processes were previously classified as runnable or non-runnable processes during the integration

part. Hence, the returned sub-processes are executed. Finally, the response of the sub-processes is

used as the input to execute the requested process and its output is returned.

The last state diagrams presented correspond to the ontology issues and they are shown in Figure 53.

It contains three diagrams, one for each possible message received by the agent related to this topic.

The messages are: (a) obtain water resources of a type; (b) get the behaviour of a logical model; and

(c) change the behaviour of a logical model.

Figure 53: “Message processing state diagram referring the ontology issues”

Sub-picture (a) corresponds to the state diagram of the ‘Sesame’ agent, which processes the ‘obtain

water resources of a type’ message. Initially, the ‘Sesame’ agent remains in an inactive state waiting for

a ‘obtain water resources of a type message’ message. When the message is received, then the

‘Sesame’ agent asks the ontology for all water resources of a specific type that pertain to a pilot

instantiation. This interaction is carried out through SPARQL queries (see Section 2.2.1 in D3.3 “WDW

Second prototype“) and the response is formatted in WatERP ontology format (see D1.3 “Generic

Ontology for water supply distribution chain”).

The second sub-picture, (b), describes the state diagram of the sequence where the ‘Sesame’ agent

obtains the behaviour of a pilot instantiation. Initially the agent waits until it receives a message to get

the pilot instantiation behaviour. Afterwards, when the message is received, the ‘Sesame’ agent gathers

this information from the WatERP ontology using the SPARQL interface provided by the WDW (see

Inactive

ask(obtainWaterResources(pi

lot intantiation id, type))

Inactive

do: getWaterResources(type)

(a)

tell(water resources)

Inactive

ask(obtainBehaviour(pilot

intantiation id))

Inactive

do: getBehaviour()

(b)

tell(behaviour)

Inactive

ask(setBehaviour(pilot

intantiation id, behaviour))

Inactive

do: setBehaviour(behaviour)

(c)

tell(inserted)

Page 75: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 75 of 79

Section 2.2.1 in D3.3 “WDW Second prototype“)). The behaviour information received is then translated

to WatERP ontology format and returned.

Last state diagram (c) represents the activity flux of the ‘Sesame’ agent after receiving a ‘set behaviour’

message. The ‘Sesame’ agent inserts the new behaviour in the WatERP ontology so that it can be used

in the decision-making. Finally, the agent returns ‘true’ if the behaviour has been correctly inserted in

the WatERP ontology or ‘false’ otherwise.

3.5 Organization modelling

On the previous section, the dynamic relations between agents providing the communication protocols

between agents in order to achieve their goals have been identified. However, the inheritance relations

were not defined. Hence, these relations will be identified in this section with the aim of grouping the

agents with similar characteristics.

Two classes were identified in D7.2.1 “Implementation of MAS”: (i) ‘User Agent’ class, which provides a

gateway between the MAS and the involved actors; and (ii) ‘Semantic Agent’ class, which corresponds

to the supervisor agent that monitors the services / resources integrated in WatERP such as the

ontology instantiation.

In this second iteration (D7.2.2 “Implementation of MAS”), a new class has been identified: ‘OGC®

WPS’. This class consists of the ‘OGC® WPS HF’, the ‘OGC® WPS DMS’ and the ‘OGC® WPS DSS’

agents since they share their goals and beliefs. These agents are designed to monitor and manage

OGC® WPS servers, which have some differences depending on the server type (HF, DMS or DMS).

However, these minor differences such as the type of process deployed do not affect the agent's

behaviour. This behaviour involves the following: (i) obtain all available processes; (ii) obtain the

process description for each process; (iii) evaluate the process to classify it on runnable or non-

runnable processes; (iv) register the processes on the WatERP platform; and finally (v) execute

processes.

Figure 54 shows in a single figure the classes identified in Section 4.2.5 of deliverable D7.2.1

“Implementation of MAS” (grey background) and the classes identified in this document (white

background).

Page 76: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 76 of 79

Figure 54: “Agents hierarchy”

Since the development of the WatERP SOA-MAS architecture is iterative, new scenarios as well as

new classes agents can be defined in next iterations of this deliverable depending on the pilot needs.

4. Design phase

In the previous deliverable, D7.2.1 “Implementation of MAS”, this section was focused on two key

issues: (i) platform selection and (ii) network agents’ identification.

The platform used to implement the MAS system was selected in the previous deliverable (D7.2.1

“Implementation of MAS” in Section 4.3.2). Summarizing, Jadex was chosen as the platform to develop

the utility-based BDI agents because: (i) it is free and open, (ii) updated regularly, (iii) supports a

standardized language as FIPA-ACL; and, (iv) is presented in the industrial market which demonstrates

its maturity.

In this deliverable the efforts in the design phase have been focused on the network agents’

identification. In Section 4.3.1 of D7.2.1 “Implementation of MAS” the use of yellow pages agents (also

named as Directory Facilitator (DF) on Jadex platform) was proposed as a solution to carry out part of

the WatERP orchestration providing the most suitable service able to provide a parameter. However, a

deeper analysis carried out as part the work reported in this deliverable has revealed some deficiencies

that do not facilitate the orchestration process by the Directory Facilitator. The main lacks are the

restricted stored information of the service and the limited search system to find services.

BasicAgent

UserAgent SemanticAgent

service[api-knowledge]service[interactMAS]

goal[improvePerformance,

identifyKnowledge]

OGCWPSAgent

service[get processes]

service[get process description]

service[evaluate process]

service[register process]

service[execute process]

goal[superviseOGCWPS,

manageOGCWPS]

Page 77: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 77 of 79

Referring to the restricted stored information of the service, Figure 55 shows an example of how to

register a service in the Directory Facilitator. The ‘createDFServiceDescription’ method is used to insert

the service information and the DF only is able to store the following information: service name, service

type and service ownership, which are strings.

Figure 55: "Register of a service on the Directory Facilitator"

Therefore, the service type or service name should be used in order to characterize the service

including information such as the needed inputs to execute the service and the outputs generated by it.

Moreover, the search service provided by the Directory Facilitator is based on the matching of string

patterns, which minimizes the matchmaking search potential. Figure 56 shows an example of how to

find a service on the Directory Facilitator. The Service description object is defined with the type and

ownership as ‘null’ because they are not used during the search. Therefore, the search is carried out by

matching the name of the service against the services defined in the WatERP platform

Figure 56: "Search of a Service on Directory Facilitator"

The combination of both characteristics complicates the use of the DF search service to carry out the

matchmaking because the characterization of a process in a string can be a complex task and the

matching of string patterns to characterize the process is inefficient and almost unusable. Therefore, the

matchmaking of the services will be supported by the ontology reasoning, which is able to answer

questions like “What service can provide me “something” ?” (e.g. What service can provide an

Page 78: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 78 of 79

temperature forecast?, What service can provide water allocation recommendations? ). Moreover, the

ontology will boost the matchmaking potential because it is able to return indirect knowledge regarding

the services definition and the observation and measurement types (e.g. if the agent asks for a service

that is able to generate temperature forecast, the ontology can return a service that is able to generate

a temperature prediction if both concepts, forecast and prediction, are aligned on the ontology). Finally,

the Directory Facilitator will be present on the WatERP platform, although its functionalities will be

reduced to provide the agent that is able to execute a service but is also easily affordable with the DF

characteristics.

5. Conclusions and future work

This section summarises the conclusions and results obtained from the work developed in “Task 7.2 –

Implementation of the Multi-Agent System Architecture”, which started on month 3 (M3) and will finish in

month 30 (M30) and is focused on the MAS developments that will be implemented by milestone MS5

“Second vertical integration”. The implementations presented in this deliverable are an extension of the

ones reported in D7.2.1 “Implementation of MAS” which corresponded to the first vertical integration

(MS3 “First vertical integration”) milestone.

The WatERP MAS MS5 “Second vertical integration” milestone consists of the integration of the

OGC® WPS server, which can be classified as OGC® WPS HF, OGC® WPS DSS and OGC® WPS

DMS, as well as upgrading the existing developments by adding new features to satisfy new

requirements like the semantic query adaptation to support new ontology concepts (see Section 3.1.1 of

D1.4.2 “Extension of taxonomy and ontology to the pilots”) or the data observations publication through

‘OGC® SOS’ server (see Section 2.2 of D3.2 “WDW 1st Prototype”).

During the second iteration of the MAS-CommonKADS methodology, five new internal agents have

been identified and added to the agents designed during the first iteration of the methodology (see

D7.2.1 “Implementation of MAS”). They are: (i) ‘OGC® WPS’ agent; (ii) ‘OGC® WPS HF’ agent; (iii)

‘OGC® WPS DMS’ agent; (iv) ‘OGC® WPS DSS’ agent; and (v) ‘OGC® SOS’ agent.

Moreover, the document offers a list of the different tasks that shall be carried out by every OGC® WPS

agent, including the mappings between tasks and agents. In order to facilitate the implementation, the

conversation diagrams to show the interactions needed to fulfil the MAS requirements are provided.

It is important to remark that the yellow pages (Directory Facilitator) operation, defined in the first

deliverable (D7.2.1 “Implementation of MAS” in Section 4.3.1), has been modified because of the

restricted ability of the searches provided by Jadex. The Yellow pages operation has been reduced

only to find the agents that are responsible for carrying out a service, leaving complex searches (such

as the matchmaking searches) to the WatERP ontology. In this way, semantic features can be

exploited for the agents in order to carry out more powerful and accurate matchmaking searches.

Page 79: cordis.europa.eu · Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 2 of 79 Document Information Project Number 318603 Acronym WatERP Full title Water Enhanced Resource

Ref. 318603 - WatERP, D7.2.2_Implementation_of_MAS_v1.0 page 79 of 79

Future work to be accomplished will be focused on the integration of new or not covered functionalities

required by the rest of WPs.