rivercure portal: collaborative geoportal for curatorship

122
RiverCure Portal: Collaborative GeoPortal for Curatorship of Digital Resources in the Water Management Domain Marta Gonçalves Barcia Gonzalez Thesis to obtain the Master of Science Degree in Engineering and Industrial Management Supervisors: Prof. Alberto Manuel Rodrigues da Silva Prof. Bruno Emanuel da Graça Martins Examination Committee Chairperson: Prof. Miguel Simões Torres Preto Supervisor: Prof. Alberto Manuel Rodrigues da Silva Members of the committee: Prof. Nuno Alexandre Correia Martins Cavaco Prof. Rui Miguel Lage Ferreira October 2020

Upload: others

Post on 31-Jul-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RiverCure Portal: Collaborative GeoPortal for Curatorship

RiverCure Portal: Collaborative GeoPortal for Curatorship of Digital Resources in the Water Management Domain

Marta Gonçalves Barcia Gonzalez

Thesis to obtain the Master of Science Degree in

Engineering and Industrial Management

Supervisors: Prof. Alberto Manuel Rodrigues da Silva Prof. Bruno Emanuel da Graça Martins

Examination Committee

Chairperson: Prof. Miguel Simões Torres Preto Supervisor: Prof. Alberto Manuel Rodrigues da Silva

Members of the committee: Prof. Nuno Alexandre Correia Martins Cavaco Prof. Rui Miguel Lage Ferreira

October 2020

Page 2: RiverCure Portal: Collaborative GeoPortal for Curatorship

ii

Declaration

I declare that this document is an original work of my own authorship and that it fulfills all the

requirements of the Code of Conduct and Good Practices of the Universidade de Lisboa.

Page 3: RiverCure Portal: Collaborative GeoPortal for Curatorship

iii

Abstract

Nowadays, there is a huge quantity of information available regarding water resources, although with

different structures, formats, languages, vocabulary, which lead to a lack of consistency, accuracy and

increased the time spent modifying such information. On the other hand, flood events are relatively

frequent. The previously stated problems underline the importance of a well-designed water resources

information system. Without solving them, the knowledge that several sources have, cannot be linked

or shared properly. This inhibits the development of accurate monitoring and alert systems.

To explore these problems, the Design Science Research Methodology was applied. The first two

steps focused on the identification of the problem, motivation and objectives of this work. In the third

step, the system was designed and developed. Afterwards, the system was demonstrated using a

case study, the flood event in Águeda in 2016.

The RiverCure portal is a web-based system, that will allow its users to simulate flood events and to

access information regarding water resources captured by sensors from distinct sources. This system

intends to improve flood forecasting and the management of water resources and supporting decision-

makers to make better decisions.

This research intends to preliminary discuss and define the requirements specification of the

RiverCure portal using a rigorous language, namely the Requirements Specification Language. To

achieve this goal, it was necessary to specify the systems’ requirements of the main inputs of the

portal, namely the Portuguese monitoring and surveillance system and the simulation software since

these systems are important features of the portal.

Keywords: RiverCure, Water Resources, Information Management, Requirements Engineering

Page 4: RiverCure Portal: Collaborative GeoPortal for Curatorship

iv

Page 5: RiverCure Portal: Collaborative GeoPortal for Curatorship

v

Resumo

Atualmente, existe uma grande quantidade de informações disponíveis sobre recursos hídricos, muito

embora cada uma possua uma estrutura, formato, e vocabulário diferente, o que leva a uma falta de

consistência, e a um aumento no tempo gasto na modificação dos dados. Além disso, as cheias são

relativamente frequentes. Os problemas anteriores ressaltam a importância de um sistema de

informações sobre recursos hídricos bem definido. Sem resolver estes problemas, o conhecimento

das várias fontes, não pode ser interligado ou compartilhado adequadamente. Impedindo o

desenvolvimento de sistemas precisos de monitorização e alerta.

Para explorar estes problemas utilizou-se o Design Science Research Methodology. Nas duas

primeiras fases foi identificado o problema, a motivação e os objetivos deste trabalho. Na terceira

etapa, o sistema foi projetado e desenvolvido. Depois, este foi demonstrado utilizando o caso de

estudo da cheia de Águeda em 2016.

O portal RiverCure é uma plataforma online que permite aos usuários simular inundações e aceder a

informações sobre recursos hídricos adquiridas por sensores de fontes distintas. Com esta

ferramenta, é possível melhorar os sistemas de previsão de inundações e a gestão dos recursos

hídricos, e ajudar os decisores a tomar decisões fundamentadas.

Esta dissertação pretende definir preliminarmente a especificação dos requisitos do portal RiverCure

utilizando uma linguagem rigorosa, o Requirements Specification Language. Para atingir este objetivo

foi necessário especificar os requisitos dos principais sistemas insumos do portal, nomeadamente do

sistema de monitorização e vigilância de recursos hídricos portugueses e do software de simulação,

uma vez que são peças importantes no portal.

Palavras-Chave: RiverCure, Recursos Hídricos, Gestão de Informação, Engenharia de Requisitos

Page 6: RiverCure Portal: Collaborative GeoPortal for Curatorship

vi

Acknowledgements

Through this journey, I had the opportunity to learn a lot about the topic, but also about myself and the

people that surround me.

Thank you so much, Professor Alberto Silva and Professor Bruno Martins, for all the guidance,

feedback, patience, and availability during this project.

RiverCure team, thank you for the opportunity to work in this team, for the work put into it and for all

the dedication.

Thank you, Dra. Manuela Saramago, for all the help provided, for all the mail responses and all the

meetings.

Without the motivation, support and help of my dad, mom, grandmother and boyfriend this project

would have been much more difficult. For all the conversations, the patient and support a huge thank

you.

I would also like to thank my friends, Ana Sofia Angélico, Morgana, Joana Assunção, Joana Oliveira,

Catarina, Madalena and Inês for all the moments, for always being there to pull me up and for showing

me how lucky I am to have all of you in my life.

I also want to thank all the members of BEST Almada for all the talks, all the help and the countless

moments that helped me relax from all the stress.

Finally, thank you to the Portuguese FCT for co-funding the project RiverCure: Curating and

assimilating crowdsourced and authoritative data to reduce uncertainty in river flow modelling

(GRANT_NUMBER: PTDC/CTA-OHR/29360/2017).

To all a big thank you.

Page 7: RiverCure Portal: Collaborative GeoPortal for Curatorship

vii

Table of Contents

Abstract ................................................................................................................................................. iii

Resumo................................................................................................................................................... v

Acknowledgements .............................................................................................................................. vi

Table of Contents ................................................................................................................................ vii

List of Figures ....................................................................................................................................... ix

List of Tables ....................................................................................................................................... xiii

List of Acronyms ................................................................................................................................. xv

1. Introduction .................................................................................................................................... 1

1.1. Context .................................................................................................................................. 1

1.2. Motivation and Problem Identification ................................................................................... 2

1.3. Dissertation Objectives .......................................................................................................... 3

1.4. Research Methodology .......................................................................................................... 4

1.5. Contributions ......................................................................................................................... 6

1.6. Document Structure ............................................................................................................... 6

2. Background .................................................................................................................................... 7

2.1. Water Resources Management ............................................................................................. 7

Basic Concepts ......................................................................................................... 7

Sistema Nacional de Informação de Recursos Hídricos (SNIRH) ........................... 8

Sistema de Vigilância e Alerta de Recursos Hídricos (SVARH) ............................ 10

2.2. WaterML .............................................................................................................................. 12

2.3. Geographic Information System (GIS) ................................................................................ 13

2.4. HiSTAV ................................................................................................................................ 15

2.5. Requirements Engineering .................................................................................................. 18

Basic Concepts ....................................................................................................... 19

UML ........................................................................................................................ 19

ITLingo and RSL ..................................................................................................... 21

3. Bibliographic Review .................................................................................................................. 24

3.1. Water Resources ................................................................................................................. 24

3.2. Requirements Engineering .................................................................................................. 28

4. Related Systems .......................................................................................................................... 31

4.1. SNIRH and SVARH ............................................................................................................. 31

Page 8: RiverCure Portal: Collaborative GeoPortal for Curatorship

viii

4.2. HiSTAV ................................................................................................................................ 44

5. RiverCure Portal .......................................................................................................................... 50

5.1. Glossary............................................................................................................................... 51

5.2. Stakeholders ........................................................................................................................ 52

5.3. Actors ................................................................................................................................... 52

5.4. Data Entities ........................................................................................................................ 54

5.5. Requirements ...................................................................................................................... 62

6. Conclusions and Future Work .................................................................................................... 79

6.1. Conclusions ......................................................................................................................... 79

6.2. Future Work ......................................................................................................................... 80

Annexes ................................................................................................................................................ 86

SNIRH ............................................................................................................................................ 86

SVARH ........................................................................................................................................... 88

HiSTAV ........................................................................................................................................... 91

RiverCure ....................................................................................................................................... 94

Meetings ...................................................................................................................................... 106

Page 9: RiverCure Portal: Collaborative GeoPortal for Curatorship

ix

List of Figures

Figure 1: Data’s transformation scheme. ................................................................................................ 3

Figure 2: Methodology's scheme of this work. ........................................................................................ 4

Figure 3: Location of Águeda’s bridge and photo of a flood in Águeda [19]. .......................................... 5

Figure 4: a) Hydrometric station [28]; b) Meteorological station [24]. ..................................................... 8

Figure 5: Schema of SNIRH’s processes (inspired from [24]). ............................................................... 9

Figure 6: Schema of SVARH’s processes (adapted from [24]). ............................................................ 10

Figure 7: a) Rios desktop [24]; b) Rios editor [11]. ............................................................................... 11

Figure 8: Alarm levels example (extracted from [26]). ........................................................................... 12

Figure 9: Example of layers in QGIS. .................................................................................................... 14

Figure 10: Example of a mesh. ............................................................................................................. 15

Figure 11: HiSTAV data flow schema. ................................................................................................... 16

Figure 12: a) Example of an inlet definition in QGIS; b) Boundary conditions definition. ..................... 17

Figure 13: a) Pre-processor running; b) Physics, numerics and time files. ........................................... 17

Figure 14: a) HiSTAV running; b) Example of a simulation output file. ................................................. 18

Figure 15: Example of a simulation result (bed elevation) in ParaView. ............................................... 18

Figure 16: Overview of the RSLingo's process (adapted from [52]). .................................................... 22

Figure 17: UML diagram of SVARH DataEntities: Basin package. ....................................................... 35

Figure 18: UML diagram of SVARH DataEntities: Station package. ..................................................... 36

Figure 19: Example of a station in a dam and a Hydrometric station in Rios [24]. ............................... 37

Figure 20: UML diagram of SVARH DataEntities: Alarm package. ....................................................... 37

Figure 21: Station definition in Rios editor. ............................................................................................ 38

Figure 22: UML diagram of SNIRH's DataEntities: Location package. ................................................. 38

Figure 23: UML diagram of SNIRH's DataEntities: User package. ....................................................... 39

Figure 24: User preferences in Rios. ..................................................................................................... 40

Figure 25: UML diagram of SNIRH UseCases: Data package. ............................................................ 42

Figure 26: Example of a graphic in Rios [69]. ....................................................................................... 43

Figure 27: UML diagram of the SVARH UseCases: Manage package. ................................................ 44

Figure 28: UML diagram of the pre-processor outputs DataEntities. .................................................... 47

Figure 29: UML diagram of the HiSTAV UseCases. .............................................................................. 49

Page 10: RiverCure Portal: Collaborative GeoPortal for Curatorship

x

Figure 30: Data transformation schema. ............................................................................................... 50

Figure 31: RiverCure portal user roles. ................................................................................................. 53

Figure 32: UML diagram of the RCP DataEntities: Feature package. .................................................. 55

Figure 33: UML diagram of the RCP DataEntities: Sensor simple package. ........................................ 55

Figure 34: UML diagram of the RCP DataEntities: Fixed in-situ package. ........................................... 56

Figure 35: UML diagram of the RCP DataEntities: Alarm package. ...................................................... 56

Figure 36: UML diagram of the RCP DataEntities: Photo package. ..................................................... 57

Figure 37:UML diagram of the RCP DataEntities: Event package. ....................................................... 58

Figure 38: UML diagram of the RCP DataEntities: Simulation main package. ..................................... 58

Figure 39: UML diagram of the RCP DataEntities: Map package. ........................................................ 59

Figure 40: UML diagram of the RCP DataEntities: User permissions package. ................................... 61

Figure 41: Home page mock-up of the RCP. ......................................................................................... 63

Figure 42: a) Data menu mock-up of the RCP; b) Interactive map mock-up of the RCP. ..................... 63

Figure 43: UML diagram of the RCP UseCases: Map package. ........................................................... 64

Figure 44: UML diagram of the RCP UseCases: Monitoring points package. ...................................... 64

Figure 45: a) Monitoring points by basin (User) mock-up; b) By monitoring points (User) mock-up. ... 64

Figure 46: UML diagram of the RCP UseCases: Hydrometric and Udometric data package. .............. 65

Figure 47: a) Hydrometric monitoring points (User) mock-up; b) Hydrometric monitoring points

(Hydrometric technician) mock-up. ........................................................................................................ 65

Figure 48: Radar observations mock-up of the RCP. ............................................................................ 66

Figure 49: a) Photos menu mock-up of the RCP; b) Upload photos mock-up of the RCP.................... 66

Figure 50: a) Photo gallery mock-up of the RCP; b) Photos gallery (Crowdsourcing technician) mock-

up of the RCP......................................................................................................................................... 67

Figure 51: a) Simulations menu mock-up; b) Simulations menu (Numeric technician) mock-up of the

RCP. ....................................................................................................................................................... 68

Figure 52: a) New simulation scenario (Input definition) mock-up; b) New simulator scenario (Progress

indicator) mock-up of the RCP. .............................................................................................................. 68

Figure 53: UML diagram of the RCP UseCases: Simulations package. ............................................... 69

Figure 54: Simulations records mock-up of the RCP............................................................................. 69

Figure 55: Simulations input files (Manage files) mock-up of the RCP. ................................................ 70

Figure 56: UML diagram of the RCP UseCases: Technician simulation package. ............................... 71

Figure 57: a) New simulation (Pre-processor) mock-up; b) New simulation (model configuration) mock-

up of the RCP......................................................................................................................................... 72

Page 11: RiverCure Portal: Collaborative GeoPortal for Curatorship

xi

Figure 58: a) Events records mock-up of the RCP; b) Events menu (Udometric technician) mock-up. 72

Figure 59: Settings (Profile information) mock-up of the RCP. .............................................................. 73

Figure 60: Settings (Account) mock-up of the RCP. .............................................................................. 75

Figure 61: Settings (Alarms) mock-up of the RCP................................................................................. 75

Figure 62: UML diagram of the RCP UseCases: Manager package..................................................... 76

Figure 63: Settings (Manage information) mock-up of the RCP. ........................................................... 77

Figure 64: UML diagram of all SNIRH DataEntities. ............................................................................. 86

Figure 65: UML diagram of SNIRH UseCases: Manage package. ....................................................... 87

Figure 66: UML diagram of the SNIRH UseCases: Restricted user and Public viewer package. ........ 88

Figure 67: UML diagram of SVARH DataEntities. ................................................................................. 90

Figure 68: UML diagram of SVARH UseCases: Data package. ............................................................ 91

Figure 69: UML diagram of the pre-processor inputs. ........................................................................... 92

Figure 70: UML diagram of the pre-processor UseCases. .................................................................... 93

Figure 71: UML diagram of the RCP DataEntities: Spatial package. .................................................... 95

Figure 72: UML diagram of the RCP DataEntities: Sensor package..................................................... 95

Figure 73: UML diagram of the RCP DataEntities: Simulation input package. ..................................... 95

Figure 74: UML diagram of the RCP DataEntities: About package. ...................................................... 96

Figure 75: UML diagram of the RCP DataEntities: User main package. .............................................. 96

Figure 76: UML diagram of the RCP DataEntities: User settings package. .......................................... 96

Figure 77: UML diagram of the RCP UseCases: User photos package. ............................................ 100

Figure 78: UML diagram of the RCP UseCases: Hydrometric and Udometric settings package. ...... 100

Figure 79: UML diagram of the RCP UseCases: Photos package...................................................... 101

Figure 80: UML diagram of the RCP UseCases: Alarm package........................................................ 101

Figure 81: UML diagram of the RCP UseCases: Settings package. ................................................... 101

Figure 82: UML diagram of the RCP UseCases: Technician settings package. ................................. 101

Figure 83: UML diagram of the RCP UseCases: Events package. ..................................................... 102

Figure 84: UML diagram of the RCP UseCases: SuperAdmin package. ............................................ 102

Figure 85: Interactive map (photos) mock-up of the RCP. .................................................................. 104

Figure 86: Monitoring points (By district) mock-up of the RCP. ........................................................... 104

Figure 87: Monitoring points (Graphic) mock-up of the RCP. .............................................................. 104

Figure 88: Photos gallery (Crowdsourcing technician) mock-up of the RCP. ..................................... 104

Page 12: RiverCure Portal: Collaborative GeoPortal for Curatorship

xii

Figure 89: Photos gallery mock-up of the RCP. .................................................................................. 104

Figure 90: Simulations input files (Upload files) mock-up of the RCP. ................................................ 104

Figure 91: New simulation (Results) mock-up of the RCP. ................................................................. 105

Figure 92: Settings (Profile information) mock-up of the RCP. ............................................................ 105

Figure 93: Settings (Account) mock-up of RCP. .................................................................................. 105

Figure 94: Settings (Account) mock-up of the RCP. ............................................................................ 105

Figure 95: Settings (Manage users) mock-up of the RCP. .................................................................. 105

Page 13: RiverCure Portal: Collaborative GeoPortal for Curatorship

xiii

List of Tables

Table 1: Examples of UML elements. .................................................................................................... 20

Table 2: RSL constructs’ classification [5]. ............................................................................................ 22

Table 3: Conversion of some system's terms [7]. .................................................................................. 51

Table 4: Permissions of RCP user roles. ............................................................................................... 94

Page 14: RiverCure Portal: Collaborative GeoPortal for Curatorship

xiv

Page 15: RiverCure Portal: Collaborative GeoPortal for Curatorship

xv

List of Acronyms

APA Agência Portuguesa do Ambiente

CFL Courant-Friedrichs-Lewy

CHT Confederação Hidrológica do Tejo

CRS Coordinated Reference System

CPPE Companhia Portuguesa de Produção de Eletricidade

CSIRO Commonwealth Scientific and Industrial Research Organization’s

CUAHSI Consortium of Universities for the Advancement of Hydrologic Science, Inc

DSRM Design Science Research Methodology

DSM Digital Surface Model

DTM Digital Terrain Model

EDP Energias de Portugal

FIS Flood Information System

FCT Fundação Ciência e Tecnologia

GIS Geographic Information System

GML Geography Markup Language

HEC-DSS Hydrologic Engineering Center Data Storage System

HEC-HMS Hydrologic Engineering Center - Hydrologic Modeling System

HIS Hydrologic Information System

HiSTAV High performance version of Strong Transients in Alluvial Valleys

IFIS Iowa Flood Information System

INAG Instituto da Água

INSPIRE Infrastructure for Spatial Information in the European Community

IPMA Instituto Português do Mar e da Atmosfera

INESC-ID Instituto de Engenharia de Sistemas e Computadores - Investigação e

Desenvolvimento

ISO International Organization for Standardization

ISRBC International Sava River Basin Commission

IST Instituto Superior Técnico

Page 16: RiverCure Portal: Collaborative GeoPortal for Curatorship

xvi

NWIS National Water Information System

O&M Observation & Measurements

ODM Observations Data Model

OGC Open Geospatial Consortium

