Abstract
Today, an increasing number of “smart devices” are becoming available to consumers, enabling them to quantify their physical activity and health status and to receive updates from their environment and applications. The preferred method of tethering these devices to the Internet is through the BLE (Bluetooth Low Energy) communication protocol connecting them to special-purpose mobile applications. The efficient development of high-quality applications of this type can present challenges to developers who have to familiarize themselves with a number of new technologies and platform-specific architectural patterns. A combination of domain-specific languages and code-generation techniques is a potential solution to this problem.
In this paper, we present (a) a generic reference architecture for Android BLE-enables applications, and (b) our AHL (Android Health Language), a domain-specific language and a corresponding code-generation framework that enables the easy and rapid development of the core elements of a typical BLE-enabled data-collection application in this architecture. The generated code is functional and does not need any modifications. This model-driven application-construction process relieves developers from the burden of dealing with complex Android concepts and components. Thus, AHL can save time and reduce the cost of Android application development for developers. In this paper, we explain the AHL framework, its models, its underlying DSL, and the methodology we used to design and implement it. We evaluate our work with two functional applications and compare them to the existing ones developed from scratch.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
References
Acceleo. https://eclipse.org/acceleo/. Accessed 10 Nov 2016
Atom3 a tool for multi-formalism meta-modelling. http://atom3.cs.mcgill.ca/. Accessed 10 Nov 2016
Azghandi, M.V., Nikolaidis, I., Stroulia, E.: Multi-occupant movement tracking in smart home environments. In: Inclusive Smart Cities and e-Health - 13th International Conference on Smart Homes and Health Telematics, ICOST 2015, Geneva, Switzerland, 10–12 June 2015, Proceedings, pp. 319–324 (2015)
Bazelli, B., Stroulia, E.: WL++: a framework to build cross-platform mobile applications and restful back-ends. IJBPIM 8(1), 1–15 (2017)
De Smedt, P.: Comparing three graphical DSL editors: Atom3, metaedit+ and poseidon for DSLs. Preprint, Submitted to Elsevier, University of Antwerp (2011)
Eclipse modeling framework. http://www.eclipse.org/modeling/emf/. Accessed 10 Nov 2016
Emftext. http://www.emftext.org/index.php/EMFText. Accessed 10 Nov 2016
Graphical modeling project. http://www.eclipse.org/modeling/gmp/. Accessed 10 Nov 2016
Guana, V., Stroulia, E., Nguyen, V.: Building a game engine: a tale of modern model-driven engineering. In: 4th IEEE/ACM International Workshop on Games and Software Engineering, GAS 2015, Florence, Italy, 18 May 2015, pp. 15–21 (2015)
IDC: Smartphone OS market share 2015, 2014, 2013, and 2012. http://www.idc.com/prodserv/smartphone-os-market-share.jsp. Accessed 22 July 2016
Kim, W.Y., Son, H.S., Kim, J.S., Kim, R.Y.C.: Adapting model transformation approach for android smartphone application. In: Kim, T., Adeli, H., Robles, R.J., Balitanas, M. (eds.) ACN 2011. CCIS, vol. 199, pp. 421–429. Springer, Heidelberg (2011). doi:10.1007/978-3-642-23312-8_53
Kim, W.Y., Son, H.S., Kim, R.Y.C.: Design of code template for automatic code generation of heterogeneous smartphone application. In: Kim, T., Adeli, H., Robles, R.J., Balitanas, M. (eds.) ACN 2011. CCIS, vol. 199, pp. 292–297. Springer, Heidelberg (2011). doi:10.1007/978-3-642-23312-8_37
Lachgar, M., Abdali, A.: Modeling and generating the user interface of mobile devices and web development with DSL. J. Theor. Appl. Inf. Technol. 72(1), 124–132 (2015)
Membarth, R., Reiche, O., Hannig, F., Teich, J.: Code generation for embedded heterogeneous architectures on android. In: Proceedings of the Conference on Design, Automation & Test in Europe, p. 86. European Design and Automation Association (2014)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. (CSUR) 37(4), 316–344 (2005)
Metaedit+ domain-specific modeling tools. http://www.metacase.com/products.html. Accessed 10 Nov 2016
Jetbrains meta programming system. https://www.jetbrains.com/mps/. Accessed 10 Nov 2016
Generator overview mps 3.3 documentation confluence. https://confluence.jetbrains.com/display/MPSD33/Generator+Overview. Accessed 10 Nov 2016
Overview of domain-specific language tools. https://msdn.microsoft.com/en-us/library/bb126327.aspx. Accessed 10 Nov 2016
Parada, A.G., de Brisolara, L.B.: A model driven approach for android applications development. In: 2012 Brazilian Symposium on Computing System Engineering (SBESC), pp. 192–197. IEEE (2012)
Parada, A.G., Siegert, E., de Brisolara, L.B.: Generating Java code from UML class and sequence diagrams. In: 2011 Brazilian Symposium on Computing System Engineering (2011)
Pelechano, V., Albert, M., Muñoz, J., Cetina, C.: Building tools for model driven development. Comparing microsoft DSL tools and eclipse modeling plug-ins. In: DSDM (2006)
Radhakrishnan, M., Misra, A., Balan, R.K., Lee, Y.: Smartphones and BLE services: empirical insights. In: 2015 IEEE 12th International Conference on Mobile Ad Hoc and Sensor Systems (MASS), pp. 226–234. IEEE (2015)
Sabraoui, A., El Koutbi, M., Khriss, I.: GUI code generation for android applications using a MDA approach. In: 2012 International Conference on Complex Systems (ICCS), pp. 1–6. IEEE (2012)
Vlasenko, I., Nikolaidis, I., Stroulia, E.: The smart-condo: optimizing sensor placement for indoor localization. IEEE Trans. Syst. Man Cybern. Syst. 45(3), 436–453 (2015)
Xtend - modernized Java. https://eclipse.org/xtend/index.html. Accessed 10 Nov 2016
Xtext - language engineering made easy! https://eclipse.org/Xtext/. Accessed 10 Nov 2016
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Veisi, P., Stroulia, E. (2017). AHL: Model-Driven Engineering of Android Applications with BLE Peripherals. In: Aïmeur, E., Ruhi, U., Weiss, M. (eds) E-Technologies: Embracing the Internet of Things . MCETECH 2017. Lecture Notes in Business Information Processing, vol 289. Springer, Cham. https://doi.org/10.1007/978-3-319-59041-7_4
Download citation
DOI: https://doi.org/10.1007/978-3-319-59041-7_4
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-59040-0
Online ISBN: 978-3-319-59041-7
eBook Packages: Computer ScienceComputer Science (R0)