Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3001854.3001855acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Persistent contextual values as inter-process layers

Published: 21 October 2016 Publication History

Abstract

Mobile applications today often fail to be context aware when they also need to be customizable and efficient at run-time. Context-oriented programming allows programmers to develop applications that are more context aware. Its central construct, the so-called layer, however, is not customizable. We propose to use novel persistent contextual values for mobile development. Persistent contextual values automatically adapt their value to the context. Furthermore they provide access without overhead. Key-value configuration files contain the specification of contextual values and the persisted contextual values themselves. By modifying the configuration files, the contextual values can easily be customized for every context. From the specification, we generate code to simplify development. Our implementation, called Elektra, permits development in several languages including C++ and Java. In a benchmark we compare layer activations between threads and between applications. In a case study involving a web-server on a mobile embedded device the performance overhead is minimal, even with many context switches.

References

[1]
P. Asirelli, P. Degano, G. Levi, A. Martèlli, U. Montanari, G. Pacini, F. Sirovich, and F. Turini. A flexible environment for program development based on a symbolic interpreter. In Proceedings of the 4th International Conference on Software Engineering, ICSE ’79, pages 251–263, Piscataway, NJ, USA, 1979. IEEE Press.
[2]
G. Biegel and V. Cahill. A framework for developing mobile, context-aware applications. In Pervasive Computing and Communications, 2004. PerCom 2004. Proceedings of the Second IEEE Annual Conference on, pages 361–365, March 2004.
[3]
H. G. Elmongui, W. G. Aref, and M. F. Mokbel. Chameleon: Context-awareness inside DBMSs. In 2009 IEEE 25th International Conference on Data Engineering, pages 1335–1338, March 2009.
[4]
H. Jong-yi, S. Eui-ho, and K. Sung-Jin. Context-aware systems: A literature review and classification. Expert Systems with Applications, 36(4):8509 – 8522, 2009. ISSN 0957-4174.
[5]
A. B. Kahn. Topological sorting of large networks. Commun. ACM, 5(11):558–562, Nov. 1962. ISSN 0001-0782. 1145/368996.369025.
[6]
T. Kamina, T. Aotani, and H. Masuhara. Generalized layer activation mechanism through contexts and subscribers. In Proceedings of the 14th International Conference on Modularity, MODULARITY 2015, pages 14–28, New York, NY, USA, 2015. ACM. ISBN 978-1-4503-3249-1.
[7]
[8]
[9]
K. Mens, R. Capilla, N. Cardozo, B. Dumas, et al. A taxonomy of context-aware software variability approaches. In Workshop on Live Adaptation of Software Systems, collocated with Modularity 2016 conference, 2016.
[10]
C. Montangero, G. Pacini, and F. Turini. MAGMA-Lisp: A "machine language" for artificial intelligence. In Proceedings of the 4th International Joint Conference on Artificial Intelligence - Volume 1, IJCAI’75, pages 556–561, San Francisco, CA, USA, 1975. Morgan Kaufmann Publishers Inc.
[11]
M. Raab. A modular approach to configuration storage. Master’s thesis, Vienna University of Technology, 2010.
[12]
M. Raab. Global and thread-local activation of contextual program execution environments. In Proceedings of the IEEE 18th International Symposium on Real-Time Distributed Computing Workshops (ISORCW/SEUS), pages 34–41, April 2015.
[13]
M. Raab. Sharing software configuration via specified links and transformation rules. In Technical Report from KPS 2015, volume 18. Vienna University of Technology, Complang Group, 2015.
[14]
M. Raab. Improving system integration using a modular configuration specification language. In Companion Proceedings of the 15th International Conference on Modularity, MODULARITY Companion 2016, pages 152–157, New York, NY, USA, 2016. ACM. ISBN 978-1-4503-4033-5.
[15]
M. Raab. Unanticipated context awareness for software configuration access using the getenv API. In Computer and Information Science, pages 41–57. Springer International Publishing, Cham, 2016. ISBN 978-3-319-40171-3.
[16]
M. Raab and F. Puntigam. Program execution environments as contextual values. In Proceedings of 6th International Workshop on Context-Oriented Programming, pages 8:1–8:6, NY, USA, 2014. ACM. ISBN 978-1-4503-2861-6.
[17]
M. Raento, A. Oulasvirta, R. Petit, and H. Toivonen. ContextPhone: a prototyping platform for context-aware mobile applications. IEEE Pervasive Computing, 4(2):51–59, Jan 2005. ISSN 1536-1268.
[18]
E. Tanter. Contextual values. In Proceedings of the 2008 Symposium on Dynamic Languages, DLS ’08, pages 3:1– 3:10, NY, USA, 2008. ACM. ISBN 978-1-60558-270-2.
[19]
E. Umuhoza, H. Ed-douibi, M. Brambilla, J. Cabot, and A. Bongio. Automatic code generation for cross-platform, multi-device mobile apps: Some reflections from an industrial experience. In Proceedings of the 3rd International Workshop on Mobile Development Lifecycle, MobileDeLi 2015, pages 37–44, New York, NY, USA, 2015. ACM. ISBN 978-1- 4503-3906-3.
[20]
M. von Löwis, M. Denker, and O. Nierstrasz. Contextoriented programming: Beyond layers. In Proceedings of the 2007 International Conference on Dynamic Languages, ICDL ’07, pages 143–156, NY, USA, 2007. ACM. ISBN 978-1-60558-084-5.
[21]
H. Wang and W. K. Chan. Weaving context sensitivity into test suite construction. In Automated Software Engineering, 2009. ASE ’09. 24th IEEE/ACM International Conference on, pages 610–614, Nov 2009.
[22]
E. Williams and J. Gray. Contextion: A framework for developing context-aware mobile applications. In Proceedings of the 2nd International Workshop on Mobile Development Lifecycle, MobileDeLi ’14, pages 27–31, New York, NY, USA, 2014. ACM. ISBN 978-1-4503-2190-7.
[23]
[24]

Cited By

View all
  • (2017)Challenges in Validating FLOSS ConfigurationOpen Source Systems: Towards Robust Practices10.1007/978-3-319-57735-7_11(101-114)Online publication date: 23-Apr-2017
  • (2016)Elektra: universal framework to access configuration parametersThe Journal of Open Source Software10.21105/joss.000441:8(44)Online publication date: Dec-2016

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
Mobile! 2016: Proceedings of the 1st International Workshop on Mobile Development
October 2016
44 pages
ISBN:9781450346436
DOI:10.1145/3001854
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 October 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. benchmark
  2. configuration specification

Qualifiers

  • Research-article

Conference

SPLASH '16
Sponsor:

Upcoming Conference

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 11 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2017)Challenges in Validating FLOSS ConfigurationOpen Source Systems: Towards Robust Practices10.1007/978-3-319-57735-7_11(101-114)Online publication date: 23-Apr-2017
  • (2016)Elektra: universal framework to access configuration parametersThe Journal of Open Source Software10.21105/joss.000441:8(44)Online publication date: Dec-2016

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media