Back to DevDoc

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:

NameTypeDescriptionNotesPriority

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

  1. 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).
  1. 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

NameTypeDescriptionNotesPriority
Add/Edit an input to a TaskFSThe platform may enable to add, modify or remove a typed input of a Task.1
Add/Edit an output to a TaskFSThe platform may enable to add, modify or remove a typed output of a Task.1

1.2- Set the task parameters

NameTypeDescriptionNotesPriority
Set the task parametersFSEdit and modify required parameters for any given task.1

1.3- Describe resources

NameTypeDescriptionNotesPriority
Describe resourcesFSDefine 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 machine1

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)

NameTypeDescriptionNotesPriority
Assign a Task to a CapsuleFSThe platform may enable to associate a Task to a Capsule.1
Specify the execution environementFSThe 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)

NameTypeDescriptionNotesPriority
Specify starting and final capsulesFSThe platform may enable to assign a starting and final Capsule for the Transition.1
Set a condition to a TransitionFSThe 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)

NameTypeDescriptionNotesPriority
Create a Data channelFSThe platform may assign a starting and final Capsule for a DataChannel.1

2.2 Assign a start capsule

NameTypeDescriptionNotesPriority
Assign a start capsuleFSThe platform may enable to define the starting Capsule among the ones of an existing Workflow, giving birth to a Mole.1

3- Manage Metadata

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.

3.1- Manage Metadata structure

It follows the global management object process (Cf Object management section)

NameTypeDescriptionNotesPriority
Add/remove a basic field to a Metadata structureFSThe 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 structureFSThe 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)

3.3- Associate a Metadata to an Object

NameTypeDescriptionNotesPriority
Associate a Metadata and an ObjectFSThe platform may enable to associate a metadata and an object.2
Separate a Metadata and an ObjectFSThe platform may enable to separate a metadata and an object.2
Edit metadata of a an ObjectFSThe 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

NameTypeDescriptionNotesPriority
Start a workflow executionFSThe platform may enable to start a Workflow execution locally, on a remote cluster or on a computing grid.1
Freeze a workflow executionFSThe 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 transitionFSThe 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 executionFSThe 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 performingFSThe platform may enable to resume a Transition that has been previously frozen.2
Specify the execution modeFSThe platform may enable to specify the execution mode among automatic and Step by stepIn 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 jobsFSThe platform may enable to kill all the running jobs.2
Kill all running jobs in a partcular TaskFSThe platform may enable to kill all the running job belonging to a specific Task.2
Kill a specific jobFSThe platform may enable to kill a specific running job.2

4.2- Get or update the status of a workflow execution

NameTypeDescriptionNotesPriority
Retrieve the status of a specific jobFSThe platform may enable to retrieve the status of a specific jobIn 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 listenerFSThe 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

NameTypeDescriptionNotesPriority
Detach a Workflow executionFSThe platform may enable to freeze an execution and to prepare its migration to another host.3
Attach a Workflow executionFSThe platform may enable to resume a migrated execution.3

4.4- Execution traceability mode

NameTypeDescriptionNotesPriority
Specify the execution traceability modeFSThe 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- Use traceability tools

5.0- General specifications

NameTypeDescriptionNotesPriority
Traceability support: local without versioning FSThe platform may enable to handle data or objects without tracking their history (no versioning)Note 21
Traceability support: local versioningFSThe platform may enable to manage versions of data or objects locally.Note 22
Traceability support: versioning on a serverFSThe platform may enable to manage versions of data or objects on a remote server.Note 22
Traceability support: peer to peer versioningFSThe platform may enable to manage versions of data or objects in a peer to peer manner.Note 22
Level of traceabilityNFSThe 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

NameTypeDescriptionNotesPriority
Commit an objectFSThe platform may enable to commit a object on a local or remote repository.2
Checkout an objectFSThe platform may enable to get any version of an object on a local or remote repository.2
Versioned destruction of an objectFSThe platform may enable to manage the version of the destruction of an object and to keep all the history tree until its death.Note 12
Definitive destruction of an objectFSThe platform may enable to destroy an object and to fully remove it of the version tree.Note 12
Automatic Tag of object versionsFSThe 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

NameTypeDescriptionNotesPriority
Check the current version numberFSThe platform may enable at any time to get version number of any versionned object.2
Check the version treeFSThe platform may enable to get the version tree (version number, commiter name, date of the commit, etc) of any versionned object.3
VisualizeFSThe 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 versionsFSThe platform may enable to give differences between two versions of an object.3
Revert to previous versionFSThe 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) failed
Attachment 'wiki:DevDoc/Specs: dataManagment.png' does not exist.

6.0- Create an object

NameTypeDescriptionNotesPriority
Create an objectFSThe 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 context1

6.2- Edit an object

NameTypeDescriptionNotesPriority
Modify an ObjectFSThe platform may enable to edit an object and to modify it.1

6.3- Import/Export an object

NameTypeDescriptionNotesPriority
Import an ObjectFSThe platform may enable to import an object.1
Import an Object from another formatFSThe 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 ObjectFSThe platform may enable to export an object.1

6.4- Delete an object

NameTypeDescriptionNotesPriority
Destroy a ObjectFSThe platform may enable to destroy an existing object.1

    logo cemagref

    logo iscpif

    logo lifegrid

    logo region auvergne

    logo patres project