OMG Object Management Group

PGRH Planos de Gestão de Região Hidrográfica

PSL Project Specification Language

RE Requirements Engineering

RCP RiverCure portal

RML Requirement Modeling Language

RSL Requirements Specification Language

RSL-IL Requirements Specification Language - Intermediate Language

RSL-PL Requirements Specification Language - Pattern Language

SNIRH Sistema Nacional de Informação de Recursos Hídricos

SRS Systems Requirements Specifications

SVARH Sistema de Vigilância e Alerta de Recursos Hídricos

SysML Systems Modeling Language

TSL Test Specification Language

UML Unified Modelling Language

USGS United States Geological Survey

WAMDaM Water Management Data Model

WOF WaterOneFlow

WEAP Water Evaluation and Planning System

WFS Web Feature Services

XML Extensible Markup Language

Page 17: RiverCure Portal: Collaborative GeoPortal for Curatorship

1

1. Introduction

1.1. Context

Flood events have been increasing in Portugal. For instance, between 2011 and 2018 the Agência

Portuguesa do Ambiente (APA) reported 306 flood events and the number one underlying cause

identified was strong precipitation [1]. The fact that several basins, namely those from the Tagus and

Douro rivers, cross Spain’s border hinders the assessment of the flood risk and the characterization of

these risks. Another factor that must be taken into consideration is climate change, which again

according to APA can have a significative impact since the forecast for Portugal is that, in general, the

annual mean precipitation will decrease, but the number of short-period precipitation events is

expected to increase and with more intensity compared with the present situation [1].

Nowadays, with the evolution of technology, the size of information collected, discovered and available

has been increasing rapidly [2]. New problems have thus emerged with it, such as data not properly

documented, difficult access to data, due to ownership or cost, and inconsistent data between different

sources, making the use of it more difficult [3]. To overcome these problems, data should be rigorously

defined. In the current research, different languages were analysed, so that terms and concepts could

be accurately defined and connected. Taking that into account, the Unified Modelling Language (UML)

[4], the Requirements Specification Language (RSL) language [5], and consequently the ITLingo

project were researched, so that the requirements specification of the systems linked to the project

could be written in the best possible way. Overall, RSL includes a process to transform requirements

written in a natural language into formal structured requirements [5, 6].

This research should also analyse the Water Markup Language standard (WaterML), which is a

standard for publishing time series of hydrological observation data, which uses the Extensible Markup

Language (XML) format to publish data over the internet via web services, with the intent of sharing

and documenting this type of information [8, 9].

To further understand this topic, a case study was used to demonstrate the main results: the flood

event on the 12th of February 2016 in Águeda, Aveiro, Portugal. This event it reached historical water

levels according to the data obtained from the City Hall and the Sistema Nacional de Informação de

Recursos Hídricos (SNIRH), which is owned by APA.

The RiverCure project has the objective improving the forecasting systems focusing on the impact of

floods, to manage water resources and habitat protection. In order to achieve that it is necessary to

assimilate data from official agencies (e.g. APA) and acquire new data that is shared on the internet,

such as images of such events shared in Instagram or Flickr, among other social media platforms, to

help tune the forecasting capabilities of the mathematical models. High performance STAV (HiSTAV) is

the simulation tool applied, to check the consequences inland of a flood [4]. The three main outputs

expected from the RiverCure project are (1) an IT platform that articulates data and model forecasts;

Page 18: RiverCure Portal: Collaborative GeoPortal for Curatorship

2

(2) a new-generation river model; and (3) a curated database that combines authoritative and

crowdsourced data. The project is funded through Fundação para a Ciência e Tecnologia (FCT).

There are three main partners involved in the project, Information and Decision Support Systems’

laboratory of the Instituto de Engenharia de Sistemas e Computadores - Investigação e

Desenvolvimento (INESC-ID), Association of Instituto Superior Técnico for Research and

Development (IST-ID) and APA.

This research project was developed within the RiverCure project, more specifically in the

development of the IT platform and it counts with the support and guidance of Professor Alberto

Rodrigues da Silva and Professor Bruno Emanuel da Graça Martins, which are the supervisors of this

Master Thesis in Engineering and Industrial Management at Instituto Superior Técnico, Universidade

de Lisboa.

1.2. Motivation and Problem Identification

Information systems have a major impact in organizations. They can reduce costs, help support

innovation strategies and improve communication between the people involved [9].

There are several data sets regarding water resources available online, such as the Hydrologic

Information System1 (HIS) from the Consortium of Universities for the Advancement of Hydrologic

Science, Inc (CUAHSI) and the SNIRH2 from APA. However, since the files have different structures,

term definitions, file formats, units, and file types, the usage of that data becomes quite difficult [3].

The most probable reason for this sudden quantity of data growth is the increasing awareness

regarding climate change, leading to an increase in the number of monitoring programs (e.g. SVARH)

and sensors so that more data can be collected to be used as inputs in models [3]. Several

international guidelines are trying to standardize this information, in terms of geographic properties

(e.g. International Organization for Standardization (ISO) 19109) and observation data (e.g.

Observations Data Model (ODM), WaterML, Open Geospatial Consortium (OGC) and ISO

Observations and Measurements (O&M)).

Currently, a higher effort has been seen in writing more carefully system requirements. Nevertheless,

the amount of errors is still significant, probably due to the flexibility of the natural language, which can

lead to ambiguity, lack of accuracy, and shortage of relevant information [10].

By using rigorous specification techniques, it is possible to facilitate the communication among the

stakeholders, develop better products, minimize risks, produce and visualize relevant models, keep a

record of all decisions, and control and guide the direction of the project.

There are different sources of information relevant to the project. This means that there are also many

stakeholders involved, namely APA, IST-ID, INESC-ID, IPMA, and FCT. Consequently, it can make the

1 https://data.cuahsi.org/ 2 https://snirh.apambiente.pt/

Page 19: RiverCure Portal: Collaborative GeoPortal for Curatorship

3

process of data collection harder, due to miscommunications and coordination problems between the

stakeholders, and also ownership problems [11].

The RiverCure project intends to define and develop a digital platform with data, both from authorities

(e.g. APA and Instituto Português do Mar e da Atmosfera (IPMA)) and crowdsourcing. In the end, the

project will have produced a more accurate river model, in terms of hydrodynamic and

morphodynamic characteristics, and a platform that links with the models, which will contain all the

data from different sources [12].

To summarize, the main problems and challenges regarding the subject addressed in this thesis are

the difficulty in managing the water resources data, the existence of several stakeholders, and the

presence of many guidelines to standardize water-related information. All these issues are some of the

reasons why forecasting natural events, such as floods, has been a challenge. The development of

the RiverCure portal (RCP) is one possible solution to these problems.

1.3. Dissertation Objectives

The main objective of this thesis is to develop a requirements specification for the RiverCure Portal

system, in order to allow an easier system implementation in the future.

Figure 1 shows all the processes that the different types of data go through until being released in the

RiverCure portal. Firstly, the data from distinct sources, such as APA, IPMA, and the photos uploaded

in social media platforms (e.g. Facebook, Instagram) is collected and analyzed. Once this step is

concluded the data is presented in the portal and the simulation process can start, since it has the

needed input data. The simulation tool, HiSTAV [4], is executed, producing a simulation that indicates

the possibility of a flood event occurring. Lastly, the result from this simulation is published on the

RiverCure portal. This means that the system must be able to collect and analyze information, to

perform a simulation and to present data in the portal. These processes will be further explained in

Chapter 5.

Figure 1: Data’s transformation scheme.

Upon understanding all the previous information, it was concluded that answering the following

questions would be important:

• Which are the requirements necessary to define the RiverCure Portal?

• How should the specifications be represented?

• Is the RSL language an adequate approach to define structured and rigorous requirements

in the water domain?

Page 20: RiverCure Portal: Collaborative GeoPortal for Curatorship

4

To sum up, the objectives for this project are:

• Define the as-is model of the SNIRH, SVARH (Sistema de Vigilância e Alerta de Recursos

Hídricos) and HiSTAV (High performance version of Strong Transients in Alluvial Valleys)

systems;

• Define a requirements specification for the RiverCure portal.

1.4. Research Methodology

Due to the existence of several guidelines, stakeholders, and information systems, it was decided that

an appropriate methodology to apply in this research is the Design Science Research Methodology

(DSRM). The DSRM is used in cases where new artefacts are created in order to solve real problems

and it can be applied to a variety of areas, such as engineering, and information systems [13]. The

next figure (Figure 2), presents an overview of the methodology used in this project [13].

Figure 2: Methodology's scheme of this work.

Problem Identification, Motivation and Objectives Definition

The first step has significant importance since, by defining the problem, the complexity of it can be

captured and better outcomes can be achieved. However, it is necessary to research the state of the

art and acquire specific knowledge related to the topic, in order to properly define the problem and the

objectives. By explaining the motivation of the work, the importance of it, and the impact that it can

have, the readers will be more engaged. The definition of the objectives, the second step, should state

the goals that the artefact must fulfil.

Design and Development

The third step is divided into two parts. The first is focused on the determination of the structure and

requirements of the model, while the second part is the construction itself. To achieve it, data must be

collected, so research methods, like interviews and meetings, are employed to acquire the information

needed. The use of structured interviews, one-to-one or group, allows collecting data, but also some

opinions and experiences related to the problem. I specifically organized, meetings with the RiverCure

team, which includes researchers from different areas of expertise (e.g. Information Systems,

Geographic Systems, Civil Engineering, Hydraulics and Computer Engineering) and meetings with the

responsible for APA’s water resources department, Dra. Manuela Saramago. The list of all the project

Page 21: RiverCure Portal: Collaborative GeoPortal for Curatorship

5

meetings is presented in the annexes. To define the system requirements specification, I used the

UML (with the Sparx Systems Enterprise Architect tool) and RSL (supported by the ITLingo-Studio

tool) languages.

Demonstration

The fourth step is the application of the system to solve at least part of the problem. This step involves

a case study. The case study allows one to understand the relationship between parts, which may

demonstrate possible complex situations. The case study makes it possible to understand better the

outcomes. It also allows the use of a variety of sources and types of data. Case studies also were

applied in the papers [15, 16] presented in Chapter 3.

The flood event in Águeda, at 12th of February 2016, is the case study that is going to be used since it

is well documented and the event reached a historical water level (Figure 3), namely 5,88 m in the

Águeda’s bridge station [16] (location shown in Figure 3). Águeda is located in the Aveiro district, in

Portugal, and it has the main tributary of the Vouga river crossing the city, namely the Águeda river.

With its spring in the Caramulo Mountains, situated in the Vouga’s river basin and with approximately

35 kilometres of extension, it covers an area of 971,8 km2 [17]. This area was flagged by APA as one

of the 23 critical areas in Portugal with a flood risk [18]. This case study was applied in all the mock-

ups of the RiverCure portal.

Figure 3: Location of Águeda’s bridge3 and photo of a flood in Águeda [19].

Evaluation

After applying the case study, the artefact must be checked to see if it works properly and fulfils the

objectives defined. However, if the model does not satisfy the conditions or is not working correctly, the

project should return to step three, so that it can be improved and tested again. To evaluate the

requirements specification defined in the previous steps, informal feedback from some members of the

RiverCure team was collected. Those comments were acquired during team meetings (see list of

meetings in the annexes).

3 https://www.google.com/mymaps

Page 22: RiverCure Portal: Collaborative GeoPortal for Curatorship

6

Communication

At last, a research paper should be written in order to present to the community all the work done

regarding the subject. This step is highly important for the development of the subject, by publishing

an article stating the results and findings of this project, it will allow to other professionals to take

advantage of the work previously done and develop it even more. For instance, by using data that was

collected beforehand for other projects, it is possible to save time and reduce costs, since there is no

need to use specialized equipment or to treat data. Also, by divulging a paper, awareness regarding

the topic is raised, an open science environment is instigated, and communication between the people

involved in project is improved [20].

1.5. Contributions

To achieve the objectives defined in this thesis and to answer to all the research questions, the

following contributions were made:

• The definition of the models of the SNIRH, SVARH and HiSTAV in both RSL and UML

languages, in order to understand how these systems function;

• The specification of the RiverCure portal system was made using UML diagrams and RSL, so

that in a first stage the specification would be easily understandable and in a second it would

assure that the requirements were written in a rigorous and structured way. Mock-ups of the

RiverCure portal were also developed, to demonstrate the specifications of the portal and to

receive more feedback, especially from those team members that are domain expert.

1.6. Document Structure

This dissertation is divided into 6 Chapters. Chapter 1 presents the context of the problem, the

objectives of this work, and the actual problem. Chapter 2 defines the core concepts, topics and

systems for the RiverCure portal. Chapter 3 gives a bibliographic review regarding water resources

and requirements engineering. Chapter 4 shows the as-is model of the systems related to the

RiverCure portal (SNIRH, SVARH and HiSTAV). Chapter 5 contains the business and the application

model of the RiverCure portal system. Chapter 6 presents conclusions regarding the problem and

some developments that can be made in the future. At the end of this document, one can find two

other sections, the annexes, displaying several additional information regarding the systems and the

RiverCure project, and the references used in this document.

Page 23: RiverCure Portal: Collaborative GeoPortal for Curatorship

7

2. Background

This section introduces the main terms, definitions and information regarding the related systems and

languages used in this work. This Chapter is divided into three sections: Water Resources, Simulation

Tools (HiSTAV) and Requirements Engineering (RE). The first section presents all the terms and

standards related to hydrology. The second section provides an overview of contents related to

simulation and geographic information systems. Lastly, the RE section provides basic concepts of

requirements and modelling languages.

2.1. Water Resources Management

This section introduces, concepts related to water management. Afterwards, the Portuguese

information system regarding water resources, SNIRH, and the Portuguese flood alert information

system, SVARH, are explained.

Basic Concepts

Throughout this work many hydrological terms are used. Each one has a definition which can vary by

author and sources. For instance, the definition of a hydrographic network according to the Agência

Portuguesa do Ambiente (APA) corresponds to a “set composed by the main river and its connected

affluent, this includes lakes. Creating a geographical space that receives all the superficial flow from

occurred precipitation" [21]. By comparing it to the WaterML’s definition it can be stated that they are

quite similar, for example both include the lakes. However, APA’s definition does not state if it includes

or not reservoirs.

In order to be clear and easier for the reader to follow this work, some hydrological terms are defined

here:

Hydrology – “Science that deals with the waters above and below the land surfaces of the Earth, their

occurrence, circulation and distribution, both in time and space, their biological, chemical and physical

properties, their reaction with their environment, including their relation to living beings” [22].

Hydrographic network – “Aggregate of rivers and other permanent or temporary watercourses, and

also lakes and reservoirs” [22].

Hydrometric or hydrological network – “Hydrological stations and observing posts situated within a

catchment in such a way as to provide the means of studying its hydrological regime” [22].

Stream – “Water, generally flowing in a natural surface channel, or in an open or closed conduit, a jet

of water issuing from an orifice, or a body of flowing groundwater” [22].

Watercourse – “Natural or man-made channel through or along which water may flow, including large

interstices in the ground, such as cave, cavern or a group of these in karst terrain” [22].

Page 24: RiverCure Portal: Collaborative GeoPortal for Curatorship

8

Flood - A temporary area of land covered by water, that normally is not covered. In this case, flood

events will only be considered if they had negative effects, such as environmental, cultural or

economic damage, being hurtful to the community and injurious to health. In this work, the focus will

be mostly on fluvial floods, caused by a huge quantity of rain throughout several days or weeks, which

spread to the surrounding areas [1].

Most of the definitions of the terms presented previously are from the WaterML standard because it is

the standard that is being studied and that by using it errors caused by inconsistent definitions are

avoided.

Sistema Nacional de Informação de Recursos Hídricos

(SNIRH)

SNIRH (Sistema Nacional de Informação de Recursos Hídricos) was divulgated on October the 1st,

1995, by Instituto da Água (INAG) as a water resources monitorization system, that acquires hydro-

meteorological data from a set of stations, saves it in APA’s Structured Query Language (SQL) Server

database and releases the information in a portal4. The portal gets 600 visits per day, with users

including teachers, students, researchers, journalists and public administration personal. The system

is divided into three sub-systems: SNIR-Lit, SNIRH-Júnior and Sistema de Vigilância e Alerta de

Recursos Hídricos (SVARH) [23].

There are two main types of automatic stations in Portugal: Hydrometric or Meteorological [23]. The

Hydrometric stations (Figure 4 a)) record data from rivers, lakes or reservoirs. These data includes the

water level, flow, transport and deposit of sediments, temperature and other physical, chemical and

biological properties of the water. The Meteorological stations (Figure 4 b)) can obtain meteorological

data, such as precipitation, temperature, air humidity, wind velocity and others. They can be divided

into two sub-types, Udometric and Climatological. If the station only measures precipitation it is called

Udometric or Udographic. If it also measures air and wind properties it is called Climatological.

a)

b)

Figure 4: a) Hydrometric station [28]; b) Meteorological station [24].

In Portugal, there are a total of approximately 931 stations, 311 hydrometric and 620 meteorological

[25]. For them to work, the stations must have sensors, a datalogger and a power supply, which

4 https://snirh.apambiente.pt/

Page 25: RiverCure Portal: Collaborative GeoPortal for Curatorship

9

includes a battery and a solar panel. The datalogger can have up to 30 channels each one with a

different storage rate and alarm levels. Some stations are also equipped with teletransmission,

meaning that they can communicate with SVARH using Global System for Mobile Communications

(GSM) or General Packet Radio Service (GPRS) [11].

If the stations have teletransmission, the data is sent directly from the station to APA’s central system.

Otherwise, the data must be collected during the maintenance of the station by the maintenance

company, and uploaded in the maintenance company server afterwards.

Most of the errors that appear in the data collected are the result of poor phone coverage, temporary

loss of network connection, fallen scales, blockages in sensors, sensors not gauged, dried sensor

bowl, or influences from an external factor (e.g. a water pump). To eliminate the sources of mistakes

and to preserve the machines, a company is hired to perform a maintenance service, where all the

sensors are tested, the data is compiled, an assessment sheet is filled with observations, and photos

might also be taken. The hydrological stations require a visit every three months and the

meteorological stations every three months or month to month, depending on the sensors assembled.

Figure 5 illustrates the main steps that must occur for the data from stations to become available to

the regional authorities and on the web. The data goes through three stages, namely data acquisition,

data processing and data release. The processes required to acquire data from the stations vary

depending on the station communication capabilities and their ownership. If the data is provided by the

Spanish hydrographic authorities (e.g. Confederação Hidrológica do Tejo (CHT)) or by hydroelectric

power plants’ companies, known as Companhia Portuguesa de Produção de Eletricidade (CPPE) (e.g.

EDP), the data is transferred to the SNIRH’s server using a script. For an APA’s station without

teletransmission, the data will be recorded, and the parameters defined using a software called

Geolog. Then, it will be uploaded to the maintenance company server, where APA’s technicians will

download it from. Upon these steps the data is run in the application INAG SIF, that will generate a file

with all the parameters that will be uploaded to the SNIRH’s server and published on the web.

Figure 5: Schema of SNIRH’s processes (inspired from [24]).

Page 26: RiverCure Portal: Collaborative GeoPortal for Curatorship

10

The process that the data provided by APAs’ stations with teletransmission goes through is

approached in the next section since it is the main source of data of SVARH.

Sistema de Vigilância e Alerta de Recursos Hídricos (SVARH)

SVARH is a system that allows analysing in real-time the hydric state of the rivers and dams all over

Portugal. Meteorological information is also collected to allow a more precise prediction, and for

betterunderstanding better the data collected. For the system to work, a network of stations with

teletransmission was installed in critical points, where the risk of floods exists.

The only users are APA’s technicians, Regional Environmental Departments, Regional Water

