General specifications
Overview
This page describes the platform specifications. Those specifications represent detailed descriptions of general use cases.
Spécification types
Those specifications will be tagged among three categories:
- General functionnal specifications (Functionnal Specifications: FS) .
- Purely GUI specifications (GUI Specifications: GS) . Those specifications will be only implemented in the GUI to the contrary of functionnal specifications, which have to be instanciated outside the GUI.
- Specifications, which do not have any functionnal behavior (Non Functionnal Specifications: NFS) . In this group of specifications are gathered all the ones that can not be instanciated and that are more about hardware choices, OS, technologies, performance constraints.
Priorities
The following priorities are defined:
- Overriding: 1 : Absolutely compulsory specifications, if missing at the end of the project would be highly critical for the platform use. The main platform goals can not be reached without this kind of specifiaction.
- Important: 2 : Important specifications in the scope of the platform. They belong to the high priorities of the platform without being vital.
- Optional: 3 : Non priotrity specifications. If they are not completed, the platform won't be a failure so far.
Nomenclature
The specifications are listed in table as follow:
| Name | Type | Description | Notes | Priority
|
with:
- Type: the type of specification according to the type classification described above.
- Name, Description, Notes: the name, the description associated to the specification as well as optional notes.
- Priority: the priority associated to the specification according to the priority classification described above.
Vocabulary
- An object represents any object entitytoute according to simExplorer definition: for instance: Task, Worflow, Transition, Data Channel, etc
- A metadata structure represents the metadata structure, which can be created thanks to SimExplorer and which describes the structure of the metadata.
Work notes
Here are listed all issues to be discussed together
- Does the user can choose to commit the destruction of an instance? What is the level of traceability?I propose that, as done in CVS, two kinds of actions should be allowed:
- Commit a destruction: all the instance versions are kept until its destruction.
- Remove finally an object (including its version tree).
- Is the versioning compulsory? I propose that it is not and that 4 work modes are available:
- locally without versionning
- by versionning locally
- by versionning on a remote server
- by versionning in a peer to peer way
1- UC Design a task
In this use case a user is abble to give a static description of a Task.
1.1- Describe Task I/O
| Name | Type | Description | Notes | Priority
|
| Add/Edit an input to a Task | FS | The platform may enable to add, modify or remove a typed input of a Task. | | 1
|
| Add/Edit an output to a Task | FS | The platform may enable to add, modify or remove a typed output of a Task. | | 1
|
1.2- Set the task parameters
| Name | Type | Description | Notes | Priority
|
| Set the task parameters | FS | Edit and modify required parameters for any given task. | | 1
|
1.3- Describe resources
| Name | Type | Description | Notes | Priority
|
| Describe resources | FS | Define the compulsory resources to run the task. | A resource is an element that can be migrated with the algorithm, in particular it can be an input file, an deployable software, a library, a virtual machine | 1
|
2- Design a Mole
2.1 Design a Workflow
2.1.1- Describe a Capsule
It follows the global management object process (Cf Object management section)
| Name | Type | Description | Notes | Priority
|
| Assign a Task to a Capsule | FS | The platform may enable to associate a Task to a Capsule. | | 1
|
| Specify the execution environement | FS | The platform may enable to specify the execution environement among locally, on a remote server, on grid computing ... | | 1
|
2.1.2- Describe a transition
It follows the global management object process (Cf Object management section)
| Name | Type | Description | Notes | Priority
|
| Specify starting and final capsules | FS | The platform may enable to assign a starting and final Capsule for the Transition. | | 1
|
| Set a condition to a Transition | FS | The platform may enable to assign a condition to a Transition. | | 1
|
2.1.3- Describe a data channel
It follows the global management object process (Cf Object management section)
| Name | Type | Description | Notes | Priority
|
| Create a Data channel | FS | The platform may assign a starting and final Capsule for a DataChannel. | | 1
|
2.2 Assign a start capsule
| Name | Type | Description | Notes | Priority
|
| Assign a start capsule | FS | The platform may enable to define the starting Capsule among the ones of an existing Workflow, giving birth to a Mole. | | 1
|
Metadata can be described as follow:
- a structure (Metadata Struture),which is the description of the metadata and its fields. It corresponds to generated classes.
- the content (Metadata Content), which is the instance of the Metadata.
See the UML documentaion.
It follows the global management object process (Cf Object management section)
| Name | Type | Description | Notes | Priority
|
| Add/remove a basic field to a Metadata structure | FS | The platform may enable at any time to add a basic field as a string, a boolean, an integer, a float, a text or list of those types. | | 2
|
| Compose/remove a Metadata structure with a Metadata structure | FS | The platform may enable at any time to compose a Metadata structure to another Metadata structure. | | 2
|
3.2- Manage Metadata content
It follows the global management object process (Cf Object management section)
| Name | Type | Description | Notes | Priority
|
| Associate a Metadata and an Object | FS | The platform may enable to associate a metadata and an object. | | 2
|
| Separate a Metadata and an Object | FS | The platform may enable to separate a metadata and an object. | | 2
|
| Edit metadata of a an Object | FS | The platform may enable to view all the metadata associated to an object. | | 2
|
4- Supervise a worflow execution
4.1- Start/Freeze/Resume a workflow execution
| Name | Type | Description | Notes | Priority
|
| Start a workflow execution | FS | The platform may enable to start a Workflow execution locally, on a remote cluster or on a computing grid. | | 1
|
| Freeze a workflow execution | FS | The platform may enable to freeze the Workflow execution, that is to say to block any transition: once current tasks are completed, the workflow is suspended. | | 2
|
| Freeze a specific transition | FS | The platform may enable to freeze a Transition in particular, that is to say that the next Task will not be executed. | | 2
|
| Resume a workflow execution | FS | The platform may enable to restart a previously stopped Workflow in the same context as it was when it has been interrupted. | | 2
|
| Resume a Transition performing | FS | The platform may enable to resume a Transition that has been previously frozen. | | 2
|
| Specify the execution mode | FS | The platform may enable to specify the execution mode among automatic and Step by step | In Automatic mode, every transition is performed as soon as the previous task is completed. In the step by step mode, the transition performing must be specifically approved by the user (until it has not been approved the Transition remains frozen). | 2
|
| Kill all running jobs | FS | The platform may enable to kill all the running jobs. | | 2
|
| Kill all running jobs in a partcular Task | FS | The platform may enable to kill all the running job belonging to a specific Task. | | 2
|
| Kill a specific job | FS | The platform may enable to kill a specific running job. | | 2
|
4.2- Get or update the status of a workflow execution
| Name | Type | Description | Notes | Priority
|
| Retrieve the status of a specific job | FS | The platform may enable to retrieve the status of a specific job | In particular, the platform can get the execution satus (RUNNING, DONE, etc) as well as the execution instances and the location where those instances are run. | 2
|
| Register a job listener | FS | The platform may enable to register a job listener. Then, the platform is warned of the status change of any job execution. | | 2
|
4.3- Detach/Attach a workflow execution
| Name | Type | Description | Notes | Priority
|
| Detach a Workflow execution | FS | The platform may enable to freeze an execution and to prepare its migration to another host. | | 3
|
| Attach a Workflow execution | FS | The platform may enable to resume a migrated execution. | | 3
|
4.4- Execution traceability mode
| Name | Type | Description | Notes | Priority
|
| Specify the execution traceability mode | FS | The platform may enable to choose a mode of traceability execution. It may in particular possible to do this dynamically (durring the workflow execution). | The context, the resources, the environnement may by example be logged. | 2
|
5.0- General specifications
| Name | Type | Description | Notes | Priority
|
| Traceability support: local without versioning | FS | The platform may enable to handle data or objects without tracking their history (no versioning) | Note 2 | 1
|
| Traceability support: local versioning | FS | The platform may enable to manage versions of data or objects locally. | Note 2 | 2
|
| Traceability support: versioning on a server | FS | The platform may enable to manage versions of data or objects on a remote server. | Note 2 | 2
|
| Traceability support: peer to peer versioning | FS | The platform may enable to manage versions of data or objects in a peer to peer manner. | Note 2 | 2
|
| Level of traceability | NFS | The platform may enable to to manage three levels of versioning: business, experiment and execution. | Each object of each category are versionned. Several levels of versioning can also be combined. | 2
|
5.1- Manage data versionning
| Name | Type | Description | Notes | Priority
|
| Commit an object | FS | The platform may enable to commit a object on a local or remote repository. | | 2
|
| Checkout an object | FS | The platform may enable to get any version of an object on a local or remote repository. | | 2
|
| Versioned destruction of an object | FS | The platform may enable to manage the version of the destruction of an object and to keep all the history tree until its death. | Note 1 | 2
|
| Definitive destruction of an object | FS | The platform may enable to destroy an object and to fully remove it of the version tree. | Note 1 | 2
|
| Automatic Tag of object versions | FS | The platform may enable to retrieve the version number of any object in any specific context. | For instance, version number of business metadata, of worflow structure and of execution must be retrived when launching the Worflow. | 2
|
5.2- Manage version tree
| Name | Type | Description | Notes | Priority
|
| Check the current version number | FS | The platform may enable at any time to get version number of any versionned object. | | 2
|
| Check the version tree | FS | The platform may enable to get the version tree (version number, commiter name, date of the commit, etc) of any versionned object. | | 3
|
| Visualize | FS | The platform may enable to visualize the version tree (version number, commiter name, date of the commit, etc) of any versionned object. | | 3
|
| Check differences of two object versions | FS | The platform may enable to give differences between two versions of an object. | | 3
|
| Revert to previous version | FS | The platform may enable to de revert an object to previous version. | | 3
|
6- Object management
The non exhaustive list of concerned objects is:
- Task
- Workflow (including Capsules, Transitions, Data channels)
Error: Macro Image(dataManagment.png,1200px) failedAttachment 'wiki:DevDoc/Specs: dataManagment.png' does not exist.
6.0- Create an object
| Name | Type | Description | Notes | Priority
|
| Create an object | FS | The platform may enable to instantiate an Object. A implementation has to be chosen among all the defined object types (Ex: Groovy Task, Exploration Task in the case of Task creation) | Definition of a Task and of a Exploration Task within the SimExplorer context | 1
|
6.2- Edit an object
| Name | Type | Description | Notes | Priority
|
| Modify an Object | FS | The platform may enable to edit an object and to modify it. | | 1
|
6.3- Import/Export an object
| Name | Type | Description | Notes | Priority
|
| Import an Object | FS | The platform may enable to import an object. | | 1
|
| Import an Object from another format | FS | The platform may implement the import of an object in a different format (Mexico or Taverna file for instance in the case of the Worflow). | | 3
|
| Export an Object | FS | The platform may enable to export an object. | | 1
|
6.4- Delete an object
| Name | Type | Description | Notes | Priority
|
| Destroy a Object | FS | The platform may enable to destroy an existing object. | | 1
|