"Digitalize your Business"

Browse the innovation items of the project


2.5 SRL Extension of CAMEL


2.5 SRL Extension of CAMEL

Research Problem

BPaaS adaptation needs to be performed across different levels of abstraction. This is required in order to avoid having different adaptation mechanisms being triggered independently such that the effects of one mechanism can be undone by the other, thus resulting in vicious adaptation cycles. Moreover, different levels need to be covered as one problematic situation could be impossible to be addressed by just one level. For instance, the migration of a software component from one cloud to another might also require adopting the workflow level in order to perform a respective replacement of the service endpoint in the workflow description, usually done in the context of service replacement.

Apart from requiring the realisation of cross-level adaptation strategies, such strategies need to be coupled with appropriate event specification mechanisms which are able to support a sophisticated way via events can be composed. Such mechanisms should enable the conjunctive use of both time and logic-based operators in order to build composite event patterns.  


The current cloud application language exploited, CAMEL, already supports the sophisticated specification of event patterns but had to be extended with the capability to specify cross-level adaptation strategies. As such, the specification of scalability rules was enhanced according to the following ways:

(a) a scalability rule now maps to an adaptation rule to indicate the change of scope;

(b) the consequent part of such a rule now maps to an adaptation workflow. This part is modelled via the introduction of the AdaptationTask notion which maps to two different sub-notions:

(i) a SimpleAdaptationTask mapping to individual adaptation tasks that can be performed at a particular level, while

(ii) a CompositeAdaptationTask mapping to a workflow-based combination of other adaptation tasks via the use of well known workflow  constructs (sequence, parallel, conditional execution);

(c) SimpleAdaptation Tasks have been mapped to certain sub-classes which can be used to denote particular adaptation actions at specific levels of abstraction. For instance, at the level of the infrastructure, there are adaptation tasks associated to the horizontal and vertical scaling of components, the migration of components and the creation of new components.

This extension of CAMEL is visualised in the following figure, while it is accompanied at the implementation level by two other innovation items, namely AXE Adaptation Framework and Cross-Layer Adaptation Framework.



A simple example of how this CAMEL extension could support new adaptation situations apart from scaling ones concerns the Christmas Card Sending BPaaS. By inspecting the following figure, it can be understood that such a BPaaS initially would require the deployment of two VMs in a private infrastructure mapping to two internal service component of the BPaaS, namely the Card Designer Service and the Email Service. However, when the load over the Email Service exceeds a certain threshold, there will be a need to create another instance of this service. Such an instance would have to be deployed in a public cloud, if the private cloud has reached its maximum capacity.
Such a bursting scenario could be modelled via an adaptation rule which indicates that when the average CPU in the VM of the Email Service exceeds 70% and the private cloud has reached its maximum capacity, then a new instance of the Email Service has to be deployed in a public cloud.
Please note that in this case, the implementation of the adaptation service will have to be capable of deriving which public cloud is suitable for the new Email Service instance deployment as well as establishing a communication link between the existing Card Service instance and the new Email Service instance to respect the application semantics.



Slide Set on Cross Layer Management
D3.4 BPaaS Allocation and Execution Environment Prototypes
CAMEL DSL (Domain Specific Language)
AXE Adaptation Framework
GitHub Repository on CAMEL


Github CAMEL Repository

Additional Information

Originator: Kyriakos Kritikos (FORTH)
Technology Readiness Level: 5
Related CloudSocket Environment: Allocation