Authorities, National Fire Department and Civil Protection Service [11].

The SVARH has three core modules, as can be seen in Figure 6 [24]:

- First module: Data acquisition (Acquisition and conversion of data from the stations with

teletransmission and from partners);

- Second module: Data processing (Upload of the data to the databases);

- Third module: Data release (Dissemination of the data in real-time using the Rios application).

Figure 6: Schema of SVARH’s processes (adapted from [24]).

The management of the alarms sent from the automatic stations (e.g. change of interrogation rhythm)

and the alteration of the parameters remotely are some of the functions that the Geolog software is

responsible for.

The INAG32 software is responsible for converting the data from the Geolog format into the American

Standard Code for Information Interchange (ASCII), creating one or more files. This application works

in collaboration with the Geolog, allowing the definition of the number of days that the output will

contain excluding older data [24].

The GFiltro software is used to convert the ASCII files obtained from the INAG32 to files into the

SVARH format, and it also uploads them into the database [24].

Page 27: RiverCure Portal: Collaborative GeoPortal for Curatorship

11

This system has two servers, namely Zeus and G960. Both can store the data recorded by the

automatic stations. The Zeus server uses the File Transfer Protocol (FTP) to transfer the data, while

the G960 server uses Hypertext Transfer Protocol (HTTP) (Figure 6). After being transferred, the data

can be consulted using the Rios application. Another functionality of the G960 server is the ability to

send the alarms from the stations via text message or email [24].

Besides the information recovered from APA’s stations, the CPPE (e.g. EDP), and the CHT also send

their data in exchange for APA’s information (Figure 6) [11]. The data is transferred every hour from

both servers using specific scripts that follow the FTP transference protocol [24].

Rios is the application used to present the data in a user-friendly manner, considering that the access

to the data is based on web services and SQL servers. Figure 7 a) presents the Rios desktop platform,

which can create charts and is able to export to MS-Excel. Besides the Rios desktop, there is also the

Rios editor (Figure 7 b)), used to manage users and to edit the screen layouts, which includes

designing and defining rivers, basins and stations. When defining a station, the parameters, alarm

levels and past events are specified. The Rios SMS application is also an important service that allows

the reception of text message (SMS) alarms on the mobile phone for selected incidents [11].

Figure 7: a) Rios desktop [24]; b) Rios editor [11].

When an alarm is triggered, a notification is sent to the control centre automatically, and it also

changes the frequency of the data storage and transfer. For the warning to be sent, a specific

parameter that is being measured must have reached a previously defined limit. From Figure 8 it is

possible to understand that Rios has two levels of alarm (yellow and red), and that the colour of the

station symbol, basin and district matches the alarm level. Note that the limits of each level change

between the stations, since they are specifically defined for each site. All the records from the area are

considered by an APA technician when deciding the alarm limits.

a)

b)

Page 28: RiverCure Portal: Collaborative GeoPortal for Curatorship

12

Figure 8: Alarm levels example (extracted from [26]).

An important feature in this system (SVARH) in the ability to run simulations but, unfortunately, only

some of the main river basins have hydrologic forecast models incorporated, not allowing the

prediction of floods in other locations [12, 26].

2.2. WaterML

WaterML 2.0 is one of the specifications that allows the data from hydrological observations to be

coded, implementing a XML schema [27]. The standard is composed of two parts, namely the

conceptual UML model regarding the observational data (O&M) and the implementation of the model

in XML schema, more specifically in a GML schema. This specification represents not only timeseries

data but also spatial data. WaterML is an open specification, interoperable for example with the

Geoscience Markup Language (GeoSciML), and it has a diverse glossary, which allows it to be applied

on several scenarious. However, the WaterML schema is complex, which makes it hard to understand.

A lot of tests have to be made in order to ensure that the standard is properly implemented, and there

are no generally-accessible tools [8].

GML is a language based on XML that can be applied to share, model and store geographical

information. Some of the benefits that this language presents are the possibility to model different data

from distinct areas, supporting the description of entities and attributes [27].

The WaterML project leveraged the results from another project, namely the Hydrologic Information

System (HIS), that started in 2005 with a Consortium of Universities for the Advancement of

Hydrologic Science, Inc (CUAHSI), aiming to give access to several hydrologic data repositories

owned by a different number of entities, such as United States Geological Survey (USGS), the

National Water Information System (NWIS) and the US Environmental Protection Agency’s STORET

(Storage and Retrieval), through web services. Given the increasing demand, it was necessary to

develop a system to check the information from different points of observation, so the WaterML 1.0

standard was created [28].

Page 29: RiverCure Portal: Collaborative GeoPortal for Curatorship

13

However, there was still one major flaw in WaterML 1.0, namely the incapability of interoperability with

other systems. In order to correct that, the Observation & Measurements (O&M) specifications by the

OGC were considered, creating the WaterML 2.0 standard. The updated version is a candidate

specification to codify data from hydrologic observations [14]. It is important to state that the O&M -

ISO 19156 is an information model used to describe observations.

According to the WaterML 2.0 discussion paper [7], the best definition of observation is “…an act

associated with a discrete time instant or period through which a number, term or other symbol is

assigned to a phenomenon. It involves the application of a specified procedure, such as a sensor,

instrument, algorithm or process chain. The procedure may be applied in-situ, remotely, or ex-situ with

respect to the sampling location. The result of an observation is an estimate of the value of a property

of some feature”.

To describe water observations, the WaterML 2.0 standard defines five components: (i) Time series,

(ii) Observation specializations, (iii) Procedures used in measurement/analysis/processing, (iv)

Observation metadata, (v) Location description and collections [7].

The WaterML 2.0 proposal is presented in a four-parts discussion paper: the first part regards

timeseries, while the second is about ratings, gaugings and sections. The third part concerns surface

hydrology features and the last one, GroundWaterML 2., concerns with groundwater data.

Other standards replace the WaterML 2.0 in terms of logical models, by following the norm ISO 19109,

which sets the rules for the schema application regarding geographic information. Examples include,

the GeoSciML from the Geological Surveys, the EuroRoadS, the CityGML, the Norwegian SOSI, the

German AFIS-ALKIS-ATKIS, the Dutch NEM 3610 and the Swiss INTERLIS [27].

2.3. Geographic Information System (GIS)

According to ISO 19101-1, a GIS is an information processing system, that provides and distributes

information concerning phenomena associated with a location relative to the Earth [29]. It integrates

several types of data (mesh, vector, matrix), supports different spatial analyses operations, and

organizes layers of information applying maps and 3D scenes.

Figure 9 illustrates the mechanism used to visualize the geographic datasets, within GISs, namely the

layers. Each layer is saved as a file or as a record in a database [30].

Page 30: RiverCure Portal: Collaborative GeoPortal for Curatorship

14

Figure 9: Example of layers in QGIS.

Raster data is a very common type of data in the GIS world. It is composed by a matrix of cells (also

known as pixels), that have in each cell a value that represents the existing conditions in the area

covered by the pixel. The size of each element is the same in all parts of the layer. A raster layer with a

high resolution has smaller cell sizes and higher feature spatial accuracy. However compared with a

lower resolution layer it takes longer to process the data and it has a larger file size, which

consequently implicates that a larger amount of computer memory is required [31].

Another type of data used in GIS is the vector data, which “is stored in the computer memory as a

series of x, y coordinate pairs” [32]. This type of data is used to represent points (e.g. stations), lines

(e.g. rivers) and polygons (e.g. buildings). To represent a real-world object, a feature is defined in

terms of geometry (point, polyline or polygon) and attributes (description of the feature). The attributes

of a feature are stored in a table, in which a line corresponds to a single record.ESRI shapefile is the

most popular format used to save vector data. This file is divided into three parts, namely the main file,

an index file and a dBASE table. The main file contains multiple records, each one describes a shape

with a list of its vertices. The index file stores the index of the feature geometry. The attribute

information of each feature is kept in the dBASE table. For each record, there is only one geometry

and one set of attributes [33].

A mesh is an unstructured grid that contains spatial components such as vertices, edges and faces

[34]. Every vertex, edge and face are identified with a specific string. One benefit of a body-fitting

unstructured triangular mesh is that it optimizes the computational workload [35]. A vertex (or a node)

is an XY(Z) point, that is capable to store datasets values, with or without a temporal dimension [34].

An edge (or an arrest) is responsible for connecting pairs of vertices and it can be used to calculate

fluxes. To do it is necessary to know the volumes of its direct neighbours and to ensure that the

information from a specific element only propagates to its immediate neighbours. The conventional

Courant-Friedrichs-Lewy (CFL) condition (CFL max≤1) on each edge grants that last requirement [36]. A

face (or cell) is set of edges that form a closed shape, normally a triangle or a quadrilateral. This

element can have different sizes in the same mesh, rendering this way different detail levels according

to the area of interest, as can be seen in Figure 10. For instance, if the area that is being studied is a

section of a river, this site will most likely have a finer cell size [35].

Page 31: RiverCure Portal: Collaborative GeoPortal for Curatorship

15

Figure 10: Example of a mesh.

2.4. HiSTAV

This section presents the basic concepts and some background information regarding the simulation

tool, named HiSTAV.

HiSTAV, a high performance version of the Strong Transients in Alluvial Valleys model, is a high-

resolution simulation tool that uses a 2DH (two-dimensional horizontal) mathematical model based on

shallow-water equations featuring dynamic bed geometries and sediment transport to simulate fluvial

and estuarine flows. The possibility of forecasting an overland tsunami and the development of a

system that could assist in the decision-making process regarding water-related hazards were some

of the motivations for the creation of this hydrodynamic model [36]. One important feature of this tool is

that it can track uncoupled materials between consecutive timesteps, namely large debris, such as

vehicles and containers. This property allows detecting areas where the debris are more likely to

accumulate, thus creating a new obstacle [35]. It is important to state that this model is faster than

real-time tsunami forecasts [36].

The model uses the finite-volume discretization scheme, which divides the domain into many control

volumes (or cells) and approximates the integral conservation law on each of the control volumes [36].

This eulerian mesh-based approach was chosen to allow a proper representation of the conservation

laws in cases of discontinuities in the domain [37]. By applying this method, the numerical

discretization can interact properly with GIS tools (e.g. QGIS) [38].

HiSTAV has some additional programs (add-ons), that have the function of supporting the user when

defining the geometric entities needed for the creation of the mesh and refining them with the assist of

a GIS tool [37]. There are two types of utilities, namely for pre-processing, which includes a GIS

software (e.g. ArcMap) and the mesh refinement, and for post-processing, which consists of the

resampler and raster converter.

The ArcMap add-on is of great importance since it allows analysing, viewing, editing and creating

vector or matrix data with a more user-friendly interface. One of the features of this extension is that it

is capable of converting boundary polygons defined in ArcMap into a format compatible with Gmsh.

This work used the QGIS software, which has similar functions to the commercial tool named ArcMap

Page 32: RiverCure Portal: Collaborative GeoPortal for Curatorship

16

but, it is open-sourced. Another relevant pre-processing sub-program is the mesh refinement add-on

because it allows the user to adjust visually the refinement levels in certain locations without having to

do it for the entire domain. The mesh generator that is incorporated in the pre-processing utilities is the

open-source code Gmsh [37].

The post-processing toolkit was defined so that the integration with a GIS is functional [37]. One of the

tools is the VTK resampler which is used to interpolate flow variables (e.g. water velocity) between two

meshes. One of the advantages is that the obtained results from it can be refined and applied in the

simulation process as an initial condition. The other mechanism is the raster converter which is

responsible for the importation of HiSTAV outputs in GIS environments.

Figure 11 gives an overview of the simulation process, which normally starts with the preparation of all

the data that is going to be applied in the model through a pre-processing tool. Then, after the control

files are created, the data processing stage can start, which is the execution of the HiSTAV. Lastly,

upon obtaining the simulation output, it can be viewed in the post-processor software.

Figure 11: HiSTAV data flow schema.

To begin the simulation, it is necessary to collect and define all the data inputs that are essential for

the correct execution of the model, so that the best simulation output can be obtained. It is important

to have files stating the initial conditions, boundary conditions, physical constants, numeric and time

information. Besides the indispensable information, one can also consider other data inputs, such as

distributed conditions (e.g. radar timeseries).

A mesh is used to define the initial conditions and boundaries. To generate a mesh, it is necessary to

first define the domain and the boundary conditions using QGIS [39]. To delineate the boundary

conditions (Figure 12 a)), inlet or outlet, the boundary lines and points must be identified. Figure 12 b)

shows that each point is assigned a specific timeseries, and that each line is associated to the

parameter (e.g. flow, height) present in the timeseries. Next, the pre-processor (Figure 13 a)),

corresponding to a mesh generator tool is executed, leading to the importation of shapefiles and raster

files, such as, Digital Terrain Model (DTM), domain, obstacles and boundaries. When the process is

concluded, the outputs including the mesh file and the files with the initial conditions are saved and

become ready for the simulator tool.

Page 33: RiverCure Portal: Collaborative GeoPortal for Curatorship

17

Figure 12: a) Example of an inlet definition in QGIS; b) Boundary conditions definition.

The initial conditions are defined in two ASCII files, one contains information regarding the altimetry

and the other about the resistance.

Figure 13 b) presents the control files, which includes the physical constants, numeric and time

information, that must be prepared before the simulation. To track the diverse materials the model

uses several formulas with numerous physical constants. Some of these are general (e.g. gravitational

force) and some concern a specific material (e.g. sediment diameter). Figure 13 b) shows that there is

a “physics” ASCII file, that contains physical constants, namely the gravitational force (9.81).

a)

b)

Figure 13: a) Pre-processor running; b) Physics, numerics and time files.

Upon the definition of all the parameters, and the preparation of the input data, the HiSTAV tool can be

run (Figure 14 a)), and it will generate an output folder with several files, just like the one in Figure 14

b).

a)

b)

Page 34: RiverCure Portal: Collaborative GeoPortal for Curatorship

18

a)

b)

Figure 14: a) HiSTAV running; b) Example of a simulation output file.

ParaView5 is one of the possible software tools that can be employed for results post-processing, and

it was chosen because it is an open-sourced tool that allows an interactive scientific visualization of

the outputs obtained from the simulator (Figure 15). With this tool it is possible to see the water level

of a river over a period, for instance, allowing this way to evaluate the possibility of a flood occurring.

Figure 15: Example of a simulation result (bed elevation) in ParaView.

The strong points of HiSTAV include following features [36]: i) availability for engineering and scientific

research communities; iii) easiness of integration with open-sourced GIS platforms; iv) compatibility

with scientific visualization toolkits for data analysis.

2.5. Requirements Engineering

Requirements models, such as those defined with UML, are commonly used to produce conceptual

models, that contain the requirements of a system [40]. These models allow a much better

understanding of the information compared with descriptions written with just natural language.

5 https://www.paraview.org/

Page 35: RiverCure Portal: Collaborative GeoPortal for Curatorship

19

The document that describes the multiple technical concerns of a software system is called a System

Requirements Specification (SRS) this document is used during the whole life of the project so that the

focus of the project is not lost and to avoid misunderstandings among the stakeholders [6].

Basic Concepts

According to C.Pohl [40], Requirements Engineering (RE) is “a systematic and disciplined approach to

the specification and management of requirements, which should follow two goals, knowing and

documenting the relevant requirements, using the standards imposed; and achieving a consensus

among the stakeholders while ensuring that their desires and needs are satisfied”.

Another important concept is the process of software development which, according to A.Silva and C.

Videira [9], is a vague concept that describes a sequence of activities, grouped in tasks, that are

executed in a systematic way and from a set of entries produce a set of outcomes.

A model is defined as an interpretation of a certain problem domain according to a specific concept

structure, as stated by A. Silva and C. Videira [9].

There are three types of data models, namely conceptual, logical and physical. Conceptual models

identify the general concepts of a system, with the definition of the important entities, without detailing

their attributes or primary key. This type of model allows easier communication with the stakeholders.

A logical model is a more refined conceptual model that defines all the entities and its attributes,

primary key and foreign keys. The physical model type is associated with the implementation of a

database management system, it presents all table stereotypes, attributes, primary key, foreign keys,

constraints and relations between tables [9].

A. Silva and C. Videira [9] define requirement as a statement regarding a functionality or a condition,

which the system must attend. There are two types of requirements, namely functional, that describe

an action that should be made by the system, and not functional, that concern transversal aspects that

are normally applied to the whole system.

UML

The Unified Modeling Language (UML), is a language that allows specification, construction,

visualization, and documentation of objects in an information system. It was created in 1996 after an

attempt to unify the most significant object-oriented modelling languages at the time, namely the

Boosh, the OMT (Object Modelling Language), and the OOSE (Object Oriented Software

Engineering). In the context of the Object Management Group (OMG) in 1997, the UML version 1.0

acquired the status of standard. One of the advantages of this language is that it has extension

mechanisms which allow future modifications. Other benefits include the fact that it can be applied to

many different domains, merging many distinct diagrams from different languages, and is independent

in terms of process and of modeling tools [9]. The most recent version is the UML 2.5.16and it was

6 https://www.omg.org/spec/UML/2.5.1/

Page 36: RiverCure Portal: Collaborative GeoPortal for Curatorship

20

launched in December 2017. The model’s elements can be categorized in three groups: classifiers,

which describe a set of objects, event, that describes a set of situations which will cause

consequences to the system, and behaviour, which describes a set of possible actions that can lead to

the occurrence of events [41].

In the UML 2 there are diagrams for behavioural modelling (e.g. use cases, activity diagrams) and for

structural modelling (e.g. class and packages diagrams). In this thesis, only use cases and class

diagrams were used.

Some of the basic elements of UML representation are defined in Table 1.

Table 1: Examples of UML elements.

Diagram

type Name Representation Definition

Use

Cases

Actor

Usually, “is a representation of a person or a system

that interacts with the system” [9].

Use Case

A sequence of actions that one or more actors make in

the system to obtain a certain result [9].

System

Boundary

“Defines conceptual boundaries and helps to group

logically related elements” (e.g. use cases) [42].

Class

Class

A description of a group of objects, which consists of

structural features, also known as attributes, and

behavioural features, or operations, which define the

interaction of the objects [43].

Enumeration

“Enumerations contain sets of named identifiers that

represent the values of the enumeration” [44].

A class can be related to others, through a relationship of inheritance, association, aggregation,

composition, or dependency [43]. The aggregation association is used to indicate that an element

contains or is composed of other elements, while the composition relation is a stronger type of

aggregation, “where the child cannot exist independent of the parent” [45].

A use case diagram can have two types of relationship between use cases, namely include and

extend. The include relationship is used to incorporate the behaviour of other use case related. The

extent relation is commonly known as the can relationship since it is applied when a user sees the

case as optional or when a certain condition is met [9].

The UML element named package refers to “A collection of UML elements” (e.g. group of classes) and

it is used for organizing large systems [28]. In this work, it was applied in the class and use cases

diagrams, in order to simplify them and to assure a better understanding of the subject matter.

Page 37: RiverCure Portal: Collaborative GeoPortal for Curatorship

21

ITLingo and RSL

ITLingo is a long-term initiative aiming to research, develop and apply rigorous specification languages

in the Information Technology area, namely in technical documentation [5]. It focusses on three

subjects: Requirements Engineering, with a RSL (Requirements Specification Language); Testing

Engineering, with a TSL (Testing Specification Language); and Project Management, with a PSL

