A Comparison of Two-Level and Multi-level Modelling for Cloud-Based Applications

The Cloud Modelling Framework (CloudMF) is an approach to apply model-driven engineering principles to the specification and execution of cloud-based applications. It comprises a domain-specific language to model the deployment topology of multi-cloud applications, along with a models@run-time environment to facilitate reasoning and adaptation of these applications at run-time. This paper reports on some challenges encountered during the design of CloudMF, related to the adoption of the two-level modelling approach and especially the type-instance pattern. Moreover, it proposes the adoption of an alternative, multi-level modelling approach to tackle these challenges, and provides a set of criteria to compare both approaches.

[1]  Thomas Kühne,et al.  Matters of (Meta-) Modeling , 2006, Software & Systems Modeling.

[2]  Brian Henderson-Sellers,et al.  A powertype-based metamodelling framework , 2006, Software & Systems Modeling.

[3]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[4]  Pierre Cointe Metaclasses are first class: The ObjVlisp Model , 1987, OOPSLA 1987.

[5]  Hui Song,et al.  CloudMF: Applying MDE to Tame the Complexity of Managing Multi-cloud Applications , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[6]  Brice Morin,et al.  Towards Model-Driven Provisioning, Deployment, Monitoring, and Adaptation of Multi-cloud Systems , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[7]  Tomi Männistö,et al.  Nivel: a metamodelling language with a formal semantics , 2009, Software & Systems Modeling.

[8]  Colin Atkinson,et al.  Symbiotic general-purpose and domain-specific languages , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[9]  Juan de Lara,et al.  When and How to Use Multi-Level Modelling , 2014 .

[10]  Sébastien Gérard,et al.  An Automated Process for Implementing Multilevel Domain Models , 2009, SLE.

[11]  Juan de Lara,et al.  A formalisation of deep metamodelling , 2014, Formal Aspects of Computing.

[12]  Brian Henderson-Sellers,et al.  A foundation for multi-level modelling , 2014, MULTI@MoDELS.

[13]  Brice Morin,et al.  Managing multi-cloud systems with CloudMF , 2013, NordiCloud '13.

[14]  Colin Atkinson,et al.  Comparing multi-level modeling approaches , 2014, MULTI@MoDELS.

[15]  Colin Atkinson,et al.  Reducing accidental complexity in domain models , 2008, Software & Systems Modeling.

[16]  Colin Atkinson,et al.  Rearchitecting the UML infrastructure , 2002, TOMC.

[17]  Juan de Lara,et al.  Deep Meta-modelling with MetaDepth , 2010, TOOLS.

[18]  Juan de Lara,et al.  Model-driven engineering with domain-specific meta-modelling languages , 2015, Software & Systems Modeling.

[19]  Daniel Schreiber,et al.  Can programming be liberated from the two-level style: multi-level programming with deepjava , 2007, OOPSLA.

[20]  Nelly Bencomo,et al.  Models@run.time , 2014, Lecture Notes in Computer Science.

[21]  Juan de Lara,et al.  When and How to Use Multilevel Modelling , 2014, ACM Trans. Softw. Eng. Methodol..