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 (via an API and a SPARQL endpoint).
The WindsP Web Application documentation is included in this document: requirements, design/architecture, user documentation.
The WindsP Web application supports the activities of the preparation and execution of the experiments included in NEWA — New European Wind Atlas Joint Programme, in particular, the Double hill campaign at Perdigão.
The objective of this Web application is to provide a single-point of access for design and management of the field campaign and archive all related relevant information.
WindsP supports the work of Campaign managers and participant institutions alongside all the phases: from design and preparation to execution and dissemination of the results.
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…
The functional requirements of the WindsP application are described using an agile methodology. First, the actors are identified. Later, their usage scenarios are described using the user stories idiom.
“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 modeled; they are never part of the system.” [Ambler04]
WindsP has the actors of the following figure described in the table.
|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).|
“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.
|US101||About||As User I want to see public information about the application to know about its main functionalities and used technologies.||v0.1|
|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|
|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.3|
|US302||See campaign information||As Researcher I want to browse the campaign information to have access to detailed information about the stations or device equipment that produce datasets.||v0.2|
|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.||-|
|US307||View logbook||As Researcher 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|
|US308||Save stations CSV||As Researcher I want to save stations to a CSV file so that I can use it independently of the system.||v0.1|
|US309||Save stations KMZ||As Researcher I want to export stations to KMZ so that I can analyse them on other software, such as Google Earth.||v0.1|
|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|
|US312||View equipment||As Researcher I want to view WindsP equipment so that I know about where it was used, what datasets it produced and its details.||v0.3|
|US313||Share document/logbook event||As Researcher I want to generate a link to a document / logbook event so that the resource can be shared with others.||-|
|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|
|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|
|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|
|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 Email||As InstitutionManager I want to send emails to a list of members of the institution that I manage, so I can quickly send information to all members.||v0.2|
|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|
|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 Email||As ProjectManager I want to send emails 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|
|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|
|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.|
|TR008||Open source||The platform must be implemented using open source technologies.|
“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.
[Ambler04] Scott Ambler, The Object Primer, Cambridge University Press, 3rd Edition, 2004, ISBN: 978-0-521-54018-6
— WindsPCode 2016/07/26 16:12