(Projects Specification Language [5]. This project will only use RSL language.

ITLingo RSL is a requirements and tests specification language. RSL is based in several languages,

such as ProjectIT-RSL [50, 51], XIS*, i*, Pohl, SilabREQ, RSL-IL (Intermediate Language) [48] and

RSL-PL (Pattern Language) [5]. The RSL-IL was applied to formally represent requirements, and RSL-

PL used to define linguistic patterns [49].

RSL is a language with the goal to improve the definition, production and documentation of

requirements specifications, making them more consistent, clear and rigorous [5]. An system

requirements specification with RSL can have distinct writing styles and requirements types, such as

business goals, systems goals, functional requirements, user stories and use cases.

RSL is supported by ITLingo-Studio, i.e. an Eclipse-based tool [50]. ITLingo-Studio allows to import

Microsoft Excel files, PlantUML diagrams and can export to Microsoft Excel and Word. Also, it can

create UML Use Case Diagrams, UML State Machine Diagrams, UML Class Diagrams, UML

Behaviour Diagrams, UML Sequence Diagrams, and SysML Requirements Diagrams. These diagrams

will be stored in a special folder, containing a text file with the corresponding PlantUML specification

[51].

Most of the errors that occur in the process of SRS’s creation are due to the use of natural language,

although this is still the best option to specify requirements [10]. Thankfully, one of the features of the

ITLingo-Studio is that it can import an Excel file to validate the requirements. Although the quantity of

errors lowers with this tool compared with others, there are still mistakes, so human validation is

needed.

Figure 16 shows that this approach has two different levels: a process level, that consists in the

conversion of information from the RSL-PL format to the RSL-IL format, and a project level, which is

dedicated to writing the requirements specification in a natural language.

Throughout the whole process, the Requirements Engineer and the Business Stakeholder are the two

major participants. They have distinct roles: the first one acts as a facilitator with the business

stakeholder, so that the best requirements can be found, and the process takes less effort. The

second player, in turn, is essential to develop a proper project, since it is a major source of information

and an excellent evaluator of requirements in order to validate them. Together, they are responsible for

the textual inputs (Ad-hoc NL, Requirements Specs and Glossary) [52]. RSL was implemented with

the Xtext framework, with the intention of being able to be modified into several formats and

representations for the specifications, but also to validate them automatically [5].

Page 38: RiverCure Portal: Collaborative GeoPortal for Curatorship

22

Figure 16: Overview of the RSLingo's process (adapted from [52]).

The RSL constructs are classified according to two standpoints [5]: Abstraction Level and Specific

Concerns. The first one includes Business, Application, Software and Hardware. Consequently, the

second perspective is composed by the active structure, passive structure, requirements, tests,

relations & sets and other concerns, as it can be seen in Table 2.

Table 2: RSL constructs’ classification [5].

A GlossaryTerm can be defined as a noun, verb, adjective or adverb in the RSL. It also allows setting

possible synonyms and acronyms. Besides that, it states the possible applications of the terms, which

can be to Stakeholder, System, Actor, DataEntity or Other. A description and the relation between

terms can also be added to the term definition.

In the RSL, there are six types of stakeholders: Organization, OrganizationalUnit (applied to

departments of companies, for example), Team, Person, System (it can be sub-categorized as internal

or external) and Other. The ITLingo-Studio also allows users to indicate if a stakeholder is part of

another stakeholder (e.g. a person works for a company) and if they are a special type of stakeholder

(e.g. a systems administrator is a user).

The RSL allows to classify an actor as a user, an external system or a timer, and to state the

stakeholder associated (optional).

Page 39: RiverCure Portal: Collaborative GeoPortal for Curatorship

23

A DataEntity is an “individual structural entity that might include the specification of attributes, primary

keys, foreign keys and other check data constraints” [5]. A primary key is one or more attributes that

are able to identify univocally an object [9]. A foreign key is one or more attributes that identify a

relationship between different entities [53]. There are five types of DataEntities in RSL [5]:

1- Parameter (To define functional or behavioural parameters. Data that is composed by just one

item and where the attributes are values for settings);

2- Reference (Simple data in a small quantity, for example, postal codes);

3- Master (Data assets of the business, such as people, places and concepts);

4- Document (Operational data of the business, with a complex structure);

5- Transaction (Operational data of the business, for instance, balances).

If a DataEntity depends on another entity, this means that its sub-type is “Detail”. However, if it has its

relevance and identification one considers that the sub-type is “Master”. Each entity has attributes

attached to it and each one has a name and a type connected. It can also have its multiplicity explicit,

values, default values and several properties, such as, if it is not null (isNotNull), unique (isUnique),

encrypted (isEncrypted) or to read only (isReadOnly).

The DataEntityCluster is a cluster of several structural entities that presents logical arrangements

among themselves. Each cluster has several entities, each with their specific role. All clusters must

have one “master” that is the main entity if it a simple cluster beside the master it also must have at

least one “reference” (represents an entity that depends or is used by the main one). A complex

cluster has to have a master entity and at least one “detail” entity (represents a partOf or a child

DataEntity) [5].

To characterize a use case, in RSL, some additional aspects can be defined, such as [5]:

- Use case type (e.g. EntityDashboard, EntitiesManage, EntitiesInteropExport,

EntitiesMapInteract);

o EntityDashboard – “Dashboard and data analyze based on a dataentityview's item”;

o EntititesManage – “Manage (CRUD operations) dataentityview's items”;

o EntitiesInteropExport – “Export dataentityview's items to an external data source”;

o EntitiesMapInteract – “Show dataentityview's items as a geographical layer supported

by GIS technology and supporting some interaction features (e.g., zoom-in)”.

- DataEntityCluster to which is applicable;

- The actor that initiates the action (obligatory) and actors that participate in it (optional);

- Preconditions and/or post-conditions that must be fulfilled;

- Actions that can occur (e.g. Search, Create, Read, Delete, Cancel);

- Relationships with other use cases, using either the “include” or “extend” relation.

Page 40: RiverCure Portal: Collaborative GeoPortal for Curatorship

24

3. Bibliographic Review

This Chapter presents an overview of some articles and related work regarding water resources, in

Section 3.1. In turn, Section 3.2. describes previous work on requirements engineering. Section 3.1.2

and 3.2.2 overview and discuss the topics approached in Section 3.1 and 3.2, respectively.

3.1. Water Resources

Water is such an important resource for humanity, which makes its management of the utmost

importance. To manage it correctly, efficiently and sustainably, many systems, models and standards

were created. Each one has different characteristics, domains and goals, such as allowing the

population to access certain data and being able to perform simulations with the data available on the

system.

General Aspects

N. Charneca in [27] presented the process of development and implementation of a geographic data

model that supports the planning and management of superficial water. This takes into consideration

all the technical requirements and legal rules, national and international, such as Infrastructure for

Spatial Information in the European Community (INSPIRE)7, ISO 191038, ISO 191099 and the Water

Information System for Europe (WISE)10. The project had four stages: i) Identification of relevant rules

and specifications regarding geographical information; ii) Definition of the conceptual model; iii)

Development of the application model; iv) Implementation of the physical data model. Since the

project is object-oriented, the objects are linked to each other and grouped in classes, in which they

have their own attributes. In this work the UML language was applied to develop the data model, the

GML language was researched to check the viability of using it to describe several object categories,

and the WaterML was analysed as a possible specification for the development of the UML classes’

diagrams of the application model. The geographic data model developed in this thesis allowed to

represent physical objects coherently, validate tools for planning water resources scenarios, share

data regarding the management of water resources and create a single data repository, since the

legal, functional and technical requirements were merged.

A. Almoradie et al [14] tested the viability of publishing datasets related to water resources on the web

using the WaterML 2.0 - GeoServer, a combination of the WaterML 2.0 standard and the

Commonwealth Scientific and Industrial Research Organization’s (CSIRO) GeoServer Web Feature

Services (WFS). The original server has the advantages of being open-sourced and re-configurable.

By simply installing plug-ins, for updating schema files (e.g. WaterML 2.0 structure), servers’

7 https://inspire.ec.europa.eu/ 8 https://www.iso.org/standard/56734.html 9 https://www.iso.org/standard/59193.html 10 https://water.europa.eu/

Page 41: RiverCure Portal: Collaborative GeoPortal for Curatorship

25

properties and database structure, the WaterML 2.0 - GeoServer was created. The data is structured

in four parts in this framework: timeseries, geographical information and geometry, details from the

data provider, and stations’ details. A case study was used to demonstrate the system with data from

the Somes Mare basin in Romania. A web-based Flood Information System (FIS), called Some Mare

FIS Portal, was created using the WaterML 2.0 - GeoServer, allowing the access to flood information,

the participation of citizens, by discussing related issues and reporting floods, and raising awareness

to flood risk management. This portal has many components, such as, the “Data Access” component,

which contains spatial and timeseries data, and the “Hydrometeorological Data”, that leads to a map-

based interface (using Google maps, in this case) that shows the monitoring stations and their

information regarding precipitation, discharge or temperature. The downside of this implementation is

the vast quantity of configurations needed to reach the functionalities.

The Sava GIS Geoportal is a web application for sharing data regarding water resources and water

management in the Sava River Basin [54]. It contains a metadata catalogue that is responsible for

“finding, analysing and using datasources of spatial data” [54]. This platform has an interactive map

with several layers that contain different types of information regarding river basin management, flood

risk management, hydrological data and meteorological data. This platform can interoperate between

open sourced (e.g. PostGIS or GeoServer) and proprietary software (e.g. ArcGIS) since it follows open

industry standards and protocols, which is a major advantage. There are five types of users defined,

including the public users which can export areas of the map, view public spatial data, attributes and

features without login in. The International Sava River Basin Commission (ISRBC) WebGIS Viewer is

able to view and download data from the Sava Web GIS module, and the ISRBC WebGIS Editor can

view, upload and download a restricted set of data defined according to a specific country. The ISRBC

Metadata User can view, upload (e.g. GML format) and download metadata in several format focusing

on attribute (e.g. WaterML 2.0) or spatial (e.g. GML2) data. However, the metadata user’s permissions

can be restricted in terms of data access, which can be limited to a specific set from a specific country,

and according to the specified user role specified. The administrator is responsible for managing the

users, which includes the definition of the users’ permissions on the geoportal. Connected to this

geoportal, there is another webpage, named Sava HIS, which is a portal that presents on an

interactive map real-time data acquired from hydrological and meteorological stations from the Sava

river basin [54]–[56].

The Iowa Flood Information System (IFIS) is an online platform that allows checking the weather,

flood inundation maps, real-time flood conditions, flood forecasts, flood-related data, information,

applications and interactive visualizations for the population [60]. Several system requirements were

defined, including the fact that the platform must be user-friendly, interactive, accessible through many

different devices and it must not require technical skills or external applications. Data in real-time, from

500 stream sensors and from different organizations, is collected every 15 min, saved for 10 days and

available on the web-platform. Four flood levels (action, flood, moderate flood and major flood) with

different colours are associated with these sensors and are triggered when the values registered

values are higher than the threshold defined by the National Weather Service and the Iowa Flood

Page 42: RiverCure Portal: Collaborative GeoPortal for Curatorship

26

Center. The system is also able to present graphs of the time-series from the last six days and present

interactively the data from the last ten days. Data from rainfall is acquired by Weather Surveillance

Doppler Radars and it can be visualized in the portal. Every twenty minutes hydrological models are

run, and the results are uploaded to IFIS, providing this way several flood inundations scenarios and

an hourly prediction of the stream conditions. An important aspect of this portal is the definition of a

basin boundary which includes the rivers and the communities that are located near streams. One

major advantage of this system is its adaptive capability and integrated structure, which allows the

system to be applied to other geographical areas and different environmental domains. With this

platform, the users are able to monitor the community for floods through a single webpage, creators

are encouraging the data exchange and collaboration, and decision-makers can make more informed

decisions, with the help of real-time data and forecasting models [57]–[59].

The Hydrologic Engineering Center Data Storage System (HEC-DSS) by the US Army Corps of

Engineers is a database system that stores data, especially sequential data (e.g. timeseries). This

system has an MS-Excel add-in that permits to read and write regular interval timeseries and supports

modelling software, such as the HEC-HMS [60]. To be able to visualize and alter the data in this

database, a program named HEC-DSSVue is used, allowing this way to edit data sets and to obtain

graphs, for example. One of the features of the HEC-DSSVue is the ability to add plug-ins, which for

instance support retrieving data from other databases and importing data from MS-Excel files or

WaterML document [61].

The CUAHSI HIS was developed with the intent to provide web services, tools, standards and

procedures to improve hydrologic data analysis and access. An internet-based system was created,

allowing different entities to share hydrologic data, by using web services to connect servers and

databases to applications that allow the publication, search and access of data. This system is

composed by three types of computers: i) HIS Central: functions as a catalogue that contains the

metadata associated with the time series, which is linked to the owners’ server, ii) HydroServer: saves,

organizes and publishes data, iii) Client (e.g.HydroDesktop): an interface to access the data, collecting

metadata from the HIS Central and data from the HydroServer. The HydroServer has several

components, such as the WaterOneFlow Web Services, that allow access to the ODM Database via

the web, and some parts of the ODM model (e.g. ODM Database, ODM Tools and ODM Data

Loaders) [62].

The ODM by CUAHSI [3] is a relational database schema that aims to store and retrieve water data,

specifically time series of observations acquired from experimental sites. The data stored from

observation points is saved and associated to its metadata, which is composed by date, time, variable

name, location, units, interval, offset (distance between the reference point and observation point),

reference point, data type, organization (the entity that provides the measurement), data qualifying

comments (can be helpful when interpreting it), analysis procedure, source, sample medium, quality

control level and value. Although this model saves data for individual nodes and links, it does not allow

users to relate them [63]. Tools can be associated, allowing users to export data and metadata, to

visualize the data in plots, to modify data, to edit the controlled vocabulary and to use web services.

Page 43: RiverCure Portal: Collaborative GeoPortal for Curatorship

27

WaterOneFlow (WOF) is another product from CUAHSI HIS, corresponding to a web service that

aims to transmit and receive information from other computers via the web, using applications. It has

four main functions: GetSiteInfo (returns the metadata of a specific site), GetSites (returns the

metadata of the several sites requested), GetVariableInfo (returns variable’s information) and

GetValues (returns a specific time series) [28]. Several applications allow importing data directly to

their systems, such as MS-Excel, Matlab and ArcGIS. This web service can be used to access the

ODM Database, but also other remote repositories of observation data [28]. It is important as well to

highlight that WOF is used in the HydroServers and consequently, its metadata is also linked to the

HIS Central, by being part of the central’s catalogue.

A. Abdallah and D. Rosenberg [63] state that there are many data systems/models, such as the HEC-

DSS, Hydra Platform, Arc Hydro, Observation Data Model (ODM), MS-Excel, Water Evaluation and

Planning System (WEAP) and RiverWare. However, they do not fulfil all the requirements. For

instance, some allow network connectivity and others do not. To solve the problems that these

systems/models have the authors proposed the creation of a generalized data model, named the

Water Management Data Model (WAMDaM). This model will “help organize, join, compare and

analyze multiple water resources, datasets and models”. The authors defined eight requirements for

the database to be successful: it must have an extensible design allowing to aggregate several model

types and reuse the components of the systems as data objects, which means that a value of an

attribute can be shared with many water resources systems components, for example. It also must

allow the representation of networks of nodes and links that will help to search for systems

components. The model should create scenarios in order to cover possible changes, physical,

operational or social-economical and it enables the users to add comments so that the components

are easier to comprehend. The fifth requirement that the developers of the model took into

consideration was the possibility to save and define distinct types of data (e.g. time series, multi-

attribute, numeric, categorical values, seasonal parameters) and the sixth refers to the need to control

the vocabularies. The seventh states that the data and metadata must be accessed directly, this

allows the users to load and retrieve subsets of data and the last requirement is the implementation

using open-source software tools. This last aspect will possibly lead to an easier process of further

development of the model. Upon the implementation of the previously stated requirements, the model

was demonstrated using thirteen different datasets and models. In the end, after implementation, the

proposed model unified data in terms of format, structure and vocabulary of fifteen attributes from six

different sources.

Discussion

The papers presented in the water resources section describe several data models/systems, which

have distinct features. Some of the features are present in more than one system, which reflects their

importance and the impact of the benefits associated.

Many systems allow the association of other tools, systems or applications, which allows adding new

features, that can improve the service provided and the users’ experience. For instance, HEC-DSS

Page 44: RiverCure Portal: Collaborative GeoPortal for Curatorship

28

allows adding HEC-HMS as an extension, which allows the user to use a simulate a scenario using

the data in the database.

The ability to present real-time data acquired from monitoring stations is a feature of the Sava GIS

Geoportal and IFIS systems have. With this feature available it is possible to better forecast floods and

to manage water resources more efficiently.

HEC-DSS and IFIS are able to support simulation scenarios, which is an important feature because it

can help define proper plans to mitigate the consequences of a flood and prevent major

consequences in the communities.

Throughout the several papers, the importance of the vocabulary used and the application of

standards in the different systems and models are stated. The WaterML and the ODM were the ones

referred for standardizing terms, despite the similarities, they are not equal. Detailed information, such

as source information is included in the WaterML and not in the ODM [28]. By following a standard, it

becomes must easier to understand a system, to interoperate between software and to improve the

system.

Both, the IFIS and the Sava GIS Geoportal provide tools that allow the public to analyse and visualize

data regarding water resources, which can bring major benefits, such as raising a higher level of

awareness among the population regarding floods, namely, its risks and consequences.

The open-source feature is present in many of the models and systems that are previously shown,

which proves that its benefits have an impact on the systems developed and consequently on the

scientific community. This feature will allow raising more awareness to the topic, namely by allowing

faculty students to use these systems and to facilitate discussions regarding the systems, improving

the system/models faster [64].

The CUAHSI HIS, by allowing the combination of the different products such as web services, tools,

standards and procedures, was able to provide more consistent hydrologic data, making the process

of data discovery and analysis between many sources more efficient and accurate [64].

3.2. Requirements Engineering

There are several languages and tools that help specify the requirements of the systems, each with

different levels of formality and rigor. A model can be defined using either a general-purpose modeling

language or a more requirements-specific modeling language, examples of the two types of modeling

languages are presented in this section.

General Aspects

Systems Modeling Language (SysML) by OMG is a general-purpose modelling language used for

solving systems engineering problems [65]. SysML uses UML 2.5 as a base for its structure and gives

extensions to connect to UML, which brings a benefit, it facilitates the communication between

different stakeholders (e.g. system and software engineers). The level of formality, rigours and

Page 45: RiverCure Portal: Collaborative GeoPortal for Curatorship

29

understandability are due to the combination of the UML with a precise natural language [65]. The

basic unit of the SysML structure is the block, which can be utilized in diagrams to represent hardware,

software, personnel, facilities and other system elements. This language has three main types of

diagrams, behaviour, requirement and structure diagram. Besides those diagrams exist others that

present some modifications compared to the UML 2 diagrams, such as, the activity diagram, which is

included in the behaviour diagrams, the block definition diagram, which represents the system

hierarchy and classifications, and the internal block diagram (defines the internal structure of a

system). New diagram types are possible to be developed in SysML, such as, requirement diagram,

which allows connecting classical requirements management tools and system models, and

parametric diagram, which is a special type of internal block diagram that represents the system

constraints, like the performance and reliability. Rational Rhapsody11, Eclipse Papyrus12, Visual

Paradigm13 and Sparx Enterprise Architect14 are some of the tools that can be used to model in SysML

[66, 67].

A. Alanazi et al in [15] present the importance of the implementation of Requirement Modeling

Language (RML) in system engineering projects, like a CubeSat system. RML is a language used by

executive, business and technical stakeholders since it is designed to visually model requirements and

it is focused on the project’s goals. It has four types of models: objective, system, people and data.

The fact that functional and non-functional requirements can be described in the objective models

allows a better interpretation and elicitation activities. The object of this case study, the CubeSat, is a

miniature satellite that orbits Earth at a low altitude, and it can be used to observe the atmosphere, to

track space debris and to detect gamma rays or magnetic fields. To manage the requirement model, a

