ExperimentControl/SRS
Version | Date | Authors | Description | Validator | Validation Date | |
---|---|---|---|---|---|---|
0.1.0 | 2017 | Lemaire Timothée - Homberg Nicolas | TBC | TBC | TBC |
1. Introduction
1.1 Purpose of the requirements document
This document's aim is to explain the requirement of the execo system
1.2 Scope of the product
The scope of the product is to improve the library execo by adding :
- a notion of session.
- interaction with a REST API
- support of ressources sets
1.3 Definitions, acronyms and abbreviations
1.4 References
- execo's page : execo
- expo, another tool, that already support resources sets : expo
- Another experiment control tool : XPFlow
- article on the subject : A survey of general-purpose experiment management tools for distributed systems
1.5 Overview of the remainder of the document
2. General description
2.1 Product perspective
execo is a python library, that aim to improve the process of making experiments on distributed systems.
the aim of the project is to extends execo with new functions.
execo is distributed under GNU license.
2.2 Product functions
Creating group of resources has for purpose to gather several process together.
The notion of session will allow the user to have an history of his previous command and this for each user .
The REST API will allow to communicate with distant resource with the benefices of REST architecture.
2.3 User characteristics
the users of the product will remain the same as the version of execo the project is based on.
Those users are mainly researchers, or any person that need to create experiments on distributed system.
2.4 General constraints
the added functions will need to support the full field of applications of execo.
2.5 Assumptions and dependencies
3.Specific requirements, covering functional, non-functional and interface requirements
- document external interfaces,
- describe system functionality and performance
- specify logical database requirements,
- design constraints,
- emergent system properties and quality characteristics.
3.1 Requirement 1.1 resource grouping
Description: create a resource set
Inputs: multiple resource (process local, or distant) descriptors
Source: the program environment
Outputs: a resource set descriptor
Destination: the program environment
Action:
- Call of the function to create the new resource set with existing resource in argument.
Non functional requirements:
Pre-condition:
Post-condition:
Side-effects:
3.2 Requirement 1.2 resource set functions
Description: functions on a set of resource
Inputs: a resource set
Source: the program environment
Outputs: function output on the resource set
Destination: the program environment and/or an output file (or terminal)
Action:
- Call of the function on the resource set.
Non functional requirements:
Pre-condition: resource set not empty.
Post-condition: post condition on the specific function.
Side-effects:
3.3 Requirement 2 Session
Description: identifying actions in different sessions define by date / user.
Inputs: Commands on the program
Source: User inputs
Outputs: record of the activity
Destination: log files
Action:
- The user (Connect to)/launch the program.
- The user enter commands and use the program normally.
- User's activity is recorded into the log file.
- User (disconnect from) / close the program.
Non functional requirements:
Pre-condition: the User can connect to or launch the program
Post-condition:
Side-effects:
3.1 Requirement 1.1 (in Structured Natural Language)
Function: resource grouping
Description: set a resource set
Inputs: multiple resource (process local, or distant) descriptors
Source: the program environment
Outputs: a resource set descriptor
Destination: the program environment
Action:
- Call of the function to create the new resource set with existing resource in argument.
Non functional requirements:
Pre-condition:
Post-condition:
Side-effects: