Table of Contents
WindsPT v0.4 Specification
The “windscanner.pt e-Science platform” manages the windscanner.pt infrastructure, supports the design and execution of open air field tests, and disseminates collected datasets and related information, in accordance with an Open Access policy (c.f. Data Management Plan).
This e-infrastructure is accessible by humans (via Web portals and mobile applications) and by machine programs.
The WindsPT Web Application documentation is included in this document: requirements, design/architecture, user documentation.
Internal Project management documentation is available for team members: Trello, Slack, GitHub.
1. Introduction
The WindsPT tool is a web application that offers support to the planning, execution, and data archiving for any number of experimental campaigns.
WindsPT provides a single-point of access for campaign managers, participants and institutions alongside all the campaign phases.
WindsPT provides:
1. Collaboration intention surveys: to collect partners' intention of collaboration while building a categorization structure and involved equipment information.
2. General purpose experiment information: general information that will be useful for all experiment participants, such as: location, contact, dates, topography and roughness maps.
3. Collaboration intentions' summaries by experiment: one page summary of all resources for one experiment: equipment, wind flow models and personnel.
4. Field stations installation and equipment: a functionality, allowing the Experiment Manager to create stations and equip the tower stations with the equipment required.
5. Equipment inventory: the data base of all the equipment by: category and manufacturer, with datasheets and manuals.
6. Dataset repository: access to all datasets by: device, model, category, scenario, campaign and site.
7. Administrative management functionalities: management of the whole platform: user accounts, equipment and wind flow models data curation.
8. Equipment and experiment documentation: Equipment specification and calibration documents can be associated with specific models. All purpose documentation area per experiment allows participants to store files associated with the experiment.
9. Experiment logbook: Participants of an experiment can add events to the logbook, these events can have files and photos associated with them. Some default categories are: issue, scheduled, installation and social. Categories can be managed by both the admin and campaign managers.
To be continued…
2. Actors and User stories
The functional requirements of the WindsPT application are described using an agile methodology. First, the actors are identified. Later, their usage scenarios are described using the user stories idiom.
2.1 Actors
"An actor represents anything or anyone that interfaces with your system. This may include people (not just the end user), external systems, and other organizations. Actors are always external to the system being modelled; they are never part of the system.” [Ambler04]
WindsP has the actors of the following figure described in the table.
Id. | Description |
---|---|
User | Unauthenticated user that can only access public information available at the portals. |
Visitor | Unauthenticated user that signs up and signs in to be known by the system. |
Researcher | Authenticated user that may use the system to access campaign information and the datasets available in the open access policy. |
CampaignManager | Authenticated user that has full administration privileges for the information of a particular campaign. |
DataCurator | Authenticated user that has the quality control responsibilities over campaign information. |
Participant | Authenticated user that participates in one or more campaigns as a Measurement engineer or a Technician. |
InstitutionManager | Authenticated user that has full administration privileges for the information of a particular institution. |
ProjectManager | Authenticated user that manages projects and related campaigns. |
Admin | Authenticated user that has full administration privileges to the e-infrastructure including managing CampaignManager and InstitutionManager. |
DataServer | External API to the data server (TDS). |
2.2 User stories
"A usage scenario is a description of a potential business situation that may be faced by the users of a system — the focus is on behavioral requirements issues, not technical design issues." [Ambler04]
The usage scenarios, described as user stories, are divided by actors.
User
Id. | Name | Description | spec. |
---|---|---|---|
US101 | About | As User I want to see public information about the application to know about its main functionalities and used technologies. | v0.1 |
US102 | Contact | As User I want to contact the platform administrators, so that I can suggest new functionalities, report existing problems, etc. | v0.4 |
US103 | Manual | As User I want to access a manual with information about how to use the platform, so that I can repidly learn how to navigate use its features. | v0.4 |
US104 | Contextual Information | As User I want to access contextual information about the page I am currently visiting, so that I can rapidly check how to use the features of the corresponding page. | v0.4 |
US105 | See campaign information | As User I want to browse the campaign information to have access to detailed information about the stations or device equipment that produce datasets. | v0.2 |
US106 | View logbook | As User I want to see the content of the public categories of events of the campaign logbook so I know the events related to the information I can see. | v0.2 |
US107 | Save stations CSV | As User I want to save stations to a CSV file so that I can use it independently of the system. | v0.1 |
US108 | Save stations KMZ | As User I want to export stations to KMZ so that I can analyse them on other software, such as Google Earth. | v0.1 |
US109 | View equipment | As User I want to view WindsPT equipment so that I know about where it was used, what datasets it produced and its details. | v0.3 |
US110 | Share document/logbook event | As User I want to generate a link to a document / logbook event so that the resource can be shared with others. | v0.3 |
Visitor
Id. | Name | Description | spec. |
---|---|---|---|
US201 | Sign up | As Visitor I want to register on the system so I may authenticate myself and obtain Open Access information about Campaigns, equipment, datasets and other research objects. | v0.2 |
US202 | Sign in | As Visitor I want to log in to the system so I have access to the e-infrastructure, in accordance with my role (Researcher, Participant, CampaignManager, etc). | v0.1 |
US203 | Recover password | As Visitor I want to recover my forgotten password so that I can sign in to WindsP. | v0.1 |
Researcher
Id. | Name | Description | spec. |
---|---|---|---|
US301 | Search | As Researcher I want to search using keywords in order to have access to information of my interest available as Open Access. | v0.4 |
US303 | Download dataset | As Researcher I want to download a dataset so I can process the data at my premises. | v0.2 |
US304 | Publish resource | As Researcher I want to upload a resource (e.g. PDF article) to be linked to the campaign history. | v0.2 |
US305 | Remove resource | As Researcher I want to remove a resource that I uploaded so that I can correct mistakes. | v0.2 |
US306 | Create Research Object | As Researcher I want to define a set of available resources so they will be referred to as a unit. | - |
US310 | Change profile | As Researcher I want to change my profile's information so it becomes up to date. | v0.2 |
US311 | Change password | As Researcher I want to change my password for my account so I can use it to sign in. | v0.1 |
US314 | View Profiles | As Researcher I want to view the profile of other members of the platform, so I can contact them and know their participations. | v0.2 |
US315 | Contact Researchers | As Researcher I want to contact other platform users so that I can share private information, initiate research activities, etc. | v0.2 |
US316 | Notifications | As Researcher I want to be notified (via e-mail and within the platform) whenever a User contacts me using the platform message system, so I can so that I can read the message in a timely manner. | v0.2 |
US317 | Download Documents Zip | As a Researcher I want to download a folder containing documents an other sub-folders, so that I can obtain these documents in a more convenient manner. | v0.4 |
US318 | Download Datasets Zip | As a Researcher I want to download a folder containing (groups of) datasets, so that I can obtain the corresponding datasets in a convenient manner. | v0.4 |
US319 | Authenticate to download Datasets | As Researcher I want to authenticate myself to Download Datasets, using a previously shared password, whenever no other access role grants me that privilege. | v0.4 |
Participant
Id. | Name | Description | spec. |
---|---|---|---|
US401 | Create resource | As Participant I want to create a document or a folder associated with the campaign to better document it. | v0.2 |
US402 | Manage event | As Participant I want to create, edit and delete campaign events and also associate various resources to them so that the logbook is up to date. | v0.2 |
US403 | Install device | As Participant I want to register that a device has been installed and if necessary create the equipment instance, to have up to date information about the devices in use in the campaign. | - |
US404 | Manage scenarios | As Participant I want to create, edit and delete scenarios and also associate resources to them so that the operation of the devices is well documented. | v0.3 |
US405 | Stations timeline | As Participant I want to visualize a timeline of the measurement stations installation, operation and installation periods, so that I can better understand which stations where operating in a given period. | v0.4 |
US406 | Personnel timeline | As Participant I want access to visualize a sumary of the researchers' in the field participations, so that I can know who where in the field at a given point in thime. | v0.4 |
CampaignManager
Id. | Name | Description | spec. |
---|---|---|---|
US501 | Manage Stations | As CampaignManager I want to create, edit and delete stations to help me plan the campaign. | v0.2 |
US502 | Instrument Tower stations | As CampaignManager I want to instrument a tower station to specify which equipment models will be installed. | v0.2 |
US503 | Change access permissions | As CampaignManager I want to change access permission to certain files or folders so that only users that are allowed can view and edit them. | v0.2 |
US504 | Hide logbook event | As CampaignManager I want to hide certain events from the logbook so I can remove incorrect and unimportant information. | - |
US505 | Plan timelines | As CampaignManager I want to set start and end dates for the planning, execution and dismantling stages to better detail the execution plan of the campaign. | v0.2 |
US506 | View timelines | As CampaignManager I want to view timelines (personnel and stations) to prepare for future events. | v0.2 |
US506 | Add Campaign Manager | As CampaignManager I want to add new campaign managers to help with the managing tasks. | v0.2 |
US507 | Check status | As CampaignManager I want to see the campaign's collaboration status to control its planning. | v0.2 |
US508 | Check summary | As Campaign Manager I want to see the questionnaires summary so that I can be better informed about the campaign participations. | v0.2 |
US509 | Hide dataset | As CampaignManager I want to hide a dataset that has been found to be invalid so that the researchers only have access to valid datasets. | v0.3 |
US510 | Manage WMS Overlays | As CampaignManager I want to add and remove WMS overlays to/from the experiment map so that the map is easily customizable. | v0.2 |
US511 | Send Email | As CampaignManager I want to send emails to a list of participants of the campaigns that I manage, so I can quickly send information to all participants. | v0.2 |
US512 | Add participants | As CampaignManager I want to register add new participants, so that their participation can be saved. | v0.4 |
US513 | Datasets Access of Non-Participants | As CampaignManager I want to add/remove Users to a list of "Usersa authorized to download Datasets". | v0.4 |
InstitutionManager
Id. | Name | Description | spec. |
---|---|---|---|
US601 | Create equipment | As InstitutionManager I want to create new equipment sub-categories to expand the platform equipment catalog. | v0.2 |
US602 | Create simulation model | As InstitutionManager I want to create simulation models to describe the models used in the campaign. | v0.2 |
US603 | Manage manufacturers | As InstitutionManager I want to create and edit equipment manufacturers to expand the platform catalog. | v0.2 |
US604 | Manage equipment models | As InstitutionManager I want to create and edit equipment models to expand the platform catalog. | v0.2 |
US605 | Interest to participate | As InstitutionManager I want to express my intention to participate in one or more campaigns to inform the CampaignManager. | v0.2 |
US606 | Detail Equipment | As InstitutionManager I want to detail the institution's participation in terms of equipment models and simulation models for each campaign to inform the CampaignManager. | v0.2 |
US607 | Manage users | As InstitutionManager I want to create, edit and deactivate a user associated to my institution so that he can participate in campaigns. | v0.2 |
US608 | Associate participant | As InstitutionManager I want to indicate a campaign participant to let the manager know who is participating. | v0.2 |
US609 | Manage devices | As InstitutionManager I want to add, edit and remove devices inventory so that my institution can later use them on a particular campaign. | - |
US610 | Associate device | As InstitutionManager I want to make a device available for the campaign so that it can be included on it. | - |
US611 | Add InstitutionManager | As InstitutionManager I want to add a new institution manager to help with the managing tasks. | v0.2 |
US612 | Send Message | As InstitutionManager I want to send messages to a list of members of the institution that I manage, so I can quickly send information to all members. | v0.2 |
DataCurator
Id. | Name | Description | spec. |
---|---|---|---|
US701 | Manage equipment | As DataCurator I want to create, edit and remove equipment sub-categories to normalize the catalog. | v0.2 |
US702 | Manage personnel | As DataCurator I want to create, edit and remove personnel sub-categories in order to better organize personnel. | v0.2 |
US703 | Manage manufacturer | As DataCurator I want to create, edit and remove equipment manufacturers to normalize the catalog. | v0.2 |
US704 | Manage equipment model | As DataCurator I want to create, edit and remove equipment models to normalize the catalog. | v0.2 |
US705 | Manage simulation model | As DataCurator I want to create, edit and remove simulation models to correct errors. | v0.2 |
US706 | Write Contextual Information | As DataCurator I want o create, edit and remove contextual information. | v0.4 |
Project Manager
Id. | Name | Description | spec. |
---|---|---|---|
US801 | Create Campaign | As Project Manager I want to create a Campaign and its CampaignManager so that the preparation and execution of a new campaign may be initiated. | v0.2 |
US802 | Manage questionnaires | As Project Manager I want to open and close questionnaires intended for institutions to express intention to participate and to detail their participation so that I can control both their start and end. | - |
US803 | Check status | As Project Manager I want to see the questionnaires status to control campaign planning evolution. | v0.2 |
US804 | Check summary | As Project Manager I want to see the questionnaires summary so that I can be better informed about the campaign participations. | v0.1 |
US805 | Add Project Manager | As Project Manager I want to add new project managers to help with the planning of the project. | v0.2 |
US806 | Associate Institution | As Project Manager I want to associate institutions to the project so that the members of the institutions can know have detailed information about the project. | v0.2 |
US807 | Send Message | As ProjectManager I want to send messages to a list of institution managers and campaign managers of the project that I manage, so I can quickly send information to all members. | v0.2 |
Admin
Id. | Name | Description | spec. |
---|---|---|---|
US901 | Create Site | As Admin I want to create a Site so that I can associate Campaigns with it. | - |
US902 | Manage Personnel Categories | As Admin I want to create, edit and remove personnel categories so that I can ensure a correct and up to date categorisation. | v0.2 |
US903 | Manage Equipment Categories | As Admin I want to create, edit and remove equipment categories so that I can ensure a correct and up to date categorisation. | v0.2 |
US904 | Manage Users | As Admin I want to create, edit and deactivate user accounts so that I can control platform accesses. | v0.2 |
US905 | Create Project | As Admin I want to create a Project and its ProjectManager so that a new project and its campaigns can start being planned. | v0.2 |
US906 | Manage Institutions | As Admin I want to create Institutions, add the InstitutionManager and edit institutions so that they can participate in campaigns. | v0.2 |
US907 | Create DataCurator | As Admin I want to create a DataCurator to normalize the platform data and remove inconsistencies. | v0.2 |
US908 | Send Email | As Admin I want to send emails to all members of the platform, so I can quickly send them information. | v0.2 |
US909 | Approve pending registrations | As Admin I want to approve pending registrations, so that I can control who accesses the platform. | v0.2 |
US910 | New User Notification | As Admin I want be notified (via e-mail and within the platform) whenever a new user registers in the platform, so that I can approve its pending registration. | v0.2 |
3. Technical requirements
Id. | Name | Description |
---|---|---|
TR001 | Availability | The platform must be available most of the time with an up-time around 99% of the 24h period. |
TR002 | Performance | The platform must have a response time that does not degrade the user experience. |
TR003 | Reliability | The platform must consistently perform according to its specifications by minimising the technical errors. |
TR004 | Fault tolerance | The platform must be prepared to deal with runtime errors and continue to operate. |
TR005 | Maintainability | The platform must be designed to facilitate isolation and correction of defects and their causes. |
TR006 | Usability | The platform must be simple and easy to use. |
TR007 | Web app | The platform must be implemented as a web application with dynamic pages (HTML5, JavaScript, CSS3) to allow for universal access on any operating system. |
TR008 | Open source | The platform must be implemented using open source technologies. |
4. Conceptual model of the domain
“Conceptual domain modelling, also called conceptual modelling or domain modelling, is the task of discovering the entity types that represent the things and concepts, and their relationships, pertinent to your problem space.” [Ambler04]
The WindsP Universe of Discourse (UoD) is presented using UML class diagrams.
Institutions
Campaigns
Collaborations
Campaign Collaborations
Equipment
Datasets
Data measurement
Resources
Logbook
5. Physical models
6. Data models
TBD
7. Sitemap
- Search All
- Search Equipment
- Search Campaigns
- Search Users
- User Profile
- Campaign page
- Logbook
- About
- Maps
- Stations
- Station Page
- Documents
- Datasets
- Personnel Timeline
- Stations Timeline
- Useful Links
- Campaign dashboard
- Collaborations status
- Collaborations summary
- Stations
- Participants
- Useful Links
- Overlays
- About
- Institution dashboard
- Users
- Devices
- Surveys
- Info
- Project dashboard
- Collaborations status
- Collaborations summary
- Experiments
- Info
- Researcher dashboard
- Messages
- Info
- Change Password
- Admin/Data Curator dashboard
- Users
- Simulation models categories
- Equipment models categories
- Projects
- Equipment subcategories
- Equipment models
- Equipment manufacturers
- Simulation models
- Survey1: Collaboration Intention
- Survey2: Collaboration Details
- Contact
- Manual
- About
- Sign Up
- Login
- Recover Password
8. Bibliography
[Ambler04] Scott Ambler, The Object Primer, Cambridge University Press, 3rd Edition, 2004, ISBN: 978-0-521-54018-6
— Correia Lopes 2018/09/11 12:44