tool was used, the Requirement Mapping Matrix (RMM), which is an RML objective model that can

show graphically the systems requirements and business rules. This tool allows to ensure the project

progress and to validate and verify all the requirements. The use of the RML in the CubeSat project

was important to identify the requirements missing, the ones superfluous and which ones should be

prioritized. Moreover, it may improve the quality of requirements, since all the types of stakeholders

will comprehend each other and the models much better during the process of defining the

requirements.

According to A. Chen and J. Beatty [67], the RML has models that connect the requirements to the

business value and models that show the system from the end-user perspective, which the UML does

not have. Besides that, the RML is simpler to embrace by a business stakeholder compared with UML,

since its models are not configurated for the definition of the software structure.

A. Silva and L. Gonçalves [50] proposed to help organizations plan and be aware of security concerns

from the starting point so that costs can be reduced and mistakes avoided. Catalogue4CyberSecurity

is the name of the proposed RSL, which has followed the Common Criteria for Information Technology

11 https://www.ibm.com/products/systems-design-rhapsody 12 https://www.eclipse.org/papyrus/ 13 https://www.visual-paradigm.com/solution/uml/sysml-modeling-tools/ 14 https://sparxsystems.com/

Page 46: RiverCure Portal: Collaborative GeoPortal for Curatorship

30

Security Evaluation standard, assuring this way that the process of specifying, implementing and

evaluating was done rigorously. This work presents an existent RSL language that can specify

different types of requirements, such as quality requirements and user stories, and security-specific

constructs, for instance, vulnerabilities and threats. Moreover, it developed a catalogue of security

concerns, by grouping several packages with reusable specifications [68].

Discussion

Several languages were approached in the previous Chapter and after analysing them it can be said

that there are two types of languages, the general-purpose (UML and SysML) and the requirement

specific (RSL and RML). The UML is normally used in software engineering, the SysML in system

engineering and all the requirement-specific languages are applied in requirements engineering. RSL

can describe the constructs (e.g. use cases) in detail, which includes sub-classifying them and

indicating the relations between them. This level of construct specification is not applied to the UML

and SysML and it is a highly important aspect since it allows the specification to be more rigorous and

to prevent possible miscommunications between stakeholders. Even so, the RML has some

constructs and types of models, that can be found in UML or SysML, it is a less rigorous and precise

than RSL, UML or SysML, according to A. Silva [5]. The graphical representation is used in the UML

and SysML languages, and it has some advantages. Namely, it provides a faster understanding of the

initial phase of the requirements definition process. However, it can be quite confusing if there are

many components specified or if the model has several elements. Some of these languages can be

too complex for a business stakeholder since they require technical knowledge. This fact can

discourage organizations to embrace these languages.

Page 47: RiverCure Portal: Collaborative GeoPortal for Curatorship

31

4. Related Systems

To better understand the specifications of the RiverCure portal it is important to present the SNIRH

and SVARH specifications since the SVARH is one of the main inputs of the RiverCure system. The

specifications of HiSTAV are also presented in this project since this tool will be integrated into the

portal.

This section is divided into two sub-sections: SNIRH and SVARH (section 4.1), and HiSTAV (section

4.2). In each sub-part it is presented the glossary, stakeholders, actors, data entities and requirements

of the corresponding system, using RSL language. Some UML diagrams were also created in order to

represent the data entities and the requirements. The diagrams allow a quicker understanding of the

model compared with the RSL specification, but it presents fewer details. To understand in-depth the

data entities, the RSL file must be consulted.

4.1. SNIRH and SVARH

In this section, it is presented the glossary with some of the terms of the system, the stakeholders, the

actors, the data entities and the requirements using RSL language. UML diagrams regarding the data

entities and requirements of these systems are also presented in this section.

To be able to achieve some conclusions regarding these systems, some assumptions had to be made.

1- The SNIRH system was responsible for all the maintenance of the stations. Even so, the

SVARH uses stations that require maintenance, those stations are also included in the

SNIRH. Note that a station is a place that allows making certain observations/measurements

through a set of sensors, which measure different parameters.

2- Datalogger, the system that records the data capture by the sensors, is a sub-system of

SNIRH.

3- The GFiltro software, which is responsible for converting ASCII files and upload them into the

database [24] is used for every type of station (with or without GSM) in the SNIRH.

Glossary

A glossary was developed to define the terms used in the systems, in order to avoid communication

misunderstandings. Since different systems can have different understandings of the same concept.

In these systems, the glossary defined is very similar since the SVARH is considered a sub-system of

the SNIRH system.

Most of the definitions of the concepts presented on the model were based on APA’s glossary.

However, it is important to state that the terms and their definition on the website were written in

Portuguese, so they had to be translated into English.

Page 48: RiverCure Portal: Collaborative GeoPortal for Curatorship

32

Hydric terms had to be defined, such as flow, parameter, hydrological station and meteorological

station. Other terms related to the system also had to be described to comprehend the model, namely

the term user, public viewer, restricted user and system administrator. Some of these terms are

described in Specification 1 using RSL.

Specification 1: Partial specification of the SVARH's glossary.

Stakeholders

Defining the stakeholders is an important step when developing systems since they can impact the

system or/and be impacted by it. By allowing to associate the stakeholders with the business goals

and the actors, the project can be understood in a more detailed way.

In both systems, there is a user (that has a username and a password to enter the system). This

person can be a system administrator or a restricted user.

A system administrator has the same responsibilities in both systems, such as, to manage the

stations, to manage the users and to manage the database. The restricted user in the SNIRH refers to

the regional environmental authorities and on the SVARH represents the civil protection users, fire

department users and regional authorities’ users, who have limited access to the information. This

means that civil protection and fire departments are stakeholders.

APA is the most important stakeholder since it owns the systems. CPPE and CHT are also

stakeholders in both systems as a result of providing data to the SNIRH and SVARH. These last two

entities have a person that is responsible to communicate with the systems, so it was necessary to

create two new stakeholders, CHT’s responsible and CPPE’s responsible, as it can be seen in

Specification 2 and Specification 3.

Some of the stations do not communicate directly with APA’s central, so a maintenance company is

required and consequently, a technician, that must go to the field to collect the data. Therefore, the

technician and the maintenance company must be considered stakeholders in the SNIRH system, so

they are featured in Specification 2. Since the SVARH’s system only uses data collected in real-time,

they are not considered stakeholders of this system.

Page 49: RiverCure Portal: Collaborative GeoPortal for Curatorship

33

Specification 2: SNIRH stakeholders in RSL.

For the systems to function properly they require access to some external applications, such as INAG

32, INAG SIF (only used in SNIRH), GFiltro and Geolog. In Specification 3 can be seen that Rios is an

internal system of SVARH.

Specification 3: SVARH stakeholders in RSL.

Actors

In this Chapter, 4.1.3, the actors of the related systems are presented using RSL since this language

allows defining the actors in detail by stating the type, the stakeholder associated (if there is any) and

if it is linked to another actor (by using isA).

Specification 4 presents all the actors involved in the SNIRH system and the corresponding

stakeholders’ names. Each actor is responsible for either initiating or participating in a use case. The

system administrator is considered a user since it has an account on the system.

Page 50: RiverCure Portal: Collaborative GeoPortal for Curatorship

34

Specification 4: SNIRH actors in RSL.

The sub-system datalogger has five actors, two of the users (system administrator and maintenance

technician) two external systems (GFiltro and Geolog software) and a timer that it is responsible for

sending data periodically to APA.

By analysing the Specification 5 it can be seen that the system administrator and the restricted user

are both considered users. The users from CPPE, CHT and civil protection were defined as restricted

users. Rios software was defined as a user since it is a major part of the SVARH system. Two timers

were specified, one for when the alarm level is reached in a station and other for when the data from

the stations is received.

Specification 5: SVARH actors in RSL.

Note that not all the stakeholders are actors and not all actors have a stakeholder associated (e.g.

aT_AlertLevel).

Data Entities

In this section, the data entities of the SNIRH and SVARH will be presented either using RSL or UML

class diagrams. Due to space constraints, only the most important specifications are shown in Chapter

4.1.4 and the others are presented in the annexes.

To better comprehend the SNIRH’s data entities four UML class diagrams were made (Basin,

Location, Station, User), instead of just one with all the entities. The same procedure was applied to

SVARH, dividing it into five packages, Station, Location, Alarm, User and Basin.

Specification 6 shows the DataEntities in the SNIRH’s basin package, the aquatic environment data

entity allows characterizing rivers, by stating some of its attributes, such as the name, the name of its

basin and the length of it. A station is associated with a specific aquatic environment.

Page 51: RiverCure Portal: Collaborative GeoPortal for Curatorship

35

Specification 6: RSL specification of SNIRH DataEntities: Aquatic Environment.

As seen in Figure 17, the SVARH’s basin package is structured differently compared with the one in

the SNIRH system. In this case, the basin data entity is composed of a group of stations and it is

linked to one main river and many effluents.

Figure 17: UML diagram of SVARH DataEntities: Basin package.

Page 52: RiverCure Portal: Collaborative GeoPortal for Curatorship

36

The data entity station in SVARH states the name, code and the actual state of the station if it is online

or offline. Figure 18 shows a class diagram of the main data entities associated with the station

concept, such as sensor, data log and station type. According to the diagram, a station is composed of

many sensors that can record several data logs. The attributes of the data logs vary according to the

type of station except for the date, time and the total number of values presented. For example, a data

log from meteorological station presents data regarding the precipitation and the wind velocity.

Figure 18: UML diagram of SVARH DataEntities: Station package.

Figure 19 displays the schemas of a dam and a hydrometric station in the Rios application, which

support some of the data entities and attributes presented in Figure 18. Namely, the attributes

associated with the different types of stations and the names of the stations downstream and

upstream.

Page 53: RiverCure Portal: Collaborative GeoPortal for Curatorship

37

Figure 19: Example of a station in a dam and a Hydrometric station in Rios [24].

From Figure 20 is possible to understand that the data entity “Sensor” from SVARH can have many

limit descriptions associated and that its attributes differ according to the type of station. Furthermore,

it can also be seen that a sensor can only have three alerts, with three different colours, names and

limits. The basins and the districts have an attribute that is the “Alarm state” since they present the

alarm level of the stations assigned to each area. For instance, if the alarm of the station Ponte de

Águeda is red, the Vouga / Ribeiras Costeiras basin alarm is also red. Figure 21 corroborates the

alarm definition and the limit description data on the diagram elaborated in Figure 20.

Figure 20: UML diagram of SVARH DataEntities: Alarm package.

Page 54: RiverCure Portal: Collaborative GeoPortal for Curatorship

38

Figure 21: Station definition in Rios editor.

As seen in Figure 22, SNIRH station data entity has five attributes, name, code, network type, status

and if it has teletransmission. The location of the stations defined specifies the XY coordinates,

latitude, longitude, parish, municipality and district. One location has only one station, but a parish can

have many stations.

The description of the location of a station in SVARH presents fewer details compared with SNIRH

since it only states the municipality and the district that it is located (Figure 20).

Figure 22: UML diagram of SNIRH's DataEntities: Location package.

A station has an entity responsible for it that is linked to several users, as it can be observed in Figure

23. The “User” data entity states the name, contacts, password, username and if it is an administrator

or not.

Page 55: RiverCure Portal: Collaborative GeoPortal for Curatorship

39

Figure 23: UML diagram of SNIRH's DataEntities: User package.

The SVARH data entities related to the user are present in Specification 7, such as the group, which

allows characterizing groups of users, like a group for the Tejo basin or the Alentejo region, and the

user settings, which allows defining certain attributes of the system, namely the view of the initial

page. By analysing the specification, it can be concluded that the user settings have two data entities

related to it, the visualization mode and the connection mode since it specifies that “isA e_UserSet”

which indicates that a generalization relationship is used. The data that the user can access and the

ability to edit data are also known as the users’ permissions and are defined according to the basins or

districts in the data entity “User”.

Specification 7: RSL specification of SVARH DataEntities: User.

Figure 24 shows some of the settings that a user can define in its account, as the view of the initial

page, the interval of time between backup copies and the types of stations that the user wishes to

view. These settings are specified in RSL in the Specification 7 in the data entities “e_UserSet”,

“e_VisMode” and “e_ConnectMode”.

Page 56: RiverCure Portal: Collaborative GeoPortal for Curatorship

40

Figure 24: User preferences in Rios.

From Specification 8 is possible to observe the DataEntityClusters of SNIRH, namely the

“ec_station_simple” and the “ec_station_complex”, in which the only difference is that the complex has

the “e_S_Location” specified as a detail.

Specification 8: RSL specification of SNIRH DataEntityClusters.

The DataEntityCluster “ec_Alarm” and “ec_Station_Sensor” of the SVARH system, represented in

Specification 9 in RSL, are illustrated in a UML class diagram in Figure 20 and Figure 18.

Specification 9: RSL specification of SVARH DataEntityClusters.

Page 57: RiverCure Portal: Collaborative GeoPortal for Curatorship

41

Requirements

There are several requirements types, such as goals, functional requirement, constraint, quality

requirement, use case and user story [5]. However, this thesis focuses only on the use case

requirement type.

Due to space constraints, some of the specifications in RSL are presented in the annexes and the

ones shown in Chapter 4.1.5 only a few are expanded.

Since part of the SNIRH system is open to the public, the public viewer can consult certain contents,

such as documents, photos, graphs, reports and flow curves related to the station selected by the

user. The public viewer can even print or export data from a station, as it can be observed in

Specification 10. It is also publicly available on the SNIRH webpage the definitions of the terms used

in it. The restricted user inherits all the use cases associated with the public viewer and the system

administrator also acquires the ones associated with the restricted user.

Specification 10: RSL specification of SNIRH UseCases: Public viewer.

However, for all the information formerly stated to become available on the webpage, several actions

must be executed previously by the System Administrator. To acquire data from a station with

teletransmission the system administrator must inquire the stations, otherwise, the data must be

obtained from the maintenance server. In Figure 25 it is possible to observe all the SNIRH use cases

related to the data recorded by the stations. The use case “Process data” includes three other use

cases, “Validate data”, “Convert data”, and “Upload data to the database”. Besides, the actor that

initiates these use cases, aU_SysAdmin, the last two referred use cases also have actors that

participate on it, the INAG 32, INAG SIF and GFiltro, which are the external systems used to fulfil the

task.

Page 58: RiverCure Portal: Collaborative GeoPortal for Curatorship

42

Figure 25: UML diagram of SNIRH UseCases: Data package.

From the Specification 11 is possible to perceive that the four main use cases present in SVARH are

the same as the ones in the SNIRH system (Figure 25), “Acquire data”, “Process data”, “Release data”

and “Analyse data”. Despite that, the SVARH system has much fewer use cases compared with

SNIRH, because it does not download data from the maintenance server, make monthly reports,

validate or supplement data. The use case “make automatic calculus” is trigger by the actor

aT_DataReceived, which is a timer, and it is executed by Rios software.

Page 59: RiverCure Portal: Collaborative GeoPortal for Curatorship

43

Specification 11: RSL specification of SVARH UseCases: Data.

The Rios software allows the user to make graphics based on the acquired data from the stations and

the interval of time selected, as it can be seen in Figure 26, which means that is a use case initiated

by the system administrator (Specification 11).

Figure 26: Example of a graphic in Rios [69].

Figure 27 illustrates the SVARH use cases regarding management tasks, in which the system

administrator is considered an actor involved. The “manage communication with the civil protection”

use case employs the include relation to indicate that help to interpret data must be provided to the

civil protection responsible. As previously stated, APA uses a script to import information from CPPE

and CHT, and sometimes it may require an update in order to function properly. So, an extended

relation was used to connect the use case “Edit script” with the “Manage communication with CPPE”

and the “Manage communication with CHT”. The management of the users is executed by the system

administrator, which includes adding, deleting, editing the user accounts, namely, the users’

permissions. The Rios software is used by the system administrator to manage the stations, which

includes the management of the alarms and it can include the definition of the parameters and

Page 60: RiverCure Portal: Collaborative GeoPortal for Curatorship

44

historical limits. Extension point “Send alarms” is initiated by the actor “aT_AlertLevel”, which is a timer

set to get triggered when an alarm level is reached, and it also has the participation of aS_Geolog,

which is the system responsible for the process of sending the alarm notification.

Figure 27: UML diagram of the SVARH UseCases: Manage package.

SNIRH use cases regarding the management of the system are quite similar to the SVARH use cases since it

also manages the communication with the partners, users and the stations. To manage the stations more

efficiently, they are divided into groups and assigned to an APA technician. Unlike the SVARH, the management

of the stations does not include the management of the alarms, since they are not included in this system.

4.2. HiSTAV

For this work, it was assumed that the pre-processor is a sub-system of HiSTAV and that it is

considered an internal system of the simulation tool.

The glossary, stakeholders, actors, data entities and requirements were written using RSL language to

assure that the system would be rigorously defined. The data entities and requirements were also

written in UML, so that a domain expert could understand the system more quickly.

Page 61: RiverCure Portal: Collaborative GeoPortal for Curatorship

45

Glossary

The HiSTAV uses terms related to a certain subject, such as simulations and GIS. Specification 12

presents some of the HiSTAV terms and its definitions, which are written in RSL using the ITLingo-

Studio.

Specification 12: Partial specification of the HiSTAV glossary.

In this tool, a user was defined as someone that has access to the system and can run a simulation.

There is a special type of user, the system administrator, which is responsible for updating the

executable file of the simulation tool.

Stakeholders

This system was developed by IST members and sponsored by the Fundação para a Ciência e

Tecnologia (FCT). The Instituto Português do Mar e da Atmosfera (IPMA) and the APA are the two

main partners, they provide most of the data for the system. So, all these entities are key

stakeholders. In order to have a good flow of communication between the system and the partners, an

individual at each partner was selected to facilitate it (Specification 13).

For the simulator model to work the data must be prepared properly, to achieve that the Pre-processor

should be run previously. To define certain data, such as the inlet and outlet cells, the user may use

QGIS to visualize it. ParaView is the software used to visualize the results obtained from the HiSTAV.

These are the three systems involved in the HiSTAV, making them important stakeholders.

Page 62: RiverCure Portal: Collaborative GeoPortal for Curatorship

46

Specification 13: HiSTAV stakeholders in RSL.

Actors

In the HiSTAV system, it is only defined one user since the system administrator it is also considered a

user. The difference between the actors of system HiSTAV (Specification 14) and the Pre-processor is

that one requires the external system ParaView and the other the QGIS, respectively.

Specification 14: HiSTAV actors in RSL.

Data Entities

HiSTAV data entities will be presented either using RSL or UML class diagrams. Due to space

constraints, only the most important specifications are shown in this Chapter and the others are

presented in the annexes.

HiSTAV pre-processor uses several different files as an input to run, the types of files (e.g. Vector,

Raster) and their subject-matters vary according to the available information. For instance, in some

cases, it is possible to obtain a digital surface model (DSM) of the area and on others, the only option

accessible is a DTM with low resolution.

For this specification, it was assumed that the user was able to obtain files stating the buildings and

obstacles in vector format, the borders in vector format, a DTM in raster format and hydrometric

timeseries. Therefore, the DataEntities defined as inputs of the pre-processor sub-system are the

buildings and obstacles, borders, domain, DTM and boundary conditions, which are associated with

the hydrometric timeseries.

Figure 28 shows a UML diagram with the DataEntities of the outputs of the pre-processor, which

allows understanding that the data entities initial condition and boundary condition are associated with

the data entity mesh. Each boundary condition is associated with a specific node of the mesh and to a

specific hydrometric timeseries. An initial condition value is linked to a specific element of the mesh, so

both data entities are associated. Note that a mesh must divulge the coordinated reference system

(CRS) used since its nodes have XYZ coordinates.

