Skip to main content
Log in

Model-driven development of mobile applications for Android and iOS supporting role-based app variability

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Rapidly increasing numbers of applications and users make the development of mobile applications to one of the most promising fields in software engineering. Due to short time to market, differing platforms, and fast emerging technologies, mobile application development faces typical challenges where model-driven development (MDD) can help. We present a modeling language and an infrastructure for the MDD of native apps in Android and iOS. Our approach allows a flexible app development on different abstraction levels: compact modeling of standard app elements such as standard data management and increasingly detailed modeling of individual elements to cover, for example, specific behavior. Moreover, a kind of variability modeling is supported such that mobile apps with variants can be developed. We demonstrate our MDD approach with several apps including a conference app, a museum guide with augmented reality functionality, and a SmartPlug.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25

Similar content being viewed by others

References

  1. (2007) Web Services Business Process Execution Language (WS-BPEL) Version 2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html

  2. (2011) Business Process Model And Notation (BPMN) Version 2.0. http://www.omg.org/spec/BPMN/2.0

  3. (2014) Koukaam. http://www.koukaam.se/

  4. (2014) Metaio Inc. http://www.metaio.com/sdk

  5. (2015) App Inventor. http://appinventor.mit.edu

  6. (2015) Applause. https://github.com/applause/applause

  7. (2015) Apple Developer Connection. https://developer.apple.com/devcenter/ios/

  8. (2015) Apple Inc. https://developer.apple.com/xcode/ide/

  9. (2015) Google Android Developer Portal. http://developer.android.com/index.html

  10. (2015) Google Inc. https://dl-ssl.google.com/android/eclipse/

  11. (2015) Google Play Services. http://developer.android.com/google/play-services

  12. (2015) Hwaci—Applied Software Research. https://www.sqlite.org/

  13. (2015) ModAgile. http://www.modagile-mobile.de

  14. PIMAR: Platform-inpendent development of mobile apps with augmented reality. http://www.uni-marburg.de/fb12/swt/forschung/software/pimar/

  15. Abolfazli, S., Sanaei, Z., Gani, A., Xia, F., Yang, L.T.: Rich mobile applications: genesis, taxonomy, and open issues. J. Netw. Comput. Appl. 40, 345–362 (2014)

    Article  Google Scholar 

  16. Allen, S., Graupera, V., Lundrigan, L.: Pro Smartphone Cross-Platform Development: iPhone, Blackberry, Windows Mobile and Android Development and Distribution. Apress (2010)

  17. Ambler, S.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. Wiley, London (2012)

    Google Scholar 

  18. Behrens, H.: MDSD for the iPhone: developing a domain-specific language and IDE tooling to produce real world applications for mobile devices. In: Cook, W.R., Clarke, S., Rinard, M.C. (eds) SPLASH/OOPSLA Companion, ACM, pp. 123–128 (2010)

  19. Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd (2013)

  20. Bishop, R.: Learning with LabVIEW. Pearson Education (2011)

  21. Burnette, E.: Hello, Android: Introducing Google’s Mobile Development Platform. Pragmatic Bookshelf (2010)

  22. Calvary, G., Coutaz, J., Thevenin, D., Limbourg, Q., Bouillon, L., Vanderdonckt, J.: A unifying reference framework for multi-target user interfaces. Interact. Comput. 15(3), 289–308 (2003)

    Article  Google Scholar 

  23. Ceri, S., Fraternali, P., Bongio, A.: Web Modeling Language (WebML): a modeling language for designing Web sites. Comput. Netw. 33(1–6), 137–157 (2000)

    Article  Google Scholar 

  24. Conway, J., Hillegass, A.: iOS Programming: The Big Nerd Ranch Guide, 3rd edn. Pearson Education (2012)

  25. Degrandsart, S., Demeyer, S., Van den Bergh, J., Mens, T.: A transformation-based approach to context-aware modelling. Softw. Syst. Model. 13(1), 191–208 (2014)

    Article  Google Scholar 

  26. Emmanouilidis, C., Koutsiamanis, R.A., Tasidou, A.: Mobile guides: taxonomy of architectures, context awareness, technologies and applications. J. Netw. Comput. Appl. 36(1), 103–125 (2013)

    Article  Google Scholar 

  27. Goadrich, M.H., Rogers, M.P.: Smart smartphone development: iOS versus Android. In: Proceedings of the 42nd ACM technical symposium on Computer science education, ACM (2011)

  28. Gronback, R.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Pearson Education (2009)

  29. Guckert, M., Malerczyk, C., Gerlach, R., Taentzer, G., Vaupel, S., Fatum, M.: Plattformunabhängige Entwicklung mobiler Anwendungen mit Augemented Reality-Funktionalität. Anwendungen und Konzepte der Wirtschaftsinformatik - AKWI 3, 5 (2015)

    Google Scholar 

  30. Heitkötter, H., Majchrzak, T.A., Kuchen, H.: Cross-platform model-driven development of mobile applications with MD\(^{\text{2}}\). In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC ’13, Coimbra, Portugal, March 18–22, 2013, ACM, pp. 526–533 (2013)

  31. Hemel, Z., Visser, E.: Declaratively programming the mobile web with Mobl. In: Lopes, C.V., Fisher, K. (eds) OOPSLA, ACM, pp 695–712 (2011a)

  32. Hemel, Z., Visser, E.: Mobl: the new language of the mobile web. In: Lopes, C.V., Fisher, K. (eds) OOPSLA Companion, ACM, pp. 23–24 (2011b)

  33. Karsai, G., Krahn, H., Pinkernell, C., Rumpe, B., Schneider, M., Völkel, S.: Design guidelines for domain specific languages. In: Rossi, M., Sprinkle, J., Gray, J., Tolvanen, J.P. (eds) Proceedings of the 9th OOPSLA Workshop on Domain-Specific Modeling (DSM’09), pp. 7–13 (2009)

  34. Kennedy-Eden, H., Gretzel, U.: A taxonomy of mobile applications in tourism (2012)

  35. Kraemer, F.A.: Engineering Android applications based on UML activities. In: Model Driven Engineering Languages and Systems, 14th International Conference, MODELS 2011, Wellington, New Zealand, Oct 16–21, 2011. Proceedings, Springer, Lecture Notes in Computer Science, vol 6981, pp 183–197 (2011)

  36. Liao, S.: Migrating to Swift from Android. Apress (2014)

  37. Mednieks, Z., Dornin, L., Meike, G., Nakamura, M.: Programming Android. O’Reilly (2012)

  38. Meier, R.: Professional Android 4 Application Development. Wiley, London (2012)

    Google Scholar 

  39. Navarre, D., Palanque, P., Ladry, J.F., Barboni, E.: Icos: a model-based user interface description technique dedicated to interactive systems addressing usability, reliability and scalability. ACM Trans. Comput.-Hum. Interact. 16(4), 18 (2009)

    Article  Google Scholar 

  40. Oehlman, D., Blanc, S.: Pro Android Web Apps: Develop for Android using HTML5, CSS3 & JavaScript. Apress (2011)

  41. Piper, I.: Learn Xcode Tools for Mac OS X and iPhone Development. IT Pro, Apress (2010)

  42. Puerta, A.R., Eriksson, H., Gennari, J.H., Musen, M.A.: Beyond data models for automated user interface generation. In: BCS HCI, pp. 353–366 (1994)

  43. Raneburger, D., Popp, R., Vanderdonckt, J.: An automated layout approach for model-driven wimp-ui generation. In: Proceedings of the 4th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, ACM, pp. 91–100 (2012)

  44. Rubel, D., Wren, J., Clayberg, E.: The Eclipse Graphical Editing Framework (GEF). Addison-Wesley, Reading (2011)

    Google Scholar 

  45. Souchon, N., Vanderdonckt, J.: A review of xml-compliant user interface description languages. In: Interactive Systems. Design, Specification, and Verification. Springer, Berlin, pp. 377–391 (2003)

  46. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2009)

    Google Scholar 

  47. Tran, V., Vanderdonckt, J., Tesoriero, R., Beuvens, F.: Systematic generation of abstract user interfaces. In: Proceedings of the 4th ACM SIGCHI Symposium on Engineering Interactive Computing Systems, ACM, pp. 101–110 (2012)

  48. Vaupel, S., Taentzer, G., Harries, J.P., Stroh, R., Gerlach, R., Guckert, M.: Model-driven development of mobile applications allowing role-driven variants. In: Model-Driven Engineering Languages and Systems, pp. 1–17, LNCS 8767, Springer, Berlin (2014)

  49. Vaupel, S., Strüber, D., Rieger, F., Taentzer, G.: Agile bottom-up development of domain-specific ides for model-driven development. In: Proceedings of FlexMDE 2015: Workshop on Flexible Model-Driven Engineering, pp. 12–21, vol. 1470, CEUR-WS.org (2015)

  50. Vaupel, S., Taentzer, G., Gerlach, R., Guckert, M.: Model-driven development of platform-independent mobile applications supporting role-based app variability. In: Knoop J, Zdun U (eds) Software Engineering 2016, Fachtagung des GI-Fachbereichs Softwaretechnik, 23 Februar–26 Februar 2016, Wien, Österreich, GI, LNI, vol 252, pp 99–100 (2016a)

  51. Vaupel, S., Wlochowitz, D., Taentzer, G.: A generic architecture supporting context-aware data and transaction management for mobile applications (to appear). In: Proceedings of the 3rd ACM International Conference on Mobile Software Engineering and Systems, MOBILESoft 2016, Austin, TX, USA, May 16–17, 2016, IEEE (2016b)

  52. Vlissides, J.: Pattern Hatching: Design Patterns Applied. Addison-Wesley, Reading (1998)

    Google Scholar 

  53. Williams, G.: Learn HTML5 and JavaScript for Android. Apress (2012)

  54. Yener, M., Theedom, A., Rahman, R.: Professional Java EE Design Patterns. Wiley, London (2014)

    Book  Google Scholar 

  55. Zapata, B.: Android Studio Application Development. Packt Publishing (2013)

Download references

Acknowledgments

We thank Jan Peer Harries and Kevin Kaiser for their valuable work on the implementation of code generators for Android and iOS and the anonymous reviewers for their valuable comments to a preliminiary version.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steffen Vaupel.

Additional information

Communicated by Dr. Jürgen Dingel and Wolfram Schulte.

This work was partially funded by LOEWE HA Project No. 355/12-45 (State Offensive for the Development of Scientific and Economic Excellence).

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Vaupel, S., Taentzer, G., Gerlach, R. et al. Model-driven development of mobile applications for Android and iOS supporting role-based app variability. Softw Syst Model 17, 35–63 (2018). https://doi.org/10.1007/s10270-016-0559-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0559-4

Keywords

Navigation