MDA Approach to Automate Code Generation for Mobile Applications

The development of mobile applications is increasingly growing up in our environment due to the intensive use of applications in mobile devices with touch screens. However, the diversity of mobile operating systems (iOS, Windows Phone, Android, etc.), req

  • PDF / 836,002 Bytes
  • 10 Pages / 439.37 x 666.142 pts Page_size
  • 32 Downloads / 199 Views

DOWNLOAD

REPORT


MATSI Laboratory, EST Oujda, Mohammed First University (UMP), Oujda, Morocco {benouda.89, es.redouane}@gmail.com, {azizi.mos, m.moussaoui}@ump.ma

Abstract. The development of mobile applications is increasingly growing up in our environment due to the intensive use of applications in mobile devices with touch screens. However, the diversity of mobile operating systems (iOS, Windows Phone, Android, etc.), requires additional cares like code efficiency, interaction with device resources, as well as short time to market. What makes developers facing a big challenge of developing the same application for different platforms. Considering this development complexity, we directed our work to platforms using Model Driven Architecture (MDA) combined with UML, as previously used in software engineering, can offer abstraction and automation for mobile applications developers. This paper presents a MDA approach for mobile applications development including UML based modeling and code generation according to the principal (Develop Once, Use Everywhere) in order to facilitate and accelerate the development of mobile applications. Keywords: Software engineering, MDA, UML, QVT, Acceleo, code generation, mobile application development.

1 Introduction Currently, mobile devices become an alternative to personal computer, which are ubiquitous and accompany their users everywhere and every time. The diversity of mobile devices makes the development and maintenance of mobile applications a challenging task. Moreover, the software product diffusion is influenced by the number of platforms on which it functions. Hence portability is an essential factor for software companies in both mobile and desktop context. The variety of mobile platforms, like Android, Windows Phone and iOS, force software engineers to develop the same application targeting various Operating Systems (OS) and technologies often changing languages (such as Java, C# or Objective-C). This requires implementing different low level design for a given application specification that should be developed by different teams. All these tasks produce the increased costs of maintenance and time. In this context some help may result from Model Driven Engineering (MDE), which provides abstraction through high level models and allows the use of modeling languages to automate the generations of applications from the model when © Springer Science+Business Media Singapore 2016 K.J. Kim et al. (eds.), Mobile and Wireless Technologies 2016, Lecture Notes in Electrical Engineering 391, DOI 10.1007/978-981-10-1409-3_27

241

242

H. Benouda et al.

variability and customizability are the inevitable requirements. Models are considered as a principal key for all project lifecycle, from requirements capture, by the modeling and developing stage, until testing. The MDE approach is based on transformations between models, from the most abstract to the most specific one, and code generation step in the end which emits source code running with little customization. The interest for the MDE appro