Page 63: RiverCure Portal: Collaborative GeoPortal for Curatorship

47

Figure 28: UML diagram of the pre-processor outputs DataEntities.

In this case, the DataEntities defined as inputs for this simulation were the ones presented in

Specification 15 (“e_DistrCond”, “e_PhysicalConst”, “e_Time”, “e_Numerical”) and Figure 28 (Mesh,

Initial condition, Boundary condition, Hydrometric timeseries and Spatial reference). The physical

constants employed in this system are divided into two data entities since “e_PhysicalConst” presents

the general constants that can be applied in every model and “e_SpecPhysical” shows physical

constants specific for this case, which means that its attributes can change according to the simulation

that is being executed.

Specification 15: RSL specification of HiSTAV DataEntities: Inputs.

The DataEntities of the HiSTAV outputs follow the RSL specification shown in Specification 16, the

data entity “Result matrix” presents the values that can be reached at each moment regarding a

Page 64: RiverCure Portal: Collaborative GeoPortal for Curatorship

48

certain parameter. Each result matrix has associated some metadata, such as the time that the solver

took to simulate, the format of the file and the folder name.

Specification 16: RSL specification of HiSTAV DataEntities: Output.

From the Specification 17 is possible to see that there is only one DataEntityCluster complex, the

“ec_Input_mesh”, in the HiSTAV system.

Specification 17: RSL specification of HiSTAV DataEntityClusters.

Requirements

The use case is the requirement type that this work will focus on and due to space constraints, only a

few specifications in RSL are expanded.

From Specification 18 is possible to understand that one of the first steps that a user must take when

performing a simulation is the definition of the domain and to execute this use case QGIS (an external

system) must be used. The uc_2_DefineBoundary has two extension points, the “Define inlet cells”

and the “Define outlet cells”, and both require the software QGIS, causing it to be considered a

participant actor. In the HiSTAV sub-system, the pre-processor executor must be run in order to obtain

the results (e.g. mesh), so this action is considered a use case.

Page 65: RiverCure Portal: Collaborative GeoPortal for Curatorship

49

Specification 18: RSL specification of HiSTAV pre-processor UseCases.

To create a HiSTAV simulation the physical constants, numeric and time information must be defined,

as can be seen in Figure 29. If data regarding distributed conditions is available, then it can be defined

as an input in the simulation. The actor aS_ParaView is the external system responsible for reading

the results matrix obtained, however for this to be developed the aU_User must run the software. For

the action, “Visualize results”, to occur the user requires the participation of the external system

ParaView.

Figure 29: UML diagram of the HiSTAV UseCases.

Page 66: RiverCure Portal: Collaborative GeoPortal for Curatorship

50

5. RiverCure Portal

This Chapter describes the RiverCure portal (RCP) system, all its stakeholders, actors, data entities

and requirements. The specifications presented in this Chapter are the result of the information and

feedback collected during team meetings from several members. These meetings and the portal

demonstration using the Águeda case study allowed to evaluate the specifications.

This system has four main data inputs from different sources: the weather radar information from the

IPMA website; the data from SVARH; the photos uploaded by the users or collected from the social

networks; and the simulations obtain from the HiSTAV software. Figure 30 shows the data has three

stages of transformation, acquisition, processing and view, and that the process that each data pass-

through depends on the source and the type of data. Data from the IPMA website and SVARH server

are obtained using a script that may store the data in the RiverCure server, so it can become available

on the portal. The process to obtain the simulations results depends on the inputs available. If the

initial conditions, the mesh, and the boundary conditions are not defined then the data must be

prepared using the QGIS and the Pre-processor. Otherwise, the files can be selected from the

RiverCure server and the HiSTAV can be executed immediately. Note that data from SVARH, IPMA

and photos can be inputs of the HiSTAV and are available in the RiverCure server. To view the outputs

of the simulations the portal uses the ParaView15 software that reads the results files stored in the

RiverCure server. Additionally, after acquiring and storing the photos, the Social Flood application

gathers the photo metadata and the estimated water height, that are saved in the RiverCure server, so

it can become available on the RCP.

Figure 30: Data transformation schema.

15 https://www.paraview.org/

Page 67: RiverCure Portal: Collaborative GeoPortal for Curatorship

51

5.1. Glossary

The glossary of the RiverCure portal that is partially showed in Specification 19 was based on several

standards such as:

- WaterML 2.0;

- ISO 19156:2011 (Geographic information - Observations and measurements);

- ISO 772:2011 (Hydrometry);

- ISO 16781:2013 (Space systems - Simulation requirements for control system);

- ISO 19101:2002 (Geographic information – Reference model).

By using these standards to define the terms used throughout the system it ensures a coherent

system and makes it easier to understand the system. Consequently, it avoids possible errors due to

miscommunication between stakeholders.

Specification 19: Partial specification of the RiverCure glossary in RSL.

Table 3 presents some terms that are used in the RiverCure portal, that have the same meaning as

some applied in the WaterML 2.0, SNIRH and SVARH, but have a different word associated.

Table 3: Conversion of some system's terms [7].

WaterML 2.0 RiverCure portal SNIRH and SVARH

Property Parameter Parameter

Vertical datum Altitude Station height or altitude

Catchment River basin Basin

Monitoring Point Monitoring point Station

Responsible Party Responsible party Description

Another important term is the concept of event since it can have many different definitions, that can

vary according to authors and contexts. According to L.H. Broska et al. an event can be defined as a

“Dynamic occurrence within a limited time frame fixed in time. Typically, events are not strictly spatially

bounded, although ex post the spatial extent of an event should be clearly definable” [70]. An extreme

Page 68: RiverCure Portal: Collaborative GeoPortal for Curatorship

52

event can be characterized according to the intensity, frequency, duration or magnitude of it. To assess

an extreme event a measurement index must be selected and thresholds can be defined based “on

historical values, probabilities of occurrence or on the point where they have potential consequences

or impacts” [71].

5.2. Stakeholders

This system has several stakeholders, each has a different impact, and it can be impacted differently.

Since the RCP is part of the RiverCure project, the stakeholders are the same. Specification 20 shows

that the RiverCure project is sponsored by FCT and it has three partners: IST, INESC-ID and APA.

There are several people involved in the project, some are part of the team RiverCure and others

belong to the partners’ organization (e.g. APA responsible). The project manager is responsible for

managing the development of the RiverCure project, the team and the communication between the

stakeholders.

In the RCP, a user is someone that has a user account. SuperAdmin, Manager, Technician and Citizen

are the four main types of users, each with different access permissions. These are explained in detail

in the next section.

HiSTAV and Social flood are considered as system internal (Specification 20) since the two tools might

be incorporated into the RCP system. SVARH will transfer its data to the RiverCure server, so it is

considered an external system.

Specification 20: RiverCure project stakeholders.

5.3. Actors

The RiverCure portal has three types of actors, external system, user and timer, as it can be observed

in Specification 21. The SVARH and all the user types are actors of the system and each one has a

specific stakeholder associated with it. The “aT_NotifyAlarm” actor is triggered when an alarm from a

sensor is active and the “aT_AccountNotValidated” actor is responsible for initiating a use case when

Page 69: RiverCure Portal: Collaborative GeoPortal for Curatorship

53

an account is not validated after 24 hours of being submitted. These timers and its use cases are

explained in detail in section 5.5.

Specification 21: RiverCure actors in RSL.

A RiverCure portal user has a main role (SuperAdmin, Manager, Technician or Citizen) and if the main

role is “Technician” it can have one or more secondary roles. Figure 31 presents the six types of

secondary roles:

- Radar technician: Person that is specialized in radar images (e.g. IPMA employee);

- Numeric technician: User that knows about numeric models (e.g. Researcher);

- Udometric technician: Specialized in udometric stations and consequently data (e.g. APA

responsible);

- Spatial technician: GIS is the area of expertise of this person (e.g. Researcher, APA or IPMA

employee);

- Crowdsourcing technician: User that is specialized in the crowdsourcing topic (e.g.

Researcher);

- Hydrometric technician: Specialist in hydrometric stations and data (e.g. APA employee).

Figure 31: RiverCure portal user roles.

The permissions of user roles accumulate, hereby, for instance, the actor manager (father actor) has

all the permissions that the technician (son actor) have and a couple more.

Table 4 (in the annexes) presents the tasks that each user role has permission to execute. This table

supports the affirmations made in Figure 31, the SuperAdmin has accumulated the permissions of the

manager, that can perform the tasks of the technicians and citizens. However, managing alarms has a

Page 70: RiverCure Portal: Collaborative GeoPortal for Curatorship

54

restriction, a Hydrometric/Udometric technician can only edit and delete the sensor alarms if the

legislation of the country in question allows it.

5.4. Data Entities

The data entities of this information system are defined in this section and presented using either UML

diagrams or RSL specifications.

It was defined eight main data entities packages in the RiverCure system: user, simulation, sensor,

event, interactive map, about, spatial and feature. Part of the structure of these entities was inspired

by the SVARH data entity structure since it is one of the main contributors of this portal.

To describe the spatial location of an object, five data entities were defined, as can be seen in

Specification 22. The data entity “e_Spatial_Location” describes the specific location of an object by

stating its coordinates and it is associated with a specific parish. Consequently, a parish belongs to a

municipality, that is linked to a district of a specific country. To describe a parish, municipality, district

and country, two main attributes were defined for each, name and code. Since the case study occurs

in Portugal, the parish, municipality and district codes (dicofre, dico and di respectively), were defined

according to the Portuguese constitution. The country code chosen was alpha-2 code from ISO 3166,

since one of the future goals is to expand this portal to other countries.

Specification 22: RSL specification of RCP DataEntity: Spatial.

A “Hydrometric feature” data entity is used to describe a hydrometric object, such as a river, a dam or

a basin. It can state its type, name, code and geometric shape (point, line or polygon). However, a

river basin can also state its area and describe the rivers that composed it, by defining its hierarchy

(main river or tributary) and length, as it can be seen in Figure 32. Each hydrometric feature is

associated with one or more municipalities since it can cross several municipal frontiers. For instance,

the Vouga river crosses Oliveira de Frades, Vouzela and many other municipalities.

Page 71: RiverCure Portal: Collaborative GeoPortal for Curatorship

55

Figure 32: UML diagram of the RCP DataEntities: Feature package.

From Figure 33 it is possible to understand that the sensor entity is characterized by code, name, type

and it measures a specific parameter. There are three types of sensors, the fixed in-situ, which are

sensors that register values regarding an exact, established location (e.g. SVARH sensors), the

weather radar, which is a fixed sensor that can capture data remotely about several places (e.g.

weather radars from IPMA) and the photo, that it is a mobile sensor since the camera operator can

shift location. Fixed in-situ sensors and weather radars have more than one user responsible for it, but

the photo sensor normally only has one.

Figure 33: UML diagram of the RCP DataEntities: Sensor simple package.

As it can be seen in Figure 34, a monitoring point is composed of one or more sensors, that register

several data timeseries, which are a series of time-value pairs. The “e_MonitoringPoint” data entity

states the equipment altitude, “descriptionReference”, which is a list of documents related to the

monitoring point, code, name, status (e.g. active, suspended) and the type of monitoring point (e.g.

Hydrometric, Meteorological), which depends on the type of sensor associated. To be able to know the

closest monitoring points of a specific point, the next/previous monitoring point relation was defined.

By using upstream/downstream instead of next/previous, it would only be possible to use it on

Hydrometric and Dam monitoring points. This way it is possible to apply this relation to all the types of

monitoring points. Each sensor has a specific location set and at least one hydrometric feature

associated. For example, a meteorological sensor can state the name of the basin to which is

associated and a hydrometric indicates the basin and river name. A recording rhythm is defined for

Page 72: RiverCure Portal: Collaborative GeoPortal for Curatorship

56

each sensor, which means that a value is recorded every 15 minutes, for instance. The hydrometric

sensor has a special attribute, the zero level scale, which indicates the level where zero of the scale is

set.

Figure 34: UML diagram of the RCP DataEntities: Fixed in-situ package.

A fixed in-situ sensor allows to define up to three alarms for a parameter, as it can be seen in Figure

35. Each one with a specific colour (red, yellow or green), name, description and action, which can be

to send a notification to a certain user, for example. A low and up threshold must be defined for each

alarm and to do, so the historical measurements (“Historical value”) of each location can be consulted,

in case there is any. The “District” and the “River basin” data entities are also associated with the

“Alarm” data entity since the alarm of sensors can be represented using those entities.

Figure 35: UML diagram of the RCP DataEntities: Alarm package.

From Specification 23 it is possible to understand that the weather radar is a generalization of the

“e_Sensor” and it has a latitude and longitude associated, which represents the location of the

equipment. The “e_RadarObservation” is the data entity that defines the data obtained from the radar.

Since the data obtained is in image format, the only attributes are the ones associated with it such as

date, time, ID, file identifier and version.

Page 73: RiverCure Portal: Collaborative GeoPortal for Curatorship

57

Specification 23: RSL specification of RCP DataEntity: Radar.

Figure 36 shows the data entities related to the photo sensor, which includes the ”Photo source” entity,

that states if the photo was uploaded or obtained from social networks. The “Photo observation” entity

defines the main attributes of the photo, namely its ID, date, time, the value obtained from the social

flood application and last modifications made, also known as history. Each photo observation has a

specific location and it can have a hydrometric feature associated.

Figure 36: UML diagram of the RCP DataEntities: Photo package.

From Figure 37 it is possible to understand that an event is created by a single user, that is

responsible for defining all its attributes, namely a code, a description, the state (if it is occurring or

over), the type of event (e.g. Flood, Hydrological drought), and the start and end date-time. Each

event has one or more fixed in-situ sensor alarms, which means that the “Alarm” and the “Fixed in-

situ” data entities are linked to the “Event” data entity, and it can also have photos associated.

Page 74: RiverCure Portal: Collaborative GeoPortal for Curatorship

58

Figure 37:UML diagram of the RCP DataEntities: Event package.

To proper define a simulation the entities in Figure 38 were specified. The physical constants, time and

numeric information and input files are the data entities required for the simulation to work. There are

two types of simulations, the simulation and the scenario, which is a type based on the main

simulation in which the “Time information” is the only data entity that is modified. The simulation

results are a set of several output files, each one with a specific name and folder. Both simulation and

input file have a user associated, that corresponds to the owner of the file. Each simulation is

associated with one or more basins and districts, which allows an easier search process since it is not

required to open each file to discover the location of a simulation.

Figure 38: UML diagram of the RCP DataEntities: Simulation main package.

Specification 24 presents some of the possible “Input file” data entities that can be defined. Photos

and weather radar observations regarding the Águeda case study were available, so they were

selected as inputs for the simulation. The “e_InitialCondition”, “e_Mesh” and “e_BoundaryCond” data

Page 75: RiverCure Portal: Collaborative GeoPortal for Curatorship

59

entities are types of input files since they state in their specifications “isA e_InputFile”, which means

that the e_InputFile” entity is a generalization of those entities.

Specification 24: RSL specification of RCP DataEntity: Simulator input files.

The interactive map is composed of layers, that show different types of information (e.g. simulation

layer, sensor layer), as it can be seen in Figure 39. On the map data regarding the last days or a time

interval can be presented and the basemap can be altered. Each type of layer has a specific symbol,

colour and set of attributes associated. For example, the event layer can show events that are

occurring or that occurred in the last 48 or 72 hours and the simulation layer can present simulations

or scenarios.

Figure 39: UML diagram of the RCP DataEntities: Map package.

Page 76: RiverCure Portal: Collaborative GeoPortal for Curatorship

60

In Specification 25 there are two data entities specified, one that describes the RiverCure project and

its partners, and the other that defines the attributes required for the user to provide feedback

regarding the portal. The “e_RCProject” data entity is associated with the “e_Entity” and “e_Contact”

entities. The feedback requires the username of the user, so it is associated with the “e_User” data

entity.

Specification 25: RSL specification of RCP DataEntitiy: About.

To define the user’s profile information several data entities were created, as it can be seen in

Specification 26. The “User” entity is connected to the “e_Responsible Party” data entity, which

describes the position that a user has in an entity and to the “Contact” data entity which states the

email and phone number of the user. An “Entity” can be for example a company or an association and

it must have an official address linked. Note that an “Entity” has many employees, each with a specific

position, which means that an “Entity” has several users associated with it.

Specification 26: RSL specification of RCP DataEntities: User main.

Specification 27 presents the data entities regarding user settings. To define the user settings, it is

required to associate them with a user, so the username is the foreign key used to link the two data

entities. The “e_UdoHydroSettings” entity describes special attributes for udometric and hydrometric

technicians and the “e_TechnicianSettings” data entity specifies particular attributes for the technician

users, which means that this entity is a generalization of the first.

Page 77: RiverCure Portal: Collaborative GeoPortal for Curatorship

61

Specification 27: RSL specification of RCP DataEntities: User settings.

From Figure 40 is possible to understand that the user permissions depend on the user role and are

associated with the river basins, which means that the user can only access the information regarding

a specific set of river basins. In terms of alarm permission, some users can access all the alarms,

others can only access alarms created by the authorities, others depend on the secondary role can or

cannot access the alarms and some do not have access to any alarm.

Figure 40: UML diagram of the RCP DataEntities: User permissions package.

To demonstrate the logical connections between the data entities, data entity clusters were created,

and some can be seen in Specification 28. For example, “ec_IntecractiveMap” is composed by a

Page 78: RiverCure Portal: Collaborative GeoPortal for Curatorship

62

master data entity, the “e_IntecrativeMap” and a detail entity, “e_Layer”, which has several reference

data entities linked, such as, “e_Event” and “e_Sensor”.

Specification 28: RSL specification of RCP DataEntityClusters.

5.5. Requirements

This section describes the use cases of the RiverCure portal using either UML diagrams or RSL

specifications. The UML allows the user to have a quicker overview and the RSL provides more details

regarding the use cases, namely the data entities associated with it.

To suggest the user interaction and the involved information, RiverCure portal mock-ups were also

developed.

Figure 41 shows the home page mock-up of the RiverCure portal and as it can be seen, it has five

main tabs on the top of the page: data, photos, simulations, events and about. The information

presented on this page can be changed according to the user’s preferences. The last actions made by

the user on the platform, the last events added, and the interactive map are the information displayed

in the mock-up. The user permissions can also be visualized on the top right section of the page,

below the username, and the settings and the log out button. The icon located next to the mock-up

indicates the users’ roles that can access the mock-up view.

Page 79: RiverCure Portal: Collaborative GeoPortal for Curatorship

63

Figure 41: Home page mock-up of the RCP.

The data tab allows the user to access the interactive map tool, information regarding SVARH

monitoring points and radar observations, as it can be seen in Figure 42 a). If the user selects the

interactive map tool, the interface in Figure 42 b) will appear, allowing the user to view the data

selected on the control panel on the right. Each point of information is represented with a distinct

symbol and it has a set of data associated that pops-up by clicking on it. Note that the information

available on this tool varies according to the user role.

Figure 42: a) Data menu mock-up of the RCP; b) Interactive map mock-up of the RCP.

Figure 43 presents the UML diagram of the use cases that a user can do when consulting the

interactive map. The use case “Consult interactive map” includes the use case “Select layers”,

because the user must choose the types of information that wishes to see, otherwise, it would not

appear any information. A user can also edit the basemap (e.g. satellite, administrative) and manage

areas of interest, which includes adding, deleting, editing areas selected on the map. Figure 42 b)

demonstrates all these use cases defined from the user perspective.

a)

b)

Page 80: RiverCure Portal: Collaborative GeoPortal for Curatorship

64

Figure 43: UML diagram of the RCP UseCases: Map package.

To consult the monitoring points data the user must choose one of three views, by basin, by district or

by monitoring point, as it can be seen in Figure 44. By selecting the option by basin or by district, a

