=Paper=
{{Paper
|id=Vol-1563/paper3
|storemode=property
|title=The Evolution of CloudML and its Applications
|pdfUrl=https://ceur-ws.org/Vol-1563/paper3.pdf
|volume=Vol-1563
|authors=Alexander Bergmayr,Alessandro Rossini,Nicolas Ferry,Geir Horn,Leire Orue-Echevarria,Arnor Solberg,Manuel Wimmer
|dblpUrl=https://dblp.org/rec/conf/models/BergmayrRFHOSW15
}}
==The Evolution of CloudML and its Applications==
The Evolution of CloudML and its Manifestations
Alexander Bergmayr1 , Alessandro Rossini2 , Nicolas Ferry2 , Geir Horn3 ,
Leire Orue-Echevarria4 , Arnor Solberg2 , and Manuel Wimmer1
1
TU Wien, Austria
{lastname}@big.tuwien.ac.at
2
SINTEF, Norway
{firstname.lastname}@sintef.no
3
University of Oslo, Norway
Geir.Horn@mn.uio.no
4
TECNALIA, ICT - European Software Institute Division, Spain
Leire.Orue-Echevarria@tecnalia.com
Abstract—Several modelling approaches including CloudML along with UML profiles [11]. The main rationale behind the
emerged to specify the deployment of cloud-based applications latter stems from the goal of the ARTIST project to support
and automate the provisioning of computational resources. migration of existing applications to the cloud, whereby UML
While CloudML was introduced in the REMICS project, its
development continued by ongoing projects, i.e., ARTIST, models are reverse-engineered and tailored to a selected cloud
MODAClouds, and PaaSage. As the evolution of CloudML environment. In contrast, the goal of the MODAClouds and
in the three projects aims for a different goal, a divergence PaaSage projects is to support self-adaptive multi-cloud ap-
between the current project-specific manifestations of CloudML plications, whereby the models are not necessarily reverse-
can be identified. Moreover, as the projects consider different engineered, but rather include dynamic variability to deal with
application scenarios, CloudML has been adapted to their
needs. In this paper, we distil these needs and investigate how multiple cloud environments and especially run-time changes
CloudML is currently manifested in the model-based ecosystems in these environments. As a result of the independent evolution
employed by the projects. We discuss the main challenges that of CloudML in different model-based ecosystems, syntactic as
need to be addressed to achieve a convergence of the current well as semantic divergences can be identified. At the same
CloudML manifestations. time, it seems nevertheless natural that the developed DSLs
Keywords: Cloud Computing, Model-Driven Engineering, share common modelling concepts as a result of their origin
UML, Domain-Specific Language, Cloud Modelling Language, even though all three projects, i.e., ARTIST, MODAClouds,
CloudML and PaaSage, provide model-based support for specific pur-
poses and different application scenarios.
I. Introduction In this paper, we give a brief overview of CloudML by
To address the complexity of specifying and executing discussing its core modelling concepts and the primary needs
cloud-based applications, several modelling approaches in- of the three projects to adapt it to their model-based eco-
cluding CloudML1 (Cloud Modelling Language) [1] have systems. To demonstrate these model-based ecosystems, we
recently been proposed [2], [3]. The REMICS project2 [4] introduce a representative application called SensApp [12] to
introduced CloudML [5] in 2012, with the main aim to which we refer throughout the remaining paper (cf. Section II).
automate the provisioning and deployment of cloud-based The project-specific ecosystems are investigated from the
applications. Several other projects, notably ARTIST3 [6], perspective of how CloudML has been manifested in them (cf.
MODAClouds4 [7], and PaaSage5 [8] are currently continuing Section III). The insights gained by this investigation enables
to develop cloud modelling approaches inspired by CloudML. us to discuss how the DSLs complement each other and even
Because the evolution of CloudML in these projects aim for a more important how their convergence may be achieved in the
different goal and the application scenarios considered by the long term (cf. Section IV). We conclude with an outlook on
projects differ, distinct cloud modelling concepts have been future work (cf. Section V).
introduced in the project-specific manifestations of CloudML.
While the MODAClouds and PaaSage project joined forces II. Modelling in cloud computing
for developing an external domain-specific language (DSL) [9] First, we briefly present the main concepts of CloudML
realised as a metamodel [1], [10], the ARTIST project de- and discuss the primary needs of the three projects to adapt
veloped an internal DSL [9] realised as a UML library it to their model-based ecosystems. Then, we introduce a
representative application in the context of cloud computing.
1 CloudML: http://cloudml.org
2 REMICS EU project: http://remics.eu
3 ARTIST EU project: http://www.artist-project.eu
A. CloudML in a nutshell
4 MODAClouds EU project: http://www.modaclouds.eu The provisioning and deployment of cloud-based applica-
5 PaaSage EU project: http://www.paasage.eu tions is typically carried out based on a deployment topology
capturing the deployable software artefacts, the middleware re-
quired to execute them, and the virtual machines providing the
computational resources of a cloud environment. To address
these requirements, CloudML is inspired by component-based data sensor
approaches to facilitate separation of concerns. A CloudML miner architect
end users registry
model assembles components exposing ports (or interfaces), database
and bindings between these ports. CloudML supports applic-
ation deployments to be specified in terms of cloud provider- sensors
independent models (CPIM), where the refinement into cloud
notification
provider-specific models (CPSM) is foreseen in a separate step. SensApp Admin
dispatcher
The main concepts of CloudML can be summarized as follows
(we refer the reader to [1] for details): Internet of Services Internet of Things
• Internal component: Represents a reusable type of ap-
Figure 1. The SensApp architecture [12]
plication component to be deployed onto an external
component.
• External component: Represents a reusable type of a the technical-related information is exploited in the refinement
virtual machine or platform service. of deployment models towards the selected cloud environment.
• Port: Represents a required or provided port to a feature
of a component. B. SensApp example
• Communication: Represents a communication binding SensApp7 is an open-source, service-oriented application for
between ports of two components, which implies a de- storing and exploiting large data sets collected from sensors
pendency between the components. and devices [12]. Using SensApp it is possible to register
• Hosting: Represents a binding between a component sensors, store their data, and notify clients when new data
deployed onto another one. are pushed.
• Cloud: Represents a collection of virtual machines offered SensApp consists of four main components (see Figure 1).
by a particular cloud provider. The Registry component stores metadata about the sensors.
Moreover, CloudML exploits the type-instance pattern [13] to The Database component stores raw data from the sensors
foster reuse of defined types, e.g., a virtual machine type with in a document-oriented datastore. The Notifier component
specific characteristics. Its abstract syntax is realized in terms sends notifications when relevant data are pushed. Finally, the
of a metamodel6 based on Ecore. Dispatcher component receives data from the sensors, stores
In the MODAClouds and PaaSage project, dedicated tool these data in the Database according to the metadata from
support has been developed to enact the provisioning and the Registry, and then triggers the notification mechanisms
deployment of multi-cloud applications and facilitate dynamic for the new data. SensApp Admin (see Figure 1) exploits
adaptations of provisioned resources at run-time, by leveraging the public REST API of SensApp to provide support for
upon the models@run-time approach [14]. For that reason, sensors management and data visualization using a graphical
CloudML has been adapted to the needs of reasoning, simu- user interface. In order to be deployed, SensApp requires an
lating, and validating adaptation actions before they are carried application container and a database, whilst SensApp Admin
out against components deployed onto a cloud environment. requires an application container.
As cloud environments are inherently elastic in the sense
that provisioned resources can be scaled on-demand, these de- III. Manifestations of CloudML
mands need to be specified for the artefacts of the deployment To give more insights into the evolution of CloudML in
topology usually in terms of scalability rules. Probably the the ARTIST, MODAClouds, and PaaSage projects, we briefly
simplest form of such a rule is to let the cloud environment summarize its manifestation in the model-based ecosystems
decide on provisioning new resources or releasing them. To employed by these projects.
specify more sophisticated custom rules for a target cloud
environment requires dedicated language support as proposed A. ARTIST ecosystem
by the PaaSage project. A major goal of the ARTIST project is to support the mi-
Finally, in the ARTIST project, the selection of the target gration of existing applications towards a cloud-based environ-
cloud environment in the context of a migration scenario ment with the goal to modernise them. This typically implies
has been addressed by introducing concepts that enable not adaptations to the application components. ARTIST advocates
only technical-related information to be captured (e.g., cloud modelling techniques to provide appropriate views that are
services and performance characteristics), but also business- aimed at increasing the engineer’s current understanding of
related ones (e.g., the costs of such services [15]). Particularly, the application components. Clearly, the selected modelling
language to represent such views in terms of models plays
6 CloudML metamodel: https://github.com/SINTEF-9012/cloudml/tree/
master/codecs/kmf/metamodel 7 SensApp: http://sensapp.org
an important role because the purpose of these views is to cloud node refers to the AWSM3Medium virtual machine type,
support engineers in analysing the application from which the DynamoDB service is employed for the required cloud
the models were produced. In the ARTIST project, UML is storage capabilities. Considering the defined stereotype cor-
favoured to reverse engineer models from software artefacts responding to the AWSM3Medium virtual machine type, it is
not only because it is a standardised modelling language annotated with stereotypes provided by meta-profiles devoted
but also it provides multiple modelling viewpoints to spot to pricing and performance information of cloud services. For
potential cloud-oriented opportunities for modernizing soft- instance, this information can be exploited in the process of
ware, platform, and infrastructure artefacts. Moreover, UML selecting the target cloud environment.
profiles facilitate models that capture environment-specific
information, which appears beneficial from a reverse engin-
eering perspective and a forward-engineering perspective [16]. SensApp Components
Considering the latter perspective, specifying cloud-oriented «component»
deployment models directly in UML requires extensions to Database
it, as UML’s standard deployment language does not provide «component» «component»
«use» Notification
modelling concepts specific to cloud environments. Registry
«use»
«use»
To address this need, in the ARTIST project, CloudML has
«component»
been realised as a UML internal DSL based on lightweight Dispatcher
extensions to the deployment viewpoint in terms of a library «manifestation» «manifestation»
and profiles. They are especially beneficial for migration «artifact»
SensApp «manifestation»
scenarios where reverse-engineered UML models are tailored fileName=sensapp.war
towards the environment of the selected cloud provider in
SensApp Deployment
a forward engineering step. To capture environment-specific
:SensApp
information, UML profiles dedicated to well-known cloud
«deploy»
environments, e.g., Amazon AWS8 , Google Cloud Platform9 ,
and Microsoft Azure10 , have been introduced. With the notion :WebContainer «deploy»
container=Jetty
of so called meta-profiles, cloud environment profiles can be «deploy»
refined with typically cross-cutting technical-related details, :CloudStorage
:CloudNode
such as the performance of a virtual machine, and business- dataStructure=
virtualization=Infrastructure DocumentOriented
related information [15], like the upfront and hourly costs of scaling=Auto consistency=eventual
a virtual machine. Exploiting UML profiles to externalize do-
main knowledge of cloud computing enables a clear separation Figure 2. Excerpt of the CPIM of the SensApp example.
between a CPIM and a CPSM, where UML profiles are applied
to a CPIM for the purpose of refining it towards a CPSM as
part of a forward engineering step. «profile»AWSCloudProfile
An excerpt of the CPIM of the SensApp example is depicted «generalPurpose,runningCosts»
«Stereotype»
in Figure 2. It shows SensApp’s main components, their AWSM3Medium
manifestation by a deployable artefact, and the deployment «GeneralPurpose»
memory=3.75
of the artifact in a cloud environment. Because CloudML virtualCores=1
applies the type-instance pattern, it is important to note that localDisk=4
«RunningCosts»
the deployment models depicted in Figure 2 and Figure 3 are value=0.70
specified at the instance level. The respective types are defined currency=USD
metric=Hour
by a model library realizing CloudML. Assigning types to
modelled instance specifications is natively supported by UML «apply»
AWS-based SensApp Deployment
via the classifier relationship. Also, UML supports component-
:SensApp
based modelling by default, which implies that the component
«deploy»
concept as defined by CloudML does not have to be recreated
:WebContainer
in UML. «deploy»
container=Jetty
Considering the deployment viewpoint, Figure 3 shows the «deploy»
result of the refinement from the CPIM towards a CPSM, «aWSM3Medium»
where the target ’platform’ is assumed to be Amazon AWS. :CloudNode «DynamoDB»
virtualization=Infrastructure :CloudStorage
For that reason, the UML profile dedicated to Amazon AWS dataStructure=
scaling=Auto
has been applied to the deployment model. While the modelled «AWSM3Medium» DocumentOriented
operatingSystem=Linux consistency=eventual
region=EU
8 Amazon AWS: http://aws.amazon.com
9 Google Cloud Platform: http://cloud.google.com
10 Microsoft Azure: http://azure.microsoft.com Figure 3. Excerpt of the CPSM of the SensApp example.
B. MODAClouds ecosystem CloudNodeInstance : SL
ML : ML
m1Provided
One of the objectives of the MODAClouds project is to mongoDB : JettySC :
deliver an advanced model-driven approach along with an in- s1 mongoDB
mongoDB
JettySC
sc
ml
tegrated software development environment to support engin- sl mongoDBRequired scRequired
eers in building and deploying multi-cloud applications (i.e., sensapp :
SensAppAdmin :
sensapp restRequired
applications that run across several clouds and exploit services JettySC : SensAppAdmin
AdminSensApp
JettySC
rest
at the infrastructure-, platform-, and software layer), together ml
sc scRequired
with related data [7]. This includes defining quality of service
constraints, monitoring mechanisms, prediction models, and
adaptive policies to provide quality assurance. To achieve
SensAppMinRam SensAppCPUUtilization SensAppUtilization
this objective, a large set of tool-supported domain-specific
languages collectively called MODACloudML has been de-
veloped. MODACloudML relies on the following three layers Figure 4. SensApp deployment model with QoS constraints.
of abstraction: (i) the cloud-enabled computation independent
model (CCIM) to describe an application and its data, (ii) the
CPIM to describe cloud concerns related to the application RAM (e.g., the virtual machine has to offer a minimum of 2GB
in a cloud-agnostic way, and (iii) the CPSM to describe the of RAM), the maximum CPU utilization (e.g., CPU utilization
cloud concerns needed to deploy and provision the application average should not exceed 90%), and the maximum average
on a specific cloud. Within MODACloudML, CloudML is response time (e.g., it should not exceed 5 seconds) required
exploited both at design-time to describe the deployment of to properly execute SensApp.
application components on cloud resources as well as the To facilitate integration and interaction with the other
provisioning of these resources at the CPIM and CPSM levels, MODAClouds design- and run-time components, deployment
and at run-time to manage the deployed applications. As models can also be transformed or specified using a JSON-
a result, CloudML model encompasses runtime information based textual syntax. Listing 1 presents the specification of
such as IP addresses, cloud resources ids and statuses. As the SL virtual machine type that is used to host SensApp. In
a part of MODACloudML, CloudML interacts with CCIM particular, the properties minCores, minRam, and minStorage
models describing the application to be deployed as well as represent the lower bounds of virtual compute cores, RAM,
models exploited for data migration and QoS optimisation and and storage, respectively, of the required virtual machine (e.g.,
performance analysis: minCores=1, minRam=2000). In this case, in order to validate
the QoS constraints, the minRam property is set to 2GB. The
• Data Model: describes the main data structures associated
same set of properties can be specified graphically using the
with the application to be. It can be expressed in terms of
MODAClouds IDE.
typical ER diagrams and enriched by a metamodel that
specifies functional and non-functional data properties. At Listing 1. Virtual machine type in CloudML (JSON syntax).
the CPIM level, this model refines the CCIM data model 1 "vms ": [{
to describe it in terms of logical models. At the CPSM 23 ""name eClass ": "net. cloudml .core:VM",
": "SL",
level, it describes the data model based on the specific 4 " minRam ": "2000" ,
5 " minCores ": "1" ,
data structures implemented by the cloud providers. 6 " minStorage ": "50" ,
• QoS Model: includes QoS properties (e.g., response time) 7 "os ": " ubuntu ",
at the application level as well as QoS properties of cloud 98 "" is64os ": true ,
securityGroup ": " sensapp ",
resources in both a provider-independent (CPIM level) 10 " sshKey ": " cloudml ",
" groupName ": " sensapp ",
and a provider-specific (CPSM level) way. It includes cost 11
12 " privateKey ": " cloudml .pem",
information, thus offering the possibility to estimate an 13 " providedExecutionPlatforms ": [{
14 " eClass ": "net. cloudml .core: ProvidedExecutionPlatform ",
upper-bound for application costs. 15 "name ": " m1Provided ",
• Monitoring rules: control the execution of specific soft- 16 "owner ": "vms[SL]",
}]
ware artefacts, including components and data assigned 17 18 }]
to specific resources. They are used to indicate to the
run-time platform the components to be monitored.
Figure 4 depicts a CloudML CPIM model for the de- C. PaaSage ecosystem
ployment and provisioning of the SensApp application to- In order to cover the necessary aspects of the modelling
gether with associated QoS constraints specified with the and execution of multi-cloud applications, PaaSage adopts
MODAClouds IDE (aka. Creator 4Clouds). In this deployment the Cloud Application Modelling and Execution Language
model, SensApp and the MongoDB are deployed on a single (CAMEL) [17]. CAMEL integrates and extends existing
virtual machine and the SensApp Admin on another one. The DSLs, namely CloudML, Saloon [18], and the Organisation
QoS constraints are associated to the virtual machine called part of CERIF [19]. In addition, CAMEL integrates new
CloudNodeInstance and specify the minimum amount of DSLs developed within the project, such as the Scalability
Rule Language (SRL) [20]. CAMEL enables engineers to 7 provided communication RESTProv {port: 8080}
required communication MongoDBReq { mandatory }
specify multiple aspects of multi-cloud applications, such 98 required host LL
as provisioning and deployment topology, provisioning and 10 configuration SensAppConfiguration {
download : "wget -P ..."
deployment requirements, service-level objectives, metrics, 11 12 install : "sudo bash ..."
scalability rules, providers, organisations, users, roles, secur- 13 }
}
ity controls, execution contexts, execution histories, etc. To 14 15 }
facilitate the integration across the components managing the 16 scalability model SensAppScalability {
life cycle of multi-cloud applications, PaaSage leverages upon 1817 scalability rule AvgExecutionTimeRule {
event: SensAppScalability . AvgExecutionTimeViolation
CAMEL models that are progressively refined throughout the 19 actions [ SensAppScalability . HorizontalScaleSensApp ]
20 }
modelling, deployment, and execution workflow phases: 21 horizontal scaling action HorizontalScaleSensApp {
• Modelling phase: Similar to MODAClouds, the envi- 22 type: SCALE OUT
vm: SensApp .LL
sioned PaaSage engineer designs a CPIM, which specifies 23 24 internal component : SensApp . SensApp
the deployment artifacts of a multi-cloud application 25 count: 1
}
along with its requirements and objectives in a cloud 26 27 non - functional event AvgExecutionTimeViolation {
provider-independent way. 28 metric condition : SensAppMetric . AvgExecutionTimeGT1000
29 violation
• Deployment phase: The Profiler component consumes the
30 }
CPIM, matches this model with the profile of cloud pro- 31 }
viders, and produces a constraint problem. The Reasoner 3332 metric model SensAppMetric {
metric condition AvgExecutionTimeGT5000 {
component solves the constraint problem (if possible) 34 context : SensAppMetric . AvgExecutionTimeGT5000
threshold : 5000.0
and produces a CPSM, which specifies the deployment 35 36 comparison operator : >
of a multi-cloud application along with its requirements 37 }
composite metric context AvgExecutionTimeGT5000 {
and objectives in a cloud provider-specific way. The 38 39 metric : SensAppMetric . AvgExecutionTime
Adapter component consumes the CPSM and produces 40 application : SensApp
window : SensAppMetric . WindowFiveMin
deployment plans, which specify platform-specific details 4142 schedule : SensAppMetric . ScheduleOneMin
of the deployment. 43 composing metric contexts [ SensAppMetric .
RawExecutionTimeContext ]
• Execution phase: The Executionware [25] consumes the
44 quantifier : ALL
deployment plans and enacts the deployment of the 45 }
composite metric AvgExecutionTime {
application components on suitable cloud infrastructures. 46 47 property : SensAppMetric . ExecutionTime
Finally, the Executionware records historical data about 48 unit: SensAppUnit . milliseconds
value type: SensAppType . AvgExecutionTimeRange
the application execution, which allows the Reasoner 49 50 metric formula AvgExecutionTimeFormula {
to look at the performance of previous CPSMs when 51 function arity: UNARY
52 MEAN ( SensAppMetric . RawExecutionTime )
producing a new one. 53 }
At the beginning of the PaaSage project, CAMEL consisted of 54 }
a family of loosely coupled DSLs, where the first member of 55 }
the family was CloudML. During the course of the project, this
family of loosely coupled DSLs was transformed into a single IV. Convergence of CloudML manifestations
DSL. To integrate concepts from multiple DSLs into CAMEL, We summarise main challenges that need to be addressed
we adopted the Eclipse Modelling Framework (EMF). The for a convergence of the existing CloudML manifestations.
current version of CAMEL is realized in terms of an Ecore-
based metamodel organised into packages that include cross A. External DSL vs. UML internal DSL
references as a result of the integration. As UML supports multiple viewpoints, CloudML and UML
Listing 2 shows a CAMEL CPIM whereby the deployment overlaps in several respects, particularly when the component
model can be regarded as a variant of a CloudML model viewpoint and deployment viewpoint is considered. To achieve
while the scalability and metric models are SRL models. The a convergence between the CloudML manifestations requires
scalability model refers to the virtual machine LL (line 24) consideration of UML concepts in addition to the concepts
in the deployment model as well as the composite metric introduced by CloudML itself and the project-specific mani-
context AvgExecutionTimeGT5000 (line 28) in the metric model. festations of it. For instance, components and ports are defined
This scalability model specifies that the virtual machine should by both CloudML and UML. At the same time, the differenti-
scale out every time the average execution time in the last five ation between internal and external components is specific to
minutes is greater than 5000 milliseconds. CloudML. This differentiation, i.e., the specification of cloud
services required for an application deployment, is supported
Listing 2. SensApp deployment, scalability, and metric models in CAMEL. via UML profiles by ARTIST’s model-based ecosystem.
1 deployment model SensAppDeployment {
2 vm LL {
3 requirement set LLReqSet B. Profiles for cloud environment-specific information
4 provided host LL
5 }
The specification of cloud-specific deployment models may
6 internal component SensApp { differ between the ecosystems of the projects. This is because
UML profiles introduce an additional typing dimension. These References
types need to be either introduced in terms of a properly [1] N. Ferry, H. Song, A. Rossini, F. Chauvel, and A. Solberg, “CloudMF:
structured type hierarchy in CloudML or translated into Applying MDE to Tame the Complexity of Managing Multi-Cloud
corresponding EMF profiles [21]. Because EMF profiles are Applications,” in UCC, 2014, pp. 269–277.
[2] A. Bergmayr, M. Wimmer, G. Kappel, and M. Grossniklaus, “Cloud
generally applicable to Ecore-based metamodels and so to Modeling Languages by Example,” in SOCA, 2014, pp. 137–146.
CloudML, generating EMF profiles from the UML profiles [3] R. F. Paige, J. Cabot, M. Brambilla, L. M. Rose, and J. H. Hill, Eds.,
developed in the ARTIST project appears beneficial. The typ- Workshop Proceedings of CloudMDE, vol. 1242, 2014.
[4] P. Mohagheghi, A. Berre, A. Henry, F. Barbier, and A. Sadovykh,
ing dimension supported by profiles can directly be exploited “REMICS- REuse and Migration of Legacy Applications to Interop-
for CloudML models developed in the MODAClouds and erable Cloud Services,” in Towards a Service-Based Internet, 2010, pp.
PaaSage project to explicitly represent a CPSM produced 195–196.
[5] E. Brandzæg, S. Mosser, and P. Mohagheghi, “Towards CloudML,
from a CPIM. Deployment models for multi-cloud applica- a Model-Based Approach to Provision Resources in the Clouds,” in
tions can be represented by applying multiple profiles that CloudMDE, 2012, pp. 18–27.
correspond to the selected cloud environments. Dynamically [6] A. Bergmayr, H. Bruneliere, J. L. Cánovas Izquierdo, J. Gorroñogoitia,
G. Kousiouris, D. Kyriazis, P. Langer, A. Menychtas, L. Orue-Echevarria
switching between deployment targets is enabled by (un-/re- Arrieta, C. Pezuela, and M. Wimmer, “Migrating Legacy Software to
)applying respective cloud environment profiles, which can the Cloud with ARTIST,” in CSMR, 2013, pp. 465–468.
be considered as an alternative approach to switch between [7] D. Ardagna, E. D. Nitto, P. Mohagheghi, S. Mosser, C. Ballagny,
F. D’Andria, G. Casale, P. Matthews, C.-S. Nechifor, D. Petcu, A. Ger-
ontological types that capture the respective environment- icke, and C. Sheridan, “MODAClouds: A Model-Driven Approach for
specific information. The latter approach is currently supported the Design and Execution of Applications on Multiple Clouds,” in MISE,
by the MODAClouds and PaaSage projects. 2012, pp. 50–56.
[8] K. Jeffery, G. Horn, and L. Schubert, “A Vision for Better Cloud
Applications,” in MultiCloud, 2013, pp. 7–12.
C. Possible semantic heterogeneities [9] M. Fowler, Domain-Specific Languages. Addison-Wesley Professional,
The operational semantics may differ between the ecosys- 2010.
[10] N. Ferry, A. Rossini, F. Chauvel, B. Morin, and A. Solberg, “Towards
tems of the projects: the first maps to TOSCA [22] in order model-driven provisioning, deployment, monitoring, and adaptation of
to exploit OpenTOSCA [23] for enacting the provisioning multi-cloud systems,” in CLOUD, 2013, pp. 887–894.
and deployment of cloud-based applications, the second is [11] A. Bergmayr, J. Troya, P. Neubauer, M. Wimmer, and G. Kappel,
“UML-based Cloud Application Modeling with Libraries, Profiles and
based on the Cloud Modelling Framework (CloudMF) [1] and Templates,” in CloudMDE, 2014, pp. 56–65.
its models@run-time engine, and the third is based on the [12] S. Mosser, F. Fleurey, B. Morin, F. Chauvel, A. Solberg, and I. Goutier,
model-based Upperware [24] and Executionware [25]. As a “SENSAPP as a Reference Platform to Support Cloud Experiments:
From the Internet of Things to the Internet of Services,” in SYNASC,
result, a comparison of deployment models together with the 2012, pp. 400–406.
provisioned cloud resources needs to be carried out before [13] C. Atkinson and T. Kühne, “Rearchitecting the UML infrastructure,”
a convergence of the different CloudML manifestations can TOMACS, vol. 12, no. 4, pp. 290–321, 2002.
[14] B. Morin, O. Barais, J.-M. Jézéquel, F. Fleurey, and A. Solberg,
properly be achieved. The comparison can be achieved using “Models@Run.time to Support Dynamic Adaptation,” IEEE Computer,
a by-example approach on the basis of SensApp. Based on vol. 42, no. 10, pp. 44–51, 2009.
the created deployment models, respective deployment plans [15] J. Cardoso, A. Barros, N. May, and U. Kylau, “Towards a Unified
Service Description Language for the Internet of Services: Requirements
need to be generated. Executing these deployment plans by the and First Developments,” in SCC, 2010, pp. 602–609.
employed provisioning engines enables to compare the cloud [16] A. Bergmayr, M. Grossniklaus, M. Wimmer, and G. Kappel, “JUMP -
resources provisioned on a common target cloud environment. From Java Annotations to UML Profiles,” in MODELS, 2014, pp. 552–
568.
[17] A. Rossini and the PaaSage consortium, “D2.1.3 – CAMEL Document-
V. Conclusion ation (Final version),” PaaSage project deliverable, October 2015.
As the evolution of CloudML resulted in divergent language [18] C. Quinton, D. Romero, and L. Duchien, “Cardinality-based feature
models with constraints: a pragmatic approach,” in SPLC, 2013, pp.
manifestations, their convergence appears desirable for the 162–166.
purpose of resolving existing heterogeneities and enabling [19] K. Jeffery, N. Houssos, B. Jörg, and A. Asserson, “Research Information
models to be exchanged between the model-based ecosystems Management: The CERIF Approach,” IJMSO, vol. 9, no. 1, pp. 5–14,
2014.
employed by the projects. We aim to define correspondences [20] K. Kritikos, J. Domaschka, and A. Rossini, “SRL: A Scalability Rule
between the various language concepts. This enables hetero- Language for Multi-Cloud Environments,” in CloudCom, 2014, pp. 1–9.
geneities to be resolved in a non-intrusive manner. Moreover, [21] P. Langer, K. Wieland, M. Wimmer, and J. Cabot, “EMF profiles: A
lightweight extension approach for EMF models,” JOT, vol. 11, no. 1,
we aim for model transformations that encode the corres- pp. 1–29, 2012.
pondences, thereby enabling models to be exchanged at least [22] T. Binz, U. Breitenbücher, O. Kopp, and F. Leymann, “TOSCA: Portable
partially. As a result, migration techniques of the ARTIST Automated Deployment and Management of Cloud Applications,” in
Advanced Web Services, 2014, pp. 527–549.
project may be applied by the MODAClouds and PaaSage [23] T. Binz, U. Breitenbücher, F. Haupt, O. Kopp, F. Leymann, A. Nowak,
model-based ecosystems to enable multi-cloud deployment and S. Wagner, “OpenTOSCA - A Runtime for TOSCA-Based Cloud
models to be specified based on reverse-engineered models of Applications,” in ICSOC, 2013, pp. 692–695.
[24] C. Perez and the PaaSage consortium, “D3.1.2 – Model Based Cloud
existing applications. At the same time, the ARTIST model- Platform Upperware,” PaaSage project deliverable, October 2015.
based ecosystem may benefit from the support of deploying [25] D. Baur, S. Wesner, and J. Domaschka, “Towards a Model-Based
applications to multiple cloud environments as provided by Execution-Ware for Deploying Multi-cloud Applications,” in Advances
in Service-Oriented and Cloud Computing, 2015, pp. 124–138.
the MODAClouds and PaaSage projects.