Model Driven Development of Cross-Platform Mobile Applications

The high variability of mobile hardware platforms and frameworks makes the development and maintenance of mobile applications a challenging task. Moreover mobile devices must host a wide spectrum of services to handle both specific kind of hardware (e.g. cameras, sensors, etc.) and system management (e.g. user data persistence, configuration, security and privacy, etc.). These aspects get worse by the deep differences existing among commercial platforms in terms of user interface structure and controls, system services, frameworks and even in some cases programming languages. In this paper we propose a model-driven approach targeting a unified architecture to develop applications for multiple platform using model trasformation and code generation approach. The approach is based on a metamodel that describes the external requirements of the mobile app allowing developers to model it by means of a DSL. The approach generates an application adopting an unifying architecture centered on the Model-View-Control architectural pattern. Finally a case study is carried out in order to assess the validity and the effectiveness of the proposed approach.

[1]  Ed Seidewitz,et al.  What Models Mean , 2003, IEEE Softw..

[2]  Jos Warmer,et al.  The object constraint language , 1998 .

[3]  Tore Dybå,et al.  What Do We Know about Agile Software Development? , 2009, IEEE Software.

[4]  Adam Tacy,et al.  GWT in Action: Easy Ajax with the Google Web Toolkit , 2007 .

[5]  Gerti Kappel,et al.  xMOF: Executable DSMLs Based on fUML , 2013, SLE.

[6]  Jean Vanderdonckt,et al.  Applying model-based techniques to the development of UIs for mobile computers , 2001, IUI '01.

[7]  Ivar Jacobson,et al.  The Unified Modeling Language Reference Manual, Second Edition , 2005 .

[8]  K. Beck,et al.  Extreme Programming Explained , 2002 .

[9]  Scott W. Ambler Agile Software Development , 2010, Encyclopedia of Software Engineering.

[10]  Brian Henderson-Sellers,et al.  UML – the Good, the Bad or the Ugly? Perspectives from a panel of experts , 2005, Software & Systems Modeling.

[11]  Lawrence Chung,et al.  Dealing with Non-Functional Requirements: Three Experimental Studies of a Process-Oriented Approach , 1995, 1995 17th International Conference on Software Engineering.

[12]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[13]  Michel R. V. Chaudron,et al.  The Impact of Model Driven Development on the Software Architecture Process , 2010, 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications.

[14]  Jürgen Dunkel,et al.  Model-Driven Architecture for Mobile Applications , 2007, BIS.

[15]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[16]  Vicente Pelechano,et al.  Tool Support for Model Driven Development of Pervasive Systems , 2007, Fourth International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES'07).

[17]  Viet Cuong Nguyen,et al.  Agile Development of Platform Independent Model in Model Driven Architecture , 2010, 2010 Third International Conference on Information and Computing.

[18]  Esperanza Marcos,et al.  Integrating an Agile Process in a Model Driven Architecture , 2004, GI Jahrestagung.

[19]  Axel Uhl Model-Driven Development in the Enterprise , 2008, IEEE Software.

