Skip to main content
Log in

AocML: A Domain-Specific Language for Model-Driven Development of Activity-Oriented Context-Aware Applications

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

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.

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.

Similar content being viewed by others

References

  1. Weiser M. The computer for the 21st century. Scientific American, 1991, 265(3): 94-104.

    Article  Google Scholar 

  2. Satyanarayanan M. Pervasive computing: Vision and challenges. IEEE Personal Communications, 2001, 8(4): 10-17.

    Article  Google Scholar 

  3. 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.

    Article  Google Scholar 

  4. Gu T, Pung H, Zhang D. Toward an OSGi-based infrastructure for context-aware applications. IEEE Pervasive Computing, 2004, 3(4): 66-74.

    Article  Google Scholar 

  5. 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.

  6. 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.

  7. 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.

    Article  Google Scholar 

  8. 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.

    Article  Google Scholar 

  9. 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.

  10. 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.

  11. 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.

    Article  Google Scholar 

  12. Engeström Y, Miettinen R, Punamäki R L. Perspectives on Activity Theory. Cambridge University Press, 1999.

  13. Baldauf M, Dustdar S, Rosenberg F. A survey on contextaware systems. International Journal of Ad Hoc and Ubiquitous Computing, 2007, 2(4): 263-277.

    Article  Google Scholar 

  14. Selic B. Personal reflections on automation, programming culture, and model-based software engineering. Automated Software Engineering, 2008, 15(3/4): 379-391.

    Article  Google Scholar 

  15. Kleppe A. Software Language Engineering: Creating Domain-Specific Languages Using Metamodels (1st edition). Addison-Wesley Professional, 2008.

  16. Freudenthal M. Domain specific languages in a customs information system. IEEE Software, 2010, 27(2): 65-71.

    Article  Google Scholar 

  17. Spinellis D. Notable design patterns for domain-specific languages. Journal of Systems and Software, 2001, 56(1): 91-99.

    Article  Google Scholar 

  18. 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.

  19. Mernik M, Heering J, Sloane A M. When and how to develop domain-specific languages. ACM Computing Surveys, 2005, 37(4): 316-344.

    Article  Google Scholar 

  20. 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.

    Article  Google Scholar 

  21. Dourish P.What we talk about when we talk about context. Personal and Ubiquitous Computing, 2004, 8(1): 19-30.

    Article  Google Scholar 

  22. 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.

  23. Kleppe A G, Warmer J, Bast W. MDA Explained: The Model Driven Architecture: Practice and Promise (1st edition). Addison-Wesley Professional, 2003.

  24. 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.

    Article  Google Scholar 

  25. 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.

    Article  Google Scholar 

  26. Gamma E, Helm R, Johnson R, Vlissides J, Booch G. Design Patterns: Elements of Reusable Object-Oriented Software (1st edition). Addison-Wesley Professional, 1994.

  27. Gruber T R. A translation approach to portable ontology specifications. Knowledge Acquisition, 1993, 5(2): 199-220.

    Article  Google Scholar 

  28. Bechhofer S. OWL: Web ontology language. In Encyclopedia of Database Systems, Liu L, ¨Ozsu M T (eds.), Springer, 2009, pp.90-154

  29. Power J F, Malloy B A. A metrics suite for grammar-based software. Journal of Software Evolution and Process, 2004, 16(6): 405-426.

    Article  Google Scholar 

  30. 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.

    Article  Google Scholar 

  31. Chen G. Solar: Building a context fusion network for pervasive computing [Ph.D. Thesis]. Dartmouth College, Hanover, New Hampshire, 2004.

  32. 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.

  33. Rehman K, Stajano F, Coulouris G. An architecture for interactive context-aware applications. IEEE Pervasive Computing, 2007, 6(1): 73-80.

    Article  Google Scholar 

  34. Julien C, Roman G C. EgoSpaces: Facilitating rapid development of context-aware mobile applications. IEEE Transactions on Software Engineering 2006, 32(5): 281-298.

    Article  Google Scholar 

  35. 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.

  36. Kelly S, Pohjonen R. Worst practices for domain-specific modeling. IEEE Software, 2009, 26(4): 22-29.

    Article  Google Scholar 

  37. 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.

  38. 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.

    Article  Google Scholar 

  39. 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.

  40. Henricksen K, Indulska J. Developing context-aware pervasive computing applications: Models and approach. Pervasive and Mobile Computing, 2006, 2(1): 37-64.

    Article  Google Scholar 

  41. 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.

  42. 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.

    Article  Google Scholar 

  43. 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.

    Article  Google Scholar 

  44. 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.

    Article  Google Scholar 

  45. 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.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xuan-Song Li.

Electronic supplementary material

Below is the link to the electronic supplementary material.

ESM 1

(PDF 243 kb)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-018-1865-9

Keywords

Navigation