schema of a monitoring point in that area opens showing the last data record stored (Figure 45 a)).

The option by monitoring point shows a list of all the points with data available and the user can select

which one it wishes to read the data records (Figure 45 b)). The user can also view the data in an

alternative mode, by creating a graphic with the data, so the “Consult monitoring point data” use case

has a use case extension, the “Create graphic”.

Figure 44: UML diagram of the RCP UseCases: Monitoring points package.

Figure 45: a) Monitoring points by basin (User) mock-up; b) By monitoring points (User) mock-up.

a)

b)

Page 81: RiverCure Portal: Collaborative GeoPortal for Curatorship

65

From Figure 46 is possible to understand that the hydrometric and udometric technicians have some

use cases specific to them regarding the monitoring points and the interactive map. These user roles

can check real-time information from the monitoring points (“Read real-time data”) and to flag errors in

any monitoring point or data.

Figure 46: UML diagram of the RCP UseCases: Hydrometric and Udometric data package.

Figure 47 shows the mock-ups of the hydrometric monitoring point interface in two different

perspectives, the user (Figure 47 a)) and the hydrometric technician (Figure 47 b)). As it can be seen

Figure 47 b) presents the alarm levels on the maps and the user mock-up (Figure 47 a)) does not,

since this user does not have access to real-time data either to the alarm information.

Figure 47: a) Hydrometric monitoring points (User) mock-up; b) Hydrometric monitoring points (Hydrometric technician) mock-up.

A user can consult radar observations, by selecting a radar, a parameter and a date on the search

control, which means that “uc_3_ConsultRadarData” is a use case of the type “EntitiesBrowse”. This

use case has an extension point the “uc_3_1_ExportRadar”, which allows the user to export the radar

observations, as it can be checked in Specification 29. To demonstrate these sequences of actions a

mock-up of the interface was made (Figure 48).

a)

b)

Page 82: RiverCure Portal: Collaborative GeoPortal for Curatorship

66

Specification 29: RSL specification of RCP UseCases: Radar.

Figure 48: Radar observations mock-up of the RCP.

The “Photos” tab of the RiverCure mock-up in Figure 49 a) has two selection options, the first allows

the user to upload photos in the portal and the second is the gallery, which is where all the photos are

displayed.

For a user to upload a photo in the portal it is required to read and agree with the terms and conditions

defined, as it is demonstrated in Figure 49 b) and specified in the “uc_4_1_AgreeTerms” (Specification

30).

Figure 49: a) Photos menu mock-up of the RCP; b) Upload photos mock-up of the RCP.

Specification 30 defines the use cases triggered by the user, the spatial technician, and the

crowdsourcing technician, regarding photos. All users have access to the photo gallery (Figure 50 a))

and can select a photo in order to read its information, which includes its metadata and the estimated

water height. When consulting a photo, a user can export, select, flag, view the next or the previous

image without any restrictions, but it can only delete the photo or edit its metadata if it is owned by the

a)

b)

Page 83: RiverCure Portal: Collaborative GeoPortal for Curatorship

67

user. The spatial and crowdsourcing technicians have use cases specific to them, such as

“uc_7_1_EditPhotoInfo”, which allows editing the photo’s metadata and estimated height,

“uc_7_2_ConsultPhotoInfoHistory”, which permits these users to check the modifications made to the

photo’s information and “uc_7_3_DeletePhoto. All these use cases are extension points of the

“uc_7_ManagePhotos” use case and their application can be seen in Figure 50 b).

Specification 30: RSL specification of RCP UseCases: Photos.

Figure 50: a) Photo gallery mock-up of the RCP; b) Photos gallery (Crowdsourcing technician) mock-up of the RCP.

a)

b)

Page 84: RiverCure Portal: Collaborative GeoPortal for Curatorship

68

The simulator tab has two versions, one for the general users (Figure 51 a)) and other for the numeric

and spatial technician (Figure 51 b)) since these last two roles have access to special features, such

as creating a new simulation from scratch.

Figure 51: a) Simulations menu mock-up; b) Simulations menu (Numeric technician) mock-up of the RCP.

To create a new scenario the user must define its input data previously, which includes the area of

study (also known as domain), and the start and end date-time, as it can be seen in Figure 52 a).

While the simulator is running, a progress indicator is shown on the screen (Figure 52 b)), so the user

can track the simulation status. During this time the portal can suggest data related to the simulation

domain, such as photos and data from monitoring points.

Figure 52: a) New simulation scenario (Input definition) mock-up; b) New simulator scenario (Progress indicator) mock-up of the RCP.

Besides the use case “Create new simulation scenario”, a user has other two main use cases

regarding simulations “Consult results” and “Consult simulation records”, which are specified in Figure

53. A user can choose to save or not the simulation scenario obtained, and it can opt to export those

results. In the simulation records tab is available all the simulations saved by the user and the ones

published by specialized users, like spatial technicians, for instance. The “Consult simulation records”

extension point, the “Manage scenarios owned” use case, allows the user to edit and delete simulation

scenarios owned by the user, as it can be observed from the mock-up in Figure 54.

a)

b)

a)

b)

Page 85: RiverCure Portal: Collaborative GeoPortal for Curatorship

69

Figure 53: UML diagram of the RCP UseCases: Simulations package.

Figure 54: Simulations records mock-up of the RCP.

As formerly mentioned, the numeric and spatial technicians can create new simulations, but to

understand how the simulation tool works it is important to read the instructions. For this tool to work,

input files (e.g. DTM, Domain) are required, so in the simulations tab was created a sub-tab, “Input

files”, as can be observed in Figure 51 b). From Figure 55 it is possible to understand that a user can

view the files, manage the files owned and upload new files, which may encourage information

sharing.

Page 86: RiverCure Portal: Collaborative GeoPortal for Curatorship

70

Figure 55: Simulations input files (Manage files) mock-up of the RCP.

Figure 56 presents all the use cases regarding simulations, that have the spatial and numeric

technicians as actors. The “Create new simulation” use case has an extension point, “Run the Pre

processor” since this use case is only required if a mesh of the area that is being studied is not

created or if it can be updated to a better version. To develop a new simulation, the user must first

configure the model and then execute the simulator tool (“Run simulator”). The “Configure simulation

model” has some use cases associated, with the relation “include”, which means that the user must

perform these actions, and with the relation “extend”, which means that use case can be executed if

the user wants or if it is feasible. According to the UML diagram, these technicians can choose to

share or not the results of the simulations performed.

Page 87: RiverCure Portal: Collaborative GeoPortal for Curatorship

71

Figure 56: UML diagram of the RCP UseCases: Technician simulation package.

Page 88: RiverCure Portal: Collaborative GeoPortal for Curatorship

72

Figure 57 a) displays the interface mock-up of the pre-processor, which shows that the user must

select the input files before running the pre-processor.

From Figure 57 b) it is possible to understand that a simulation model can use data from the radar

observations, photos and monitoring points.

Figure 57: a) New simulation (Pre-processor) mock-up; b) New simulation (model configuration) mock-up of the RCP.

The user’s events tab has only one division, that presents the events records (Figure 58 a)), but the

udometric and hydrometric technicians events tab version has two, “Open events” and “Events

records”, as it can be seen in Figure 58 b).

Figure 58: a) Events records mock-up of the RCP; b) Events menu (Udometric technician) mock-up.

From Specification 31 it is possible to understand that in an event record a user can export its data

and consult the photos associated with it, in case there are any. Besides being able to execute da

same actions as a user, a udometric and hydrometric technician can also flag event data errors and

consult events that are still occurring. The use case “uc_16_ConsultOpenEvents” shows that it has

three extension points “EPConsultPhoto”, “EPFlagEventDataError” and “EPExportEventData”.

a)

b)

a)

b)

Page 89: RiverCure Portal: Collaborative GeoPortal for Curatorship

73

Specification 31: RSL specification of RCP UseCases: Events.

The About tab is the same for all the users and it has two main divisions, “RiverCure project”, where a

user can read about the project and the partners involved and “Feedback”, where a user can give its

opinion regarding the portal. Specification 32 states the use cases that a user can do in this tab, such

as “uc_20_1_ConsultContact”, that represents the action of a user reading the official email of the

portal.

Specification 32: RSL specification of RCP UseCases: About.

A user by clicking on the settings can access a secondary panel, that varies according to the user role.

A citizen can view its profile information, which includes reading its permissions and editing personal

data, and it can also manage its account settings, as it can be seen in Figure 59.

Figure 59: Settings (Profile information) mock-up of the RCP.

Page 90: RiverCure Portal: Collaborative GeoPortal for Curatorship

74

From Specification 33 is possible to understand that the technicians have certain use cases regarding

the management of the account settings that are specific for them, like

“uc_23_4_ViewCitizenPerspective”, which allows the user to view the portal as a citizen would. The

“uc_23_5_EditParameterPreferences” and “uc_23_6_EditMonitoringPointsPreferences” use cases

permit the technician to select its favourite parameters and monitoring points, which means that the

most relevant data on the portal, for this user, is more easily accessible.

Specification 33: RSL specification of RCP UseCases: Settings.

Besides the previously mentioned use cases, the hydrometric and udometric technicians are also

actors of the “uc_23_2_1_editNotificationAlarms” use case described in Specification 33. These actors

can choose to be notified for all red and/or yellow alarms and if they wish to be alerted via SMS or

email, as it can be observed in Figure 60.

Page 91: RiverCure Portal: Collaborative GeoPortal for Curatorship

75

Figure 60: Settings (Account) mock-up of the RCP.

To understand the alarm settings, a mock-up of that interface was created, as it can be seen in Figure

61. This interface is only available for certain user roles, SuperAdmin, manager, udometric and

hydrometric technician, since they are the only ones with access to the alarm feature. The portal offers

the user two alarm modes, from which the user must select one. The first alarm mode follows the

alarm definitions, such as alarm levels and thresholds, set by the authorities, which means that the

user cannot edit them. The second mode, also known as “My alarms”, allows the user to specify its

alarms, by defining a monitoring point, parameter, threshold and alarm level for each alarm. However,

this mode is not available for all users and countries, since the legislation in some countries does not

allow it.

Figure 61: Settings (Alarms) mock-up of the RCP.

Specification 34 defines the use cases demonstrated in the alarms settings mock-up shown in Figure

61. The “uc_19_3_NotifyAlarm” use case is initiated by the actor “aT_NotifyAlarm”, which is a timer

that is triggered when an alarm in a monitoring point is activated. “EntitiesInteropSendMessage” is the

use case type, since the system sends a notification automatically to the authorized users.

Page 92: RiverCure Portal: Collaborative GeoPortal for Curatorship

76

Specification 34: RSL specification of RCP UseCases: Alarms.

The manager is responsible for managing the information, as observed in Figure 62, which can

include a variety of use cases, such as managing the monitoring points and radar observations. This

actor has access to all the data flagged by other users, which means that “View flagged data”, “View

records flagged” and “View list of flagged photos” are use cases that can be executed by the manager.

Besides managing all the data regarding the monitoring points, radar observations, events and

simulations, the user can view the portal analytics and the user accounts logs.

Figure 62: UML diagram of the RCP UseCases: Manager package.

The use case “Manage events” represented in Figure 62, includes several actions, creating, editing,

deleting and viewing the records flagged, as it is demonstrated in Figure 63.

Page 93: RiverCure Portal: Collaborative GeoPortal for Curatorship

77

Figure 63: Settings (Manage information) mock-up of the RCP.

The use cases shown in Specification 35 have the actor “aU_SuperAdmin” as the primary actor. This

actor is responsible for managing users, entities (e.g. companies, universities), the communication

with the partners and the portal’s updates, such as the model of the photos

(uc_28_2_UpdateModelPhotos). The “uc_25_ManageUsers” has the extension point

“EPValidateAccounts” and includes two other use cases “uc_25_2_ManageUserRoles” (which allows

this user to create, edit and delete user roles) and “uc_25_3_ManagePermissions” (which allows to

edit the permissions associated with each user and user role). When an account is not validated after

24h (“aT_AccountNotValidated”) the SuperAdmin receives a notification automatically from the

system.

Page 94: RiverCure Portal: Collaborative GeoPortal for Curatorship

78

Specification 35: RSL specification of RCP UseCases: SuperAdmin.

Page 95: RiverCure Portal: Collaborative GeoPortal for Curatorship

79

6. Conclusions and Future Work

This Chapter presents the conclusion of the research (section 6.1), namely the answers to the original

questions introduced in section 1.3. Furthermore, it adds points to focus on the future (section 6.2).

6.1. Conclusions

The quantity and diversity of data sources, webpages and tools regarding water resources available

made the scientific community more aware of the importance of proper data management. To improve

this task a greater effort has been made in the specifying more accurately the requirements of some of

those systems.

This work defines the requirements specification of the RiverCure portal, a web platform that intends

to integrate data from different entities, such as official agencies and flood photos with interactive

maps and a flood simulation tool. With the extensive data resources and capabilities, this portal can

bring many benefits such as improving the flood forecasting and the decision-making process. By

providing a user-friendly system, stakeholders can make smarter decisions. It can also support the

development of plans to prevent and mitigate the impacts of floods. Consequently, it can improve the

time and quality of the authority’s responses during a flood, since the allocation of the means of

assistance would be done more effectively. The fact that a single platform can integrate and present

data from several sources it shall allow to better manage water resources.

To reach a proper outcome is important to answer the question originally introduced in Chapter 1.

First, Which are the requirements necessary to define the RiverCure Portal? Since this thesis used a

use case approach to specify requirements, it was necessary to define the use cases and all the

constructs associated to the use cases that are relevant to these information systems, namely, actors

and data entities.

Second, How should the specifications be represented? Since this project has different stakeholders

with distinct backgrounds, it was necessary to represent the specifications graphically, by using UML

and mock-ups, in the first part of the project, so that the people involved could understand what was

being proposed. In the second phase of the project, RSL was used to specify the systems which

allowed to define the specifications more rigorously, namely by adding certain details (e.g. actions

associated). It also helped avoid miscommunications with the stakeholders, inconsistencies and

ambiguities.

Third, Is the RSL language an adequate approach to define structured and rigorous requirements in

the water domain? Yes, RSL can be used in a water domain, since it allows different levels of detail,

with different concerns and different types of requirements. However, it is important to understand, that

specialists in the water domain might not be familiarized with RSL, or with other similar languages

which can make the development process more complex since they need to learn how this tool works.

Page 96: RiverCure Portal: Collaborative GeoPortal for Curatorship

80

The RiverCure portal has features that were presented in the systems explained in Chapter 3.1. It

displays data from monitoring stations, which also occurs in the Sava GIS Geoportal and the IFIS. It

provides flood simulations, that it is also a feature in IFIS and HEC-HMS. It also uses an interactive

map to show the portal data (e.g. monitoring points, photos, simulations), which is also used in the

Some Mare FIS Portal, Sava GIS Portal and IFIS. The Some Mare FIS Portal, which uses the

WaterML 2.0-GeoServer, has another feature in common with the RiverCure portal, it allows citizens to

access and contribute to the portal.

6.2. Future Work

The future work should focus on creating the portal through the implementation of the system

requirements preliminary defined in this dissertation. However, before implementing it is important to

better standardize all the details of the system according to WaterML 2.0. After the implementation, the

RCP must be tested with a specific dataset, by a group of controlled users. To evaluate the system in

terms of features and usability, a survey must be sent to all actors.

To acquire more relevant photos, it is necessary to develop a plan to encourage the community to

participate in this initiative. With the public help, more photos can be accessed making the estimated

water height of a photo will be more accurate since the social flood model would have more data to

perfect the system. More authentic simulations can be made using photos as inputs since the model

would have more specific information regarding the area that is being studied.

Other developments, such as the creation of a flood risk index for infrastructures, with several levels

(e.g. low, medium, critical), that would take into account the consequences and the probability of a

flood occurring, can improve this portal, and consequently help the decision-maker to have more

confidence in its choice. Adding a field that states the maintenance history of the equipment in the

monitoring points, can also be an important development since it can help to decipher an error source.

Since one of the goals is to make this portal available for other countries, some data entities of the

portal must be adapted. For instance, not all countries call their first sub-division district some defined

it as a region. So, a standard should be used, the ISO 3166 defines the codes for countries and codes

for subdivisions. Each subdivision has a name, a code and a category associated [72]. To achieve this

goal and for the portal to be more accessible to the public, more options of idioms should be available.

For managing the alerts, a future improvement would be to develop an application based on the portal,

so that the authorized users may receive push notifications with relevant information.

With all these improvements the expansion of the portal to other countries might be simpler, the

stakeholders may be more satisfied with the portal, the decision-makers will make even more informed

decisions, the population may join more easily and consequently, more information may be available

especially photos.

Page 97: RiverCure Portal: Collaborative GeoPortal for Curatorship

81

References

[1] Agência Portuguesa do Ambiente, “Avaliação Preliminar dos Riscos de Inundações em

Portugal Continental,” Relatório Técnico, 2018.

[2] T. Miksa, J. Cardoso, and J. Borbinha, “Framing the scope of the common data model for

machine-actionable Data Management Plans,” in Proceedings of the 2018 IEEE International

Conference on Big Data, 2018.

[3] J. S. Horsburgh, D. G. Tarboton, D. R. Maidment, and I. Zaslavsky, “A relational model for

environmental and water resources data,” Water Resour. Res. Wiley, vol. 44, no. 5, May 2008.

[4] D. A. S. Conde, M. A. V. Baptista, C. Sousa Oliveira, and R. M. L. Ferreira, “A shallow-flow

model for the propagation of tsunamis over complex geometries and mobile beds,” Nat.

Hazards Earth Syst. Sci. Copernicus Publ., vol. 13, no. 10, 2013.

[5] A. R. Silva, “Rigorous Requirements Specification with the RSL Language: Focus on Uses

Cases,” in Proceedings of ISD’ 2019, AIS, 2019.

[6] A. R. Silva, “Linguistic Patterns and Linguistic Styles for Requirements Specification (I): An

Application Case with the Rigorous RSL/Business-Level Language,” in Proceedings of the

EuroPLOP’2017, ACM, 2017.

[7] P. Taylor, “OGC WaterML 2.0: Part 1- Timeseries,” Measurement, vol. 2007, no. 05, 2011.

[8] “Open Water Fundation - WaterML 2 Overview.” [Online]. Available:

http://learn.openwaterfoundation.org/owf-learn-waterml2/waterml2-overview/. [Accessed: 14-

May-2019].

[9] A. R. Silva and C. Videira, UML, Metodologias e Ferramentas CASE, 2nd ed., vol. 1. Centro

Atlântico Editora, 2005.

[10] M. P. da Custódia Conceição, “RSLingo-Studio: A tool for Rigorous Requirements

Specification, Validation and Transformation,” MSc Dissertation, Instituto Superior Técnico,

Universidade de Lisboa, 2017.

[11] M. Saramago, “Hydrologic Surveillance System Using Wireless Technologies,” in Proceedings

of 4th International Conference on Experiences with Automatic Weather Stations (ICEAWS),

2006.

[12] “INESC-ID RiverCure project.” [Online]. Available: https://www.inesc-id.pt/projects/II11041/.

[Accessed: 29-Apr-2019].

[13] K. Peffers, T. Tuunanen, M. A. Rothenberger, and S. Chatterjee, “A Design Science Research

Methodology for Information Systems Research,” J. Manag. Inf. Syst., vol. 24, no. 3, 2007.

[14] A. Almoradie, I. Popescu, A. Jonoski, and D. Solomatine, “Web Based Access to Water Related

Page 98: RiverCure Portal: Collaborative GeoPortal for Curatorship

82

Data Using OGC WaterML 2.0,” Int. J. Adv. Comput. Sci. Appl., vol. 3, no. Building a Regional

Observation System in the Black Sea Catchment, 2013.