[20]  Nicola Blefari-Melazzi,et al.  SMS: Simplifying Mobile Services - for Users and Service Providers , 2006, Advanced Int'l Conference on Telecommunications and Int'l Conference on Internet and Web Applications and Services (AICT-ICIW'06).

[21]  Xiaoping Jia An approach to animating Z specifications , 1995, Proceedings Nineteenth Annual International Computer Software and Applications Conference (COMPSAC'95).

[22]  Rui Silva,et al.  XIS-UML Profile for eXtreme Modeling Interactive Systems , 2007, Fourth International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES'07).

[23]  Andy Schürr,et al.  A Framework for Bidirectional Model-to-Platform Transformations , 2012, SLE.

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

[25]  Tiziana Margaria,et al.  Agile IT: Thinking in User-Centric Models , 2008, ISoLA.

[26]  John Mylopoulos,et al.  Representing and Using Nonfunctional Requirements: A Process-Oriented Approach , 1992, IEEE Trans. Software Eng..

[27]  Gabriele Taentzer,et al.  Model-Driven Development of Mobile Applications Allowing Role-Driven Variants , 2014, MoDELS.

[28]  Krzysztof Czarnecki,et al.  Classification of Model Transformation Approaches , 2003 .

[29]  Ana Cavalcanti,et al.  Modular Object-oriented Z Specifications , 1990, Z User Workshop.

[30]  David Frankel,et al.  Model Driven Architecture: Applying MDA to Enterprise Computing , 2003 .

[31]  Lucas Layman,et al.  Exploring extreme programming in context: an industrial case study , 2004, Agile Development Conference.

[32]  Xiaoping Jia,et al.  Dynamic Languages as Modeling Notations in Model Driven Engineering , 2011, ICSOFT.

[33]  Linda Dailey Paulson Developers shift to dynamic programming languages , 2007, Computer.

[34]  Xiaoping Jia,et al.  Model Transformation Using a Simplified Metamodel , 2010, J. Softw. Eng. Appl..

[35]  Louis Fried TEAM SIZE AND PRODUCTIVITY IN SYSTEMS DEVELOPMENT Bigger Does Not Always Mean Better , 1991 .

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

[37]  Adam Steele,et al.  Model Transformation Based on Meta Templates , 2006, Software Engineering Research and Practice.

[38]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[39]  Christopher J. Lokan An empirical analysis of function point adjustment factors , 2000, Inf. Softw. Technol..

[40]  Alberto Sillitti,et al.  Mobile Multiplatform Development: An Experiment for Performance Analysis , 2012, ANT/MobiWIS.

[41]  Christopher Jones,et al.  Cross-Platform Application Development Using AXIOM as an Agile Model-Driven Approach , 2012 .

[42]  Jay Goldman,et al.  Facebook cookbook - building applications to grow your Facebook empire , 2008 .

[43]  Parag C. Pendharkar,et al.  An empirical study of the impact of team size on software development effort , 2007, Inf. Technol. Manag..

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

[45]  Jean-Marie Favre,et al.  Towards a Basic Theory to Model Model Driven Engineering , 2004 .

[46]  B. Liskov Keynote address - data abstraction and hierarchy , 1988, OOPSLA '87.

[47]  Robert C. Mintram,et al.  Preliminary Data Analysis Methods in Software Estimation , 2005, Software Quality Journal.

[48]  Miroslaw Staron,et al.  Adopting model driven software development in industry: a case study at two companies , 2006, MoDELS'06.

[49]  Adam Steele,et al.  Executable visual software modeling—the ZOOM approach , 2007, Software Quality Journal.

[50]  Mario Luca Bernardi,et al.  A model-driven approach for the fast prototyping of web applications , 2011, 2011 13th IEEE International Symposium on Web Systems Evolution (WSE).

[51]  Joseph A. Goguen,et al.  OOZE: An Object Oriented Z Environment , 1991, ECOOP.

[52]  Mrv Michel Chaudron,et al.  An empirical investigation in quantifying inconsistency and incompleteness of UML designs , 2003 .

[53]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[54]  D. Ross Jeffery,et al.  A comparative study of two software development cost modeling techniques using multi-organizational and company-specific data , 2000, Inf. Softw. Technol..

[55]  Michael Beigl,et al.  Web Content Delivery to Heterogeneous Mobile Platforms , 1998, ER Workshops.

[56]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[57]  Adam Steele,et al.  Model Transformation Framework Supported by ZOOM , 2007, Software Engineering Research and Practice.

[58]  Ken Kennedy,et al.  Defining and Measuring the Productivity of Programming Languages , 2004, Int. J. High Perform. Comput. Appl..

[59]  Peter Braun,et al.  Experiences on Model-Driven Software Development for Mobile Applications , 2008, 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems (ecbs 2008).

[60]  Arie van Deursen,et al.  Domain-specific languages: an annotated bibliography , 2000, SIGP.

[61]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[62]  Alberto Rodrigues da Silva The XIS Approach and Principles , 2003, EUROMICRO.

[63]  Glen Smith,et al.  Grails in Action , 2009 .

[64]  Adrian Holovaty,et al.  The Definitive Guide to Django: Web Development Done Right, Second Edition , 2009 .

[65]  Tony Clark,et al.  MobDSL: A Domain Specific Language for multiple mobile platform deployment , 2010, 2010 IEEE International Conference on Networked Embedded Systems for Enterprise Applications.

[66]  Francisco Ortin,et al.  DIMAG: a framework for automatic generation of mobile applications for multiple platforms , 2009, Mobility Conference.

[67]  Eelco Visser,et al.  Mobl: the new language of the mobile web , 2011, OOPSLA Companion.

[68]  Jean-Louis Letouzey,et al.  Managing Technical Debt with the SQALE Method , 2012, IEEE Software.

[69]  Indrakshi Ray,et al.  UML2Alloy: a challenging model transformation , 2007, MODELS'07.

[70]  Donald E. Knuth,et al.  Semantics of context-free languages , 1968, Mathematical systems theory.

[71]  Paul King,et al.  Groovy in Action , 2007 .

[72]  Heinrich Hußmann,et al.  Applying Domain-Specific Modeling to Mobile Health Monitoring Applications , 2009, 2009 Sixth International Conference on Information Technology: New Generations.

[73]  Anthony I. Wasserman,et al.  Software engineering issues for mobile application development , 2010, FoSER '10.

[74]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[75]  Stephen J. Mellor,et al.  Executable UML - A Foundation for Model-Driven Architecture , 2002, Addison Wesley object technology series.

[76]  Alberto Rodrigues da Silva,et al.  Survey on Cross-Platforms and Languages for Mobile Apps , 2012, 2012 Eighth International Conference on the Quality of Information and Communications Technology.

[77]  J. B. Wordsworth,et al.  Software development with Z , 1992 .

[78]  Indrakshi Ray,et al.  Scenario-Based Static Analysis of UML Class Models , 2008, MoDELS.

[79]  Xiaoping Jia,et al.  Using a Domain Specific Language for Lightweight Model-Driven Development , 2014, ENASE.

[80]  Michele Risi,et al.  Automatic Generation of Multi Platform Web Map Mobile Applications , 2011, DMS.

[81]  Andy Oram,et al.  Managing Projects with Make , 1993 .

[82]  Jean Vanderdonckt,et al.  Multi-fidelity Prototyping of User Interfaces , 2007, INTERACT.

[83]  Julio Cesar Sampaio do Prado Leite,et al.  Non-functional requirements: from elicitation to modelling languages , 2002, Proceedings of the 24th International Conference on Software Engineering. ICSE 2002.

[84]  Xiaoping Jia,et al.  The AXIOM model framework: Transforming requirements to native code for cross-platform mobile applications , 2014, 2014 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE).

[85]  Kevin Lano Z++, An Object-orientated Extension to Z , 1990, Z User Workshop.

[86]  Stephen J. Mellor,et al.  Model-driven development - Guest editor's introduction , 2003 .

[87]  Fabio Paternò,et al.  Design and development of multidevice user interfaces through multiple logical descriptions , 2004, IEEE Transactions on Software Engineering.

[88]  Ken Schwaber,et al.  Agile Software Development with SCRUM , 2001 .

[89]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[90]  Richard C. Gronback Eclipse Modeling Project: A Domain-Specific Language Toolkit , 2009 .

[91]  Alberto Rodrigues da Silva,et al.  XIS-mobile: a DSL for mobile applications , 2014, SAC.

[92]  Mark Rouncefield,et al.  The State of Practice in Model-Driven Engineering , 2014, IEEE Software.

[93]  Soumitra Dutta,et al.  Software Development Productivity of European Space, Military, and Industrial Applications , 1996, IEEE Trans. Software Eng..

[94]  Raman Ramsin,et al.  Strategies for Improving MDA-Based Development Processes , 2010, 2010 International Conference on Intelligent Systems, Modelling and Simulation.

[95]  Juan de Lara,et al.  The Program Is the Model: Enabling Transformations@run.time , 2012, SLE.

[96]  George R. Ribeiro-Justo,et al.  A framework for building non-functional software architectures , 2001, SAC.

[97]  Mario Luca Bernardi,et al.  Web applications design evolution with UWA , 2010, 2010 12th IEEE International Symposium on Web Systems Evolution (WSE).

[98]  Barry W. Boehm,et al.  Empirical Findings in Agile Methods , 2002, XP/Agile Universe.

[99]  Björn Lundell,et al.  UML model interchange in heterogeneous tool environments: an analysis of adoptions of XMI 2 , 2006, MoDELS'06.

[100]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[101]  Herbert Kuchen,et al.  Cross-platform model-driven development of mobile applications with md2 , 2013, SAC '13.

[102]  Robert B. France,et al.  Model-driven development using UML 2.0: promises and pitfalls , 2006, Computer.

[103]  Adam Steele,et al.  Using ZOOM Approach to Support MDD , 2004, Software Engineering Research and Practice.

[104]  Andreas Pleuß MML: a language for modeling interactive multimedia applications , 2005, Seventh IEEE International Symposium on Multimedia (ISM'05).

[105]  Laurence Tratt,et al.  Domain specific language implementation via compile-time meta-programming , 2008, TOPL.

[106]  Johan Lilius,et al.  Formalising UML State Machines for Model Checking , 1999, UML.

[107]  Jon Louis Bentley,et al.  Programming pearls: little languages , 1986, CACM.

[108]  Robert Cartwright,et al.  Soft typing , 1991, PLDI '91.

[109]  Xiaoping Jia,et al.  AXIOM: A Model-driven Approach to Cross-platform Application Development , 2016, ICSOFT.

[110]  Martin Gogolla,et al.  USE: A UML-based specification environment for validating UML and OCL , 2007, Sci. Comput. Program..

[111]  Wesley J. Chun Core Python Programming (2nd Edition) , 2006 .

[112]  N. Amanquah,et al.  Rapid application development for mobile terminals , 2009, 2009 2nd International Conference on Adaptive Science & Technology (ICAST).

[113]  Paloma Cáceres,et al.  A MDA-Based Approach for Web Information System Development , 2004 .

[114]  Amílcar Sernadas,et al.  A Linear Temporal Logic Approach to Objects with Transactions , 1997, AMAST.

[115]  Alistair Cockburn,et al.  Agile Software Development , 2001 .

[116]  Dave Thomas,et al.  Agile Web Development with Rails , 2005 .

[117]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[118]  Peter Naudé,et al.  An Investigation on the Variation of Software Development Productivity , 2007 .

[119]  Martin Gogolla,et al.  Modeling and validating Mondex scenarios described in UML and OCL with USE , 2007, Formal Aspects of Computing.

[120]  David Flanagan,et al.  The Ruby Programming Language , 2007 .

[121]  Julio Cesar Sampaio do Prado Leite,et al.  Using UML to reflect non-functional requirements , 2001, CASCON.

[122]  Josh Dehlinger,et al.  Mobile Application Software Engineering : Challenges and Research Directions , 2011 .

[123]  Adam Steele,et al.  A Model Transformation Framework for Model Driven Engineering , 2008, MSVVEIS.

[124]  Benoît Combemale,et al.  The Relevance of Model-Driven Engineering Thirty Years from Now , 2014, MoDELS.

[125]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[126]  Andre Charland,et al.  Mobile application development , 2011, Commun. ACM.