Abstract
Activity-oriented context-aware (AOCA) applications are representative in pervasive computing. These applications recognize daily-life human activities, perceive the environment status related to the activities, and react to ensure the smooth performance of the activities. Existing research proposed a specific light-weight, incremental method to support the development of such applications; however it is not easy to learn and use. This paper aims to facilitate the development of such applications and improve the productivity of developers. We propose AocML, a textual domain-specific language which provides a high-level abstraction of AOCA applications. Specifically, we first show the software model of AOCA applications and the abstract syntax of AocML. Then, we introduce the concrete syntax of AocML. We also implement the tools for AocML, including the development environment as well as the generation of Java code and ontology specification. Moreover, we use a case study and evaluation to demonstrate the advantages of AocML.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Weiser M. The computer for the 21st century. Scientific American, 1991, 265(3): 94-104.
Satyanarayanan M. Pervasive computing: Vision and challenges. IEEE Personal Communications, 2001, 8(4): 10-17.
Li X, Tao X, Lu J. Towards a programming framework for activity-oriented context-aware applications. Frontiers of Computer Science, 2017, 11(6): 987-1006.
Gu T, Pung H, Zhang D. Toward an OSGi-based infrastructure for context-aware applications. IEEE Pervasive Computing, 2004, 3(4): 66-74.
Li J, Bu Y, Chen S, Tao X, Lu J. FollowMe: On research of pluggable infrastructure for context-awareness. In Proc. the 20th International Conference on Advanced Information Networking and Applications, Volume 1, April 2006, pp.199-204.
Arcelus A, Jones M H, Goubran R, Knoefel F. Integration of smart home technologies in a health monitoring system for the elderly. In Proc. the 21st Int. Conf. Advanced Information Networking and Applications, Volume 2, May 2007, pp.820-825.
Dey A, Abowd G, Salber D. A conceptual framework and a toolkit for supporting the rapid prototyping of contextaware applications. Human-Computer Interaction 2001, 16(2): 97-166.
Gu T, Pung H K, Zhang D Q. A service-oriented middleware for building context-aware services. Journal of Network and Computer Applications, 2005, 28(1): 1-18.
Voelter M, Benz S, Dietrich C, Engelmann B, Helander M, Kats L C, Visser E, Wachsmuth G. DSL Engineering: Designing, Implementing and Using Domain-Specific Languages. CreateSpace Independent Publishing Platform, 2013.
Kamma D, Sasi K G. Effect of model based software development on productivity of enhancement tasks — An industrial study. In Proc. the 21st Asia-Pacific Software Engineering Conference, December 2014, pp.71-77.
Mellegard N, Ferwerda A, Lind K, Heldal R, Chaudron M. Impact of introducing domain-specific modelling in software maintenance: An industrial case study. IEEE Transactions Software Engineering, 2016, 42(3): 245-260.
Engeström Y, Miettinen R, Punamäki R L. Perspectives on Activity Theory. Cambridge University Press, 1999.
Baldauf M, Dustdar S, Rosenberg F. A survey on contextaware systems. International Journal of Ad Hoc and Ubiquitous Computing, 2007, 2(4): 263-277.
Selic B. Personal reflections on automation, programming culture, and model-based software engineering. Automated Software Engineering, 2008, 15(3/4): 379-391.
Kleppe A. Software Language Engineering: Creating Domain-Specific Languages Using Metamodels (1st edition). Addison-Wesley Professional, 2008.
Freudenthal M. Domain specific languages in a customs information system. IEEE Software, 2010, 27(2): 65-71.
Spinellis D. Notable design patterns for domain-specific languages. Journal of Systems and Software, 2001, 56(1): 91-99.
Hürsch W L, Lopes C V. Separation of concerns. Technical Report NU-CCS-95-03, Northeastern University, 1995. http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=0D0343A1A144A43A5687C675AF2766C0?doi=10.1.1.125.2723&rep=rep1&type=pdf July 2018.
Mernik M, Heering J, Sloane A M. When and how to develop domain-specific languages. ACM Computing Surveys, 2005, 37(4): 316-344.
Wang L, Gu T, Tao X, Chen H, Lu J. Recognizing multiuser activities using wearable sensors in a smart home. Pervasive and Mobile Computing, 2011, 7(3): 287-298.
Dourish P.What we talk about when we talk about context. Personal and Ubiquitous Computing, 2004, 8(1): 19-30.
Eysholdt M, Behrens H. Xtext: Implement your language faster than the quick and dirty way. In Proc. the 25th ACM International Conference Companion on Object-Oriented Programming, Systems, Languages, and Applications Companion, October 2010, pp.307-309.
Kleppe A G, Warmer J, Bast W. MDA Explained: The Model Driven Architecture: Practice and Promise (1st edition). Addison-Wesley Professional, 2003.
Serral E, Valderas P, Pelechano V. Towards the model driven development of context-aware pervasive systems. Pervasive and Mobile Computing, 2010, 6(2): 254-280.
Hoyos J R, García-Molina J, Botía J A. A domain-specific language for context modeling in context-aware systems. Journal of Systems and Software, 2013, 86(11): 2890-2905.
Gamma E, Helm R, Johnson R, Vlissides J, Booch G. Design Patterns: Elements of Reusable Object-Oriented Software (1st edition). Addison-Wesley Professional, 1994.
Gruber T R. A translation approach to portable ontology specifications. Knowledge Acquisition, 1993, 5(2): 199-220.
Bechhofer S. OWL: Web ontology language. In Encyclopedia of Database Systems, Liu L, ¨Ozsu M T (eds.), Springer, 2009, pp.90-154
Power J F, Malloy B A. A metrics suite for grammar-based software. Journal of Software Evolution and Process, 2004, 16(6): 405-426.
Crepinsek M, Kosar T, Mernik M, Cervelle J, Forax R, Roussel G. On automata and language based grammar metrics. Computer Science and Information Systems, 2010, 7(2): 309-329.
Chen G. Solar: Building a context fusion network for pervasive computing [Ph.D. Thesis]. Dartmouth College, Hanover, New Hampshire, 2004.
Wischweh J, Bade D. Activity-oriented context adaptation in mobile applications. In Proc. the 8th International Conference on Mobile and Ubiquitous Systems: Computing, Networking, and Services, Dec. 2011, pp.298-313.
Rehman K, Stajano F, Coulouris G. An architecture for interactive context-aware applications. IEEE Pervasive Computing, 2007, 6(1): 73-80.
Julien C, Roman G C. EgoSpaces: Facilitating rapid development of context-aware mobile applications. IEEE Transactions on Software Engineering 2006, 32(5): 281-298.
Sindico A, Grassi V. Model driven development of context aware software systems. In Proc. International Workshop on Context-Oriented Programming, July 2009, Article No. 7.
Kelly S, Pohjonen R. Worst practices for domain-specific modeling. IEEE Software, 2009, 26(4): 22-29.
Sheng Q Z, Benatallah B. ContextUML: A UMLbased modeling language for model-driven development of context-aware Web services. In Proc. the 4th International Conference on Mobile Business, July 2005, pp.206-212.
Ceri S, Daniel F, Matera M, Facca F M. Model-driven development of context-aware Web applications. ACM Transactions on Internet Technology, 2007, 7(1): Article No. 2.
Ayed D, Delanote D, Berbers Y. MDD approach for the development of context-aware applications. In Proc. the 6th International and Interdisciplinary Conference on Modeling and Using Context, August 2007, pp.15-28.
Henricksen K, Indulska J. Developing context-aware pervasive computing applications: Models and approach. Pervasive and Mobile Computing, 2006, 2(1): 37-64.
Barnett S, Vasa R, Grundy J. Bootstrapping mobile app development. In Proc. the 37th International Conference on Software Engineering, Volume 2, May 2015, pp.657-660.
Schreiber F A, Camplani R, Fortunato M, Marelli M, Rota G. PerLa: A language and middleware architecture for data management and integration in pervasive information systems. IEEE Trans. Software Engineering, 2012, 38(2): 478-496.
Alvares F, Rutten E, Seinturier L. A domain-specific language for the control of self-adaptive component-based architecture. Journal of Systems and Software, 2017, 130: 94-112.
Kulkarni D, Ahmed T, Tripathi A. A generative programming framework for context-aware CSCW applications. ACM Trans. Software Engineering and Methodology, 2012, 21(2): Article No. 11.
Lee Y, Iyengar S, Min C, Ju Y, Kang S, Park T, Lee J, Rhee Y, Song J. Mobicon: A mobile context-monitoring platform. Communications of the ACM, 2012, 55(3): 54-65.
Author information
Authors and Affiliations
Corresponding author
Electronic supplementary material
Below is the link to the electronic supplementary material.
ESM 1
(PDF 243 kb)
Rights and permissions
About this article
Cite this article
Li, XS., Tao, XP., Song, W. et al. AocML: A Domain-Specific Language for Model-Driven Development of Activity-Oriented Context-Aware Applications. J. Comput. Sci. Technol. 33, 900–917 (2018). https://doi.org/10.1007/s11390-018-1865-9
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11390-018-1865-9