M. Usman, Muhammad Zohaib Z. Iqbal, Muhammad Uzair Khan
{"title":"A Model-Driven Approach to Generate Mobile Applications for Multiple Platforms","authors":"M. Usman, Muhammad Zohaib Z. Iqbal, Muhammad Uzair Khan","doi":"10.1109/APSEC.2014.26","DOIUrl":null,"url":null,"abstract":"Mobile application development has emerged as one of the most focused areas in software industry due to exponential growth of mobile users and applications. The focus of the current mobile industry is on direct implementation, rather than analysis and design. Model-driven engineering practices are ignored, which results in low reusability and lack of portability along with other challenges. In addition, mobile applications also have to support multiple platforms, as an application written for one platform (e.g., Android) cannot run on another platform (e.g., Windows Phone). Each of the platforms in turn suffers from fragmentation. This results in multiple versions of an application that need to be simultaneously maintained. This is a huge burden on the development team, both in terms of cost and effort, due to various platforms that an application supports. This paper proposes a model-driven approach to generate mobile applications for multiple platforms. We carefully identify a subset of UML and propose a modeling methodology for this purpose. We use real use-cases for requirement gathering, class diagram for structural modeling, while state machine are used for behavioral modeling. We focus on modeling business logic layer for the mobile application. We also propose a UML profile for modeling mobile domain specific concepts. Our approach uses Action Language for Foundational Subset of UML (ALF) to specify actions in the state machines. Our approach allows the modeler to automatically generate business logic code for multiple platforms. The approach is supported by an automated tool MAG (Mobile Application Generator). We apply our model-driven approach on an industrial case study 'Scramble' app developed by 'Next In' to demonstrate its viability.","PeriodicalId":380881,"journal":{"name":"2014 21st Asia-Pacific Software Engineering Conference","volume":"12 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"27","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 21st Asia-Pacific Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC.2014.26","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 27
Abstract
Mobile application development has emerged as one of the most focused areas in software industry due to exponential growth of mobile users and applications. The focus of the current mobile industry is on direct implementation, rather than analysis and design. Model-driven engineering practices are ignored, which results in low reusability and lack of portability along with other challenges. In addition, mobile applications also have to support multiple platforms, as an application written for one platform (e.g., Android) cannot run on another platform (e.g., Windows Phone). Each of the platforms in turn suffers from fragmentation. This results in multiple versions of an application that need to be simultaneously maintained. This is a huge burden on the development team, both in terms of cost and effort, due to various platforms that an application supports. This paper proposes a model-driven approach to generate mobile applications for multiple platforms. We carefully identify a subset of UML and propose a modeling methodology for this purpose. We use real use-cases for requirement gathering, class diagram for structural modeling, while state machine are used for behavioral modeling. We focus on modeling business logic layer for the mobile application. We also propose a UML profile for modeling mobile domain specific concepts. Our approach uses Action Language for Foundational Subset of UML (ALF) to specify actions in the state machines. Our approach allows the modeler to automatically generate business logic code for multiple platforms. The approach is supported by an automated tool MAG (Mobile Application Generator). We apply our model-driven approach on an industrial case study 'Scramble' app developed by 'Next In' to demonstrate its viability.