cloud application modelling & execution language · pdf filemodel xml database grammar m3...

22
Cloud Application Modelling & Execution Language CAMEL

Upload: truonghuong

Post on 09-Mar-2018

229 views

Category:

Documents


2 download

TRANSCRIPT

Cloud Application Modelling & Execution Language – CAMEL

Cloud Application Modelling and Execution

Language

2

Outline

• CAMEL Features

• CAMEL Use in PaaSage Workflow

• Integration

• Tool Support

• Sustainability

• Tool Training

3

Camel Features

• Multi-purpose Multi-DSL

• Integration of all DSLs into coherent whole

• Coverage of all relevant aspects: requirements, deployment, provider, organisation, security, metrics, scalability, units & types

• Re-use existing languages (developed within consortium)

• Cater for models@runtime support

• Type-instance pattern

• Syntactic & semantic model validation

4

CAMEL

SRL

Saloon CERIF

5

WS-Agreement

CAMEL in the PaaSage wokflow

6

Application implementation

Application design

Java, Python, … Application source

code, binaries, scripts

UML Application model

Provisioning and deployment modelling

Quality of service

modelling

CloudML Provisioning and

deployment requirements

SRL Scalability rules

WS-Agreement Service-level

objectives

Provider modelling

Organisation modelling

Saloon Provider Models

CERIF Organisation models

CAMEL Configuration model Profiler Constraint problem Reasoner

CAMEL Deployment model

Adapter

Execution scripts Executionware

Infrastructure / Platform

Infrastructure / Platform

Historical data

Configuration phase

Deployment phase

Execution phase 7

User-specific

provider models

CAMEL integration

8

Model XML Database Grammar

M3

M2

M1

conformsTo

Ecore meta-metamodel

CloudML metamodel

CloudML model

XML schema

WS-Agreement schema

definition

SLA

Relational algebra

CERIF relational schema

CERIF database

tuples

EBNF

Java grammar

Java program

Technical spaces

9

Solution

Model

XML Database Grammar

10

Integration

• Associate concepts from different domain-specific languages

• Delete overlapping concepts

• Add OCL constraints to enforce the semantics of the domain

11

Technical underpinning

12

Tool Support

Editor Model Valid.

Aspects Rep. Integr.

Control. Access

Format Roles Notes

Tree All ~ XMI any Default

Textual All - - Textual (ed.), XMI

devops Xtext-based

Graphical Req. & Org.

Both any Eclipse RAP

13

Sustainability

• OW2 Community

• Other projects:

• CloudSocket (www.cloudsocket.eu)

14

Links

• Documentation: https://tuleap.ow2.org/plugins/git/paasage/camel?p=camel.git&a=blob_plain&h=62d67508d3611f64d67a88ead10afeef350f711e&f=documents/CAMELDocumentation.pdf&noheader=1

• Training Material: http://www.paasage.eu/training-materials/modelling-with-camel

• Deliverables: http://www.paasage.eu/images/documents/docs/D2.1.3_CAMEL_Documentation.pdf

• Code (domain code & textual editor): https://tuleap.ow2.org/plugins/git/paasage/camel

• Dedicated web page: www.camel-dsl.org

15

Tool Training

• Focus on CAMEL Textual Editor

• Involves specifying a CAMEL Configuration model for Sugar CRM application

• Focus on how to use the editor

• Audience can use any textual editor to follow

• Camel file available at SummerSoc program http://summersoc.eu/wp-content/uploads/SugarCRMPaasagePlatformFlexiantOnly.rar

• @Home: use the CAMEL textual editor

• Installation Instructions at Back Up Slides

16

Sugar CRM

• Offered by SugarCRM company

• Community & Commercial Editions

• Functionality includes:

• sales-force automation

• marketing campaigns

• customer support

• collaboration

• mobile/social CRM

• reporting

17

Sugar CRM Deployment Structure

18

AppVM – VM

SugarCRMApp

FlexiantMedium RequirementSet

OSRequirement: UbuntuOS

LocationRequirement: UK

HWRequirement:

minCPU: 1, maxCPU: 4

minCores: 2, maxCores: 8

minRAM: 1024, maxRAM: 8192

minStorage: 60, maxStorage: 500

hosting

vmRequirementSet

2090 providedCommunicationPort

MysqlDB communication

Thank you!

19

Back Up Slides

20

CAMEL Textual Editor Installation

• Install latest Eclipse version (Mars)

• Install EMF, OCL & Xtext plugins

• Download & Import CAMEL Code (4 plugins)

• Go to eu.paasage.camel.dsl plugin

• Right-click on eu.paasage.camel.dsl.GenerateCamelDsl.mwe2 & press run as MWE2 workflow

• Follow instructions

21

CAMEL Textual Editor Installation

• Right-click on the eu.paasage.camel.dsl plugin and press run as Eclipse Application

• When new Eclipse Application launched:

• Create a Java project

• Import the CAMEL textual model at src folder

• Double-click on it to start editing

22