Advertisement

Software & Systems Modeling

, Volume 17, Issue 1, pp 35–63 | Cite as

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

  • Steffen Vaupel
  • Gabriele Taentzer
  • René Gerlach
  • Michael Guckert
Special Section Paper

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.

Keywords

Model-driven development Mobile application Android iOS 

Notes

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.

References

  1. 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. 2.
    (2011) Business Process Model And Notation (BPMN) Version 2.0. http://www.omg.org/spec/BPMN/2.0
  3. 3.
    (2014) Koukaam. http://www.koukaam.se/
  4. 4.
    (2014) Metaio Inc. http://www.metaio.com/sdk
  5. 5.
    (2015) App Inventor. http://appinventor.mit.edu
  6. 6.
  7. 7.
    (2015) Apple Developer Connection. https://developer.apple.com/devcenter/ios/
  8. 8.
  9. 9.
    (2015) Google Android Developer Portal. http://developer.android.com/index.html
  10. 10.
  11. 11.
  12. 12.
    (2015) Hwaci—Applied Software Research. https://www.sqlite.org/
  13. 13.
  14. 14.
    PIMAR: Platform-inpendent development of mobile apps with augmented reality. http://www.uni-marburg.de/fb12/swt/forschung/software/pimar/
  15. 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)CrossRefGoogle Scholar
  16. 16.
    Allen, S., Graupera, V., Lundrigan, L.: Pro Smartphone Cross-Platform Development: iPhone, Blackberry, Windows Mobile and Android Development and Distribution. Apress (2010)Google Scholar
  17. 17.
    Ambler, S.: Agile Database Techniques: Effective Strategies for the Agile Software Developer. Wiley, London (2012)Google Scholar
  18. 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)Google Scholar
  19. 19.
    Bettini, L.: Implementing Domain-Specific Languages with Xtext and Xtend. Packt Publishing Ltd (2013)Google Scholar
  20. 20.
    Bishop, R.: Learning with LabVIEW. Pearson Education (2011)Google Scholar
  21. 21.
    Burnette, E.: Hello, Android: Introducing Google’s Mobile Development Platform. Pragmatic Bookshelf (2010)Google Scholar
  22. 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)CrossRefGoogle Scholar
  23. 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)CrossRefGoogle Scholar
  24. 24.
    Conway, J., Hillegass, A.: iOS Programming: The Big Nerd Ranch Guide, 3rd edn. Pearson Education (2012)Google Scholar
  25. 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)CrossRefGoogle Scholar
  26. 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)CrossRefGoogle Scholar
  27. 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)Google Scholar
  28. 28.
    Gronback, R.: Eclipse Modeling Project: A Domain-Specific Language (DSL) Toolkit. Pearson Education (2009)Google Scholar
  29. 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. 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)Google Scholar
  31. 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)Google Scholar
  32. 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)Google Scholar
  33. 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)Google Scholar
  34. 34.
    Kennedy-Eden, H., Gretzel, U.: A taxonomy of mobile applications in tourism (2012)Google Scholar
  35. 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)Google Scholar
  36. 36.
    Liao, S.: Migrating to Swift from Android. Apress (2014)Google Scholar
  37. 37.
    Mednieks, Z., Dornin, L., Meike, G., Nakamura, M.: Programming Android. O’Reilly (2012)Google Scholar
  38. 38.
    Meier, R.: Professional Android 4 Application Development. Wiley, London (2012)Google Scholar
  39. 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)CrossRefGoogle Scholar
  40. 40.
    Oehlman, D., Blanc, S.: Pro Android Web Apps: Develop for Android using HTML5, CSS3 & JavaScript. Apress (2011)Google Scholar
  41. 41.
    Piper, I.: Learn Xcode Tools for Mac OS X and iPhone Development. IT Pro, Apress (2010)Google Scholar
  42. 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)Google Scholar
  43. 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)Google Scholar
  44. 44.
    Rubel, D., Wren, J., Clayberg, E.: The Eclipse Graphical Editing Framework (GEF). Addison-Wesley, Reading (2011)Google Scholar
  45. 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)Google Scholar
  46. 46.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, 2nd edn. Addison-Wesley, Boston (2009)Google Scholar
  47. 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)Google Scholar
  48. 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)Google Scholar
  49. 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)Google Scholar
  50. 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)Google Scholar
  51. 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)Google Scholar
  52. 52.
    Vlissides, J.: Pattern Hatching: Design Patterns Applied. Addison-Wesley, Reading (1998)Google Scholar
  53. 53.
    Williams, G.: Learn HTML5 and JavaScript for Android. Apress (2012)Google Scholar
  54. 54.
    Yener, M., Theedom, A., Rahman, R.: Professional Java EE Design Patterns. Wiley, London (2014)CrossRefGoogle Scholar
  55. 55.
    Zapata, B.: Android Studio Application Development. Packt Publishing (2013)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Steffen Vaupel
    • 1
  • Gabriele Taentzer
    • 1
  • René Gerlach
    • 2
  • Michael Guckert
    • 2
  1. 1.Philipps-Universität MarburgMarburgGermany
  2. 2.KITE - Kompetenzzentrum für InformationstechnologieTechnische Hochschule MittelhessenFriedbergGermany

Personalised recommendations