ExperimentControl/SRS

=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.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
The notion of session will allow the user to have an history of his previous command and this for each user.

The aim of the REST API is to access all the features of execo with a simple web application rather than using a terminal.

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,

They should work with both local multi-process experiments and experiments with distant process on distributed system, such as grid5000.

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 X.Y.Z (in Structured Natural Language)
Function:

Description:

Inputs:

Source:

Outputs:

Destination:

Action:
 * Natural language sentences (with MUST, MAY, SHALL)
 * Graphical Notations : UML Sequence w/o collaboration diagrams, Process maps, Task Analysis (HTA, CTT)
 * Mathematical Notations
 * Tabular notations for several (condition --> action) tuples

Non functional requirements:

Pre-condition:

Post-condition:

Side-effects:

=4. Product evolution=

=5. Appendices= =6. Index=