Platform-Variant Applications from Platform-Independent Models via Templates

By raising the level of abstraction from code to models, model-driven development (MDD) emphasises design rather than implementation and platform-specificity. This paper presents an experiment with a MDD approach, which takes platform-independent models and generates code for various platforms from them. The platform code is generated from templates. Our approach is based on EP, a formal executable modelling language, supplemented with OCL, and FTL, a formal language of templates. The paper?s experiment generates code for the mobile platforms Android and iPhone from the same abstract functional model of a case study. The experiment shows the feasibility of MDD to tackle present day problems, highlighting many benefits of the MDD approach and opportunities for improvement.

[1]  Pierre Kelsen A declarative executable model for object-based systems based on functional decomposition , 2006, ICSOFT.

[2]  Cyril S. Ku,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[3]  Pierre Kelsen,et al.  From platform-independent to platform-specific models using democles , 2009, OOPSLA Companion.

[4]  Pierre Kelsen,et al.  DEMOCLES: a tool for executable modeling of platform-independent systems , 2007, OOPSLA '07.

[5]  Joaquin Miller,et al.  MDA Guide Version 1.0.1 , 2003 .

[6]  N. Pryce,et al.  Issues in Developing Ubicomp Applications on Symbian Phones , 2006, 2006 International Workshop on System Support for Future Mobile Computing Applications.

[7]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[8]  Alexander K. Petrenko,et al.  Electronic Notes in Theoretical Computer Science , 2009 .

[9]  Douglas C. Schmidt,et al.  Optimizing Mobile Application Performance with Model-Driven Engineering , 2009, SEUS.

[10]  Pierre Kelsen,et al.  A Lightweight Approach for Defining the Formal Semantics of a Modeling Language , 2008, MoDELS.

[11]  Kai Koskimies,et al.  A Model-Driven Approach to Variability Management in Product-Line Engineering , 2006, Nord. J. Comput..

[12]  Albrecht Schmidt,et al.  MakeIt: Integrate User Interaction Times in the Design Process of Mobile Applications , 2008, Pervasive.

[13]  Heiko Behrens MDSD for the iPhone: developing a domain-specific language and IDE tooling to produce real world applications for mobile devices , 2010, SPLASH/OOPSLA Companion.

[14]  Douglas C. Schmidt,et al.  Model-Driven Engineering , 2006 .

[15]  Heinrich Hußmann,et al.  Mobia Modeler: easing the creation process of mobile applications for non-technical users , 2010, IUI '10.

[16]  Stuart Kent,et al.  Model Driven Engineering , 2002, IFM.

[17]  Nuno Amaálio,et al.  Generative frameworks for rigorous model-driven development , 2006 .

[18]  Michal Antkiewicz,et al.  Mapping features to models: a template approach based on superimposed variants , 2005, GPCE'05.

[19]  Christopher G. Lasater,et al.  Design Patterns , 2008, Wiley Encyclopedia of Computer Science and Engineering.

[20]  Birger Møller-Pedersen,et al.  An MDA®-based framework for model-driven product derivation , 2004, IASTED Conf. on Software Engineering and Applications.

[21]  Anneke Kleppe,et al.  The Object Constraint Language: Getting Your Models Ready for MDA , 2003 .

[22]  Thomas Weigert Practical experiences in using model-driven engineering to develop trustworthy computing systems , 2006, IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing (SUTC'06).

[23]  Susan Stepney,et al.  A Formal Template Language Enabling Metaproof , 2006, FM.

[24]  Marc Langheinrich,et al.  SPARK Rapid Prototyping Environment – Mobile Phone Development Made Easy , 2009 .

[25]  Aniruddha S. Gokhale,et al.  Developing applications using model-driven design environments , 2006, Computer.

[26]  Susan Stepney,et al.  Frameworks Based on Templates for Rigorous Model-driven Development , 2007, IFM Doctoral Symposium.

[27]  Marco Sinnema,et al.  Model Driven Architecture as Approach to Manage Variability in Software Product Families , 2003 .