An efficient model-based methodology for developing device-independent mobile applications

  • Authors:
  • Mario G. C. A. Cimino;Francesco Marcelloni

  • Affiliations:
  • Dipartimento di Ingegneria dell'Informazione: Elettronica, Informatica, Telecomunicazioni, University of Pisa, Largo Lucio Lazzarino 1, 56122 Pisa, Italy;Dipartimento di Ingegneria dell'Informazione: Elettronica, Informatica, Telecomunicazioni, University of Pisa, Largo Lucio Lazzarino 1, 56122 Pisa, Italy

  • Venue:
  • Journal of Systems Architecture: the EUROMICRO Journal
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Current methodologies for developing mobile applications are mostly based on the application programming interfaces (APIs) offered by the native platform. Hence, most solutions are characterized by a low portability and/or reusability. In this paper, we propose a novel methodology based on a declarative and device-independent approach for developing event-driven mobile applications. The methodology relies on: (i) an abstract mobile device based on the user interface markup language; (ii) a content adaptation mechanism based on user preferences; (iii) a context adaptation mechanism based on a standardized context of delivery; (iv) a uniform set of client-side APIs based on an interface object model; (v) an efficient transformational model. More specifically, in the design phase, the application is modeled as platform-independent on the abstract mobile device. In the execution phase, the application is automatically tailored to the specific platform on the basis of the content and context adaptation mechanisms. We describe the analysis, design and implementation of a framework, called MODIF, which supports the proposed methodology, and show its application to the development of both business and consumer real-world applications on Apple iPhone(TM) and Google Android(TM) mobile devices. Finally, we discuss how the experience of using MODIF highlights the quality of the methodology in terms of automation of the lifecycle, expressiveness and readability of the representation, efficiency of the compilation/interpretation, fast learning curve and predictability.