Innovative Features

Works related to EasyVIPER aim at facing dynamicity and adaptation issues for workflows. They consist in using CBSE and SCA concepts. Indeed, EasyVIPER is implemented thanks to Frascati, an implementation of SCA, based on Fractal, which is an implementation of CBSE.


SCA Representation of a workflow inside EasyVIPER.

For example, the Intent concept coming from SCA standard allows to add non functional operations like debugging, persistence or monitoring, upon a running workflow.
Moreover, the component-based mechanism allows to introspect into executing workflows and to modify at runtime some of their components. Low-level bricks operations used in order to perform such reconfigurations are linker operations:

  • linkBrotherNodes(node1, node2)
  • linkChildNode(parentNode, childNode)

Indeed a node provides a reference to its following node (brother) and to a list of children. The following figures explain these mechanisms adding.


Two nodes linked as brothers.

Child linking.

There are also creation pattern operations:

  • createSequence(name, listOfNodes, parentScope)
  • createScope(name, parentScope)
  • createIf(name, listOfConditions, listOfNodes, parentScope)
  • createSeveralReceivers(name, listOfReceiverBehaviors, listOfNodes, parentScope)
  • createLoopPattern(name, condition, isConditionAppliedAtBegining, listOfNodes, parentScope)
  • createForkPattern(name, listOfNodes, parentScope)

and reorganization pattern operations:

  • convertForkToSequence(forkNode, parentScope)

These two concepts led to a basis framework able to manage versatile workflows. This framework is composed of 3 services that are pluggable onto EasyVIPER. They are listed in this page.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.