[15] A. Alanazi, A. B. Jones, and J. Straub, “Requirements Modeling Language and Automated

Testing for CubeSats,” in Proceedings of 2019 IEEE AUTOTESTCON, IEEE, 2019.

[16] “SNIRH - Ponte Águeda (Nível hidrométrico instantâneo).” [Online]. Available:

https://snirh.apambiente.pt/snirh/_dadosbase/site/janela_verdados.php?sites=1627758988&pa

rs=1850,1843&tmin=11/02/2016&tmax=13/02/2016. [Accessed: 04-Jun-2019].

[17] “C. M. Águeda - Recursos Hídricos.” [Online]. Available: https://www.cm-agueda.pt/pages/522.

[Accessed: 04-Jun-2019].

[18] S. Mourato, M. Moreira, P. Fernandez, L. Pereira, M. Jesus, and F. Marques, “Flood mapping

under uncertainty: a case study in Águeda, Portugal,” in Proceedings of 2nd International

Conference on Natural Hazards & Infrastructure (ICONHIC2019), 2019, pp. 23–26.

[19] Câmara Municipal de Águeda, “Flood Águeda River 12/02/2016,” 2016. .

[20] J. Rüegg et al., “Completing the data life cycle: Using information management in

macrosystems ecology research,” Front. Ecol. Environ. Ecol. Soc. Am., vol. 12, no. 1, pp. 24–

30, 2014.

[21] “SNIRH - MEDIATECA.” [Online]. Available:

https://snirh.apambiente.pt/index.php?idMain=5&idItem=2. [Accessed: 09-Dec-2019].

[22] “OGC WaterML 2: Part 3 - Surface Hydrology Features - Conceptual Model,” 2018.

[23] “Sistema Nacional de Informação sobre Recursos Hídricos (SNIRH).” [Online]. Available:

https://snirh.apambiente.pt. [Accessed: 13-May-2019].

[24] R. Gomes, M. Saramago, and R. Rodrigues, “SVARH - Sistema de Vigilância e Alerta de

Recursos Hídricos,” Relatório Técnico, Instituto da Água, 2003.

[25] M. Saramago, “Redes de Monitorização Hidrometeorológicas,” Rev. Recur. Hídricos, Assoc.

Port. dos Recur. Hídricos, vol. 38, no. 1, 2017.

[26] F. Quadrado, “SISTEMA DE VIGILÂNCIA E ALERTA DE RECURSOS HÍDRICOS - SVARH,”

Presented in the Green Business Week, Agência Portuguesa do Ambiente, 2016.

[27] N. M. P. Charneca, “Modelação de Dados Geográficos Aplicada ao Planeamento e Gestão de

Recursos Hídricos,” PhD Dissertation, Faculdade de Ciências, Universidade de Lisboa, 2012.

[28] I. Zaslavsky, D. Valentine, and T. Whiteaker, “CUAHSI WaterML,” Open Geospatial Consortium

Discussion Paper 07-041r1, 2007.

[29] “ISO 19101-1:2014(en), Geographic information — Reference model — Part 1: Fundamentals.”

[Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso:19101:-1:ed-1:v1:en. [Accessed: 29-

Page 99: RiverCure Portal: Collaborative GeoPortal for Curatorship

83

Mar-2020].

[30] “What is a layer? - ArcGIS for Desktop.” [Online]. Available:

https://desktop.arcgis.com/en/arcmap/10.3/map/working-with-layers/what-is-a-layer-.htm.

[Accessed: 29-Mar-2020].

[31] “Raster Data — QGISDoc documentation.” [Online]. Available:

https://docs.qgis.org/3.4/en/docs/gentle_gis_introduction/raster_data.html#overview.

[Accessed: 30-Mar-2020].

[32] “Introducing GIS — QGISDoc documentation.” [Online]. Available:

https://docs.qgis.org/3.4/en/docs/gentle_gis_introduction/introducing_gis.html#gis-data.

[Accessed: 29-Mar-2020].

[33] Environmental Systems Research Institute, “ESRI Shapefile Technical Description - An ESRI

White Paper,” Technical paper, 1998.

[34] “Working with Mesh Data — QGISDoc documentation.” [Online]. Available:

https://docs.qgis.org/3.4/en/docs/user_manual/working_with_mesh/mesh_properties.html.

[Accessed: 29-Mar-2020].

[35] D. A. S. Conde, M. J. Telhado, M. A. Viana Baptista, and R. M. L. Ferreira, “Severity and

exposure associated with tsunami actions in urban waterfronts: the case of Lisbon, Portugal,”

Nat. Hazards, vol. 79, no. 3, 2015.

[36] D. A. S. Conde, “High-Performance Modelling of Tsunami Impacts on Built Environments,” PhD

Thesis, Universidade de Lisboa, Instituto Superior Técnico, 2018.

[37] D. A. S. Conde, “A Tsunami in Lisbon Where to run ?,” MSc Thesis, Instituto Superior Técnico,

Universidade de Lisboa, 2012.

[38] D. A. S. Conde, R. Canelas, J. Murillo, and R. M. L. Ferreira, “Simulating the 1755 tsunami

propagation in present-day Lisbon with a shallow-water model,” Rev. Recur. Hídricos, Assoc.

Port. dos Recur. Hídricos, vol. 33, no. 2, 2012.

[39] B. C. Almeida, A. P. M. Saliba, and D. A. S. Conde, “Retroanálise da propagação decorrente da

ruptura da barragem do Fundão através do modelo numérico HISTAV,” in Proceedings of the III

SIAAR - Simpósio Íbero-Afro-Americano de Riscos, 2019, vol. 3, no. June.

[40] C. Pohl, Klaus; Rupp, Requirements Engineering Fundamentals: a study guide for the certified

professional for requirements engineering exam, foundation level, 2nd ed. Rocky Nook, 2015.

[41] OMG, “OMG Unified Modeling Language (OMG UML).” OMG, 2017.

[42] “System Boundary.” [Online]. Available:

https://sparxsystems.com/enterprise_architect_user_guide/14.0/model_domains/systembound

ary.html. [Accessed: 24-May-2019].

Page 100: RiverCure Portal: Collaborative GeoPortal for Curatorship

84

[43] “Class Diagram.” [Online]. Available: https://www.visual-paradigm.com/guide/uml-unified-

modeling-language/what-is-class-diagram/. [Accessed: 24-May-2019].

[44] “Enumerations.” [Online]. Available:

https://www.ibm.com/support/knowledgecenter/SS8PJ7_9.7.0/com.ibm.xtools.modeler.doc/topi

cs/cenum.html. [Accessed: 05-Jan-2020].

[45] “UML Association vs Aggregation vs Composition.” [Online]. Available: https://www.visual-

paradigm.com/guide/uml-unified-modeling-language/uml-aggregation-vs-composition/.

[Accessed: 29-May-2020].

[46] C. Videira, J. L. Carmo, and A. R. Silva, “The ProjectIT-RSL Language Overview,” in UML

Modeling Languages and Applications: UML 2004 Satellite Activities, 2004.

[47] C. Videira and A. R. Silva, “ProjectIT-Requirements, a Formal and User-oriented Approach to

Requirements Specification,” in Actas de las IV Jornadas Iberoamericanas en Ingeniería del

Software e Ingenierá del Conocimiento, 2004, vol. I, pp. 175–190.

[48] J. Caramujo, A. R. Silva, S. Monfared, A. Ribeiro, P. Calado, and T. Breaux, “RSL-IL4Privacy: A

Domain-Specific Language for the Rigorous Specification of Privacy Policies,” in Requirements

Engineering, Springer, 2019, vol. 24, no. 1.

[49] D. De Almeida Ferreira and A. R. Silva, “RSL-PL: A Linguistic Pattern Language for

Documenting Software Requirements,” in Proceedings of Third International Workshop on

Requirements Patterns (RePa’ 13), in the 21st IEEE International Requirements Engineering

Conference (RE’2013), IEEE Computer Society, 2013.

[50] L. P. Gonçalves and A. R. Silva, “Towards a Catalogue of Reusable Security Requirements,

Risks and Vulnerabilities,” in Proceedings of ISD’ 2018, AIS, 2018.

[51] M. Conceição, “RSLingo-Studio: User Guide.” 2017.

[52] D. de Almeida Ferreira and A. R. Silva, “RSLingo: An Information Extraction Approach toward

Formal Requirements Specifications,” in Proceedings of 2nd IEEE International Workshop on

Model-Driven Requirements Engineering (MoDRE), IEEE Computer Society, 2012.

[53] “Logical Data Model.” [Online]. Available: https://www.1keydata.com/datawarehousing/logical-

data-model.html. [Accessed: 29-May-2020].

[54] “International Sava River Basin Commission - Sava GIS Metadata Catalogue.” [Online].

Available: http://savagis.org/metadatacatalogue/srv/eng/search#fast=index&from=1&to=50.

[Accessed: 12-Jun-2020].

[55] International Sava River Basin Commission, “Metadata Catalogue Public User Manual.” 2016.

[56] International Sava River Basin Commission, “Data and Information Exchange - Sava GIS &

Sava HIS,” Presented for the Western Balkans Investment Framework.

Page 101: RiverCure Portal: Collaborative GeoPortal for Curatorship

85

[57] I. Demir and W. F. Krajewski, “Towards an integrated Flood Information System: Centralized

data access, analysis, and visualization,” Environ. Model. Softw., vol. 50, Dec. 2013.

[58] I. Demir, E. Yildirim, Y. Sermet, and M. A. Sit, “FLOODSS: Iowa flood information system as a

generalized flood cyberinfrastructure,” Int. J. River Basin Manag., vol. 16, no. 3, Jul. 2018.

[59] W. F. Krajewski et al., “Real-Time Flood Forecasting and Information System for the State of

Iowa,” Bull. Am. Meteorol. Soc., vol. 98, no. 3, Mar. 2017.

[60] D. Ford, N. Pingel, and J. J. DeVries, “Hydrologic Modeling System HEC-HMS: Applications

Guide.” U.S. Army Corps of Engineers Hydrologic Engineering Center, Washington, 2008.

[61] “HEC-DSS.” [Online]. Available: https://www.hec.usace.army.mil/software/hec-dss/. [Accessed:

13-Jun-2019].

[62] “CUAHSI-HIS.” [Online]. Available: http://his.cuahsi.org/index.html. [Accessed: 15-Jun-2019].

[63] A. M. Abdallah and D. E. Rosenberg, “A data model to manage data for water resources

systems modeling,” Environ. Model. Software, Elsevier, vol. 115, 2019.

[64] D. P. Ames, J. S. Horsburgh, Y. Cao, J. Kadlec, T. Whiteaker, and D. Valentine, “HydroDesktop:

Web services-based software for hydrologic data discovery, download, visualization, and

analysis,” Environ. Model. Software, Elsevier, vol. 37, 2012.

[65] OMG, “OMG Systems Modeling Language (OMG SysMLTM),” 2019.

[66] M. Hause, “The OMG Modelling Language (SysML),” in Proceedings of the Fifth European

Systems Engineering Conference, INCOSE, 2006.

[67] A. Chen and J. Beatty, Visual Models for Software Requirements, 2nd ed. Microsoft Press,

2012.

[68] L. Gonçalves and A. R. Silva, “A catalogue of reusable security concerns: Focus on privacy

threats,” in Proceedings of IEEE CBI ’ 2018, IEEE, 2018, vol. 2, pp. 52–61.

[69] R. Rodrigues, “Flood Surveillance and Early Warning System for Portugal,” Presentation for the

Precautionary Flood Protection in Europe - International Workshop. Bonn, 2003.

[70] L. H. Broska, W. R. Poganietz, and S. Vögele, “Extreme events defined—A conceptual

discussion applying a complex systems approach,” Futures, vol. 115, Jan. 2020.

[71] L. E. McPhillips et al., “Defining Extreme Events: A Cross-Disciplinary Review,” Earth’s Futur.,

vol. 6, no. 3, pp. 441–455, Mar. 2018.

[72] “ISO 3166 Country Codes.” [Online]. Available: https://www.iso.org/iso-3166-country-

codes.html. [Accessed: 04-Feb-2020].

Page 102: RiverCure Portal: Collaborative GeoPortal for Curatorship

86

Annexes

SNIRH

Specification 36: Partial RSL specification of SNIRH glossary.

Figure 64: UML diagram of all SNIRH DataEntities.

Page 103: RiverCure Portal: Collaborative GeoPortal for Curatorship

87

Specification 37: Partial RSL specification of SNIRH DataEntities.

Figure 65: UML diagram of SNIRH UseCases: Manage package.

Page 104: RiverCure Portal: Collaborative GeoPortal for Curatorship

88

Figure 66: UML diagram of the SNIRH UseCases: Restricted user and Public viewer package.

SVARH

Specification 38: Partial RSL specification of SVARH glossary.

Page 105: RiverCure Portal: Collaborative GeoPortal for Curatorship

89

Specification 39: RSL specification of SVARH DataEntities: Station.

Page 106: RiverCure Portal: Collaborative GeoPortal for Curatorship

90

Figure 67: UML diagram of SVARH DataEntities.

Page 107: RiverCure Portal: Collaborative GeoPortal for Curatorship

91

Figure 68: UML diagram of SVARH UseCases: Data package.

HiSTAV

Specification 40: Partial RSL specification of HiStav glossary.

Specification 41: Pre-processor actors in RSL.

Page 108: RiverCure Portal: Collaborative GeoPortal for Curatorship

92

Figure 69: UML diagram of the pre-processor inputs.

Specification 42: RSL specification of HiStav pre-processor DataEntities: Outputs.

Page 109: RiverCure Portal: Collaborative GeoPortal for Curatorship

93

Figure 70: UML diagram of the pre-processor UseCases.

Specification 43: RSL specification of HiStav UseCases.

Page 110: RiverCure Portal: Collaborative GeoPortal for Curatorship

94

RiverCure

Users Permissions

Table 4: Permissions of RCP user roles.

Glossary

Specification 44: Partial RSL specification of RCP glossary.

Page 111: RiverCure Portal: Collaborative GeoPortal for Curatorship

95

Data Entities

Figure 71: UML diagram of the RCP DataEntities: Spatial package.

Figure 72: UML diagram of the RCP DataEntities: Sensor package.

Figure 73: UML diagram of the RCP DataEntities: Simulation input package.

Page 112: RiverCure Portal: Collaborative GeoPortal for Curatorship

96

Figure 74: UML diagram of the RCP DataEntities: About package.

Figure 75: UML diagram of the RCP DataEntities: User main package.

Figure 76: UML diagram of the RCP DataEntities: User settings package.

Page 113: RiverCure Portal: Collaborative GeoPortal for Curatorship

97

Specification 45: RSL specification of RCP DataEntities: Hydro feature.

Specification 46: RSL specification of RCP DataEntity: Sensor.

Specification 47: RSL specification of RCP DataEntities: Fixed in-situ.

Page 114: RiverCure Portal: Collaborative GeoPortal for Curatorship

98

Specification 48: RSL specification of RCP DataEntities: Photo.

Specification 49: RSL specification of RCP DataEntities: Map.

Page 115: RiverCure Portal: Collaborative GeoPortal for Curatorship

99

Specification 50: RSL specification of RCP DataEntities: Event and Alarm.

Specification 51: RSL specification of RCP DataEntities: Simulation main.

Page 116: RiverCure Portal: Collaborative GeoPortal for Curatorship

100

Specification 52: RSL specification of RCP DataEntities: User roles.

Requirements

Figure 77: UML diagram of the RCP UseCases: User photos package.

Figure 78: UML diagram of the RCP UseCases: Hydrometric and Udometric settings package.

Page 117: RiverCure Portal: Collaborative GeoPortal for Curatorship

101

Figure 79: UML diagram of the RCP UseCases:

Photos package.

Figure 80: UML diagram of the RCP UseCases: Alarm package.

Figure 81: UML diagram of the RCP UseCases: Settings package.

Figure 82: UML diagram of the RCP UseCases:

Technician settings package.

Page 118: RiverCure Portal: Collaborative GeoPortal for Curatorship

102

Figure 83: UML diagram of the RCP UseCases: Events package.

Figure 84: UML diagram of the RCP UseCases: SuperAdmin package.

Page 119: RiverCure Portal: Collaborative GeoPortal for Curatorship

103

Specification 53: RSL specification of RCP UseCases: Monitoring points.

Specification 54: RSL specification of RCP UseCases: Manage information.

Page 120: RiverCure Portal: Collaborative GeoPortal for Curatorship

104

Prototype

Figure 85: Interactive map (photos) mock-up of the RCP.

Figure 86: Monitoring points (By district) mock-up of the RCP.

Figure 87: Monitoring points (Graphic) mock-up of the

RCP.

Figure 88: Photos gallery (Crowdsourcing technician)

mock-up of the RCP.

Figure 89: Photos gallery mock-up of the RCP.

Figure 90: Simulations input files (Upload files) mock-up

of the RCP.

Page 121: RiverCure Portal: Collaborative GeoPortal for Curatorship

105

Figure 95: Settings (Manage users) mock-up of the RCP.

Figure 91: New simulation (Results) mock-up of the RCP.

Figure 92: Settings (Profile information) mock-up of the RCP.

Figure 93: Settings (Account) mock-up of RCP.

Figure 94: Settings (Account) mock-up of the RCP.

Page 122: RiverCure Portal: Collaborative GeoPortal for Curatorship

106

Meetings

APA (with Dra. Manuela Saramago)

• 8/01/2019 – Introduction of the RiverCure project;

• 12/04/2019 – Introduction to the SNIRH and SVARH systems (how data is collected, who are

the stakeholders involved);

• 21/06/2019 – Meeting with the RiverCure team about the use of the SVARH’s Silverlight

version, the modelling tool used by APA (MIKE) and certain details regarding the systems;

• 4/07/2019 – Demonstration of the SVARH system (This meeting had the purpose to introduce

the topics to the new members of the team);

• 25/10/2019 – Validation of the models (specifically use cases and data entities) regarding

SNIRH and SVARH;

• 22/11/2019 – Visualization of the SVARH’s Gestor and Editor.

RiverCure

• 18/06/2018 – Project introduction by Professor Alberto;

• 14/09/2018 - Situation point with the RiverCure team;

• 4/10/2018 – Team meeting for planning the correlation of the students’ master thesis with the

RiverCure project;

• 25/10/2018 - Situation point with team and presentation regarding WaterML;

• 18/09/2019 – Meeting with Professor Rui Ferreira regarding the RCP requirements;

• 22/10/2019 – Meeting with Jorge Pereira regarding the social flood app, developed by him;

• 6/11/2019 – Meeting with Professor Alberto and Professor Rui Ferreira, where the following

topics where approached: Situation point regarding SVARH, SNIRH and HiSTAV; Decisions

regarding the portal were made; Materials needed;

• 20/11/2019 - Situation point with Professor Alberto;

• 20/12/2019 – Meeting with Professor Rui and other members of the team;

• 8/1/2020 – Meeting with the RiverCure team regarding the situation point and future tasks;

• 21/1/2020 – Meeting with Jorge Marques, Ivo, Professor Rui, Professor Alberto and Professor

Bruno to align some requirements and present the first draft of the RCP;

• 1/04/2020 – Meeting regarding the RCP and its users with Jorge Marques, Ivo, Rui Granja,

Professor Jacinto, Professor Alberto.

HiSTAV

• 17/10/2019 – Online meeting with Daniel Conde, Marcos Dionisi and Professor Rui Ferreira

regarding specific doubts related to the treatment of the data from the case study;

• 18/10/2019 – Meeting with Marco Dionisi regarding the system functioning;

• 18/11/2019 – Meeting with Professor Rui regarding the information’s flux of the system;

• 20/12/2019 – Meeting with Marco Dionisi regarding some doubts related to the tool.