Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3242921.3242922acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

A Declarative Language for Context Activation

Published: 16 July 2018 Publication History

Abstract

Context-oriented Programming proposes a language-level technique to enable dynamic adaptations by the activation of contextual situations sensed from the environment. Context activation triggers the dynamic composition of behavioral adaptations with the running system. Currently, there is a close relationship between contexts and the environment, narrowing the application of these techniques to systems that react to sensed data. This can also be a difficulty in systems requiring explicit activation from users by interacting with the user interface. Such systems require a uniform way to express the activation of different contexts based on a set of their defining properties, while minimizing the interaction with the user. We posit a declarative language, CQL, that unifies different mechanisms to activate contexts. CQL can be incorporated as a domain-specific language to any context-oriented language. We validated the appropriateness of the language in two directions. First, we use the expressiveness of the language to realize different mechanisms for context activation in a uniform model. All existing mechanism in the literature are effectively implemented for CQL. Second, we use CQL to automate the explicit activation of many contexts, as is the case of a context-driven multi-versioning application. Both validation cases use Context Traits as a representative Context-oriented Programming language for their implementation.

References

[1]
Tomoyuki Aotani, Tetsuo Kamina, and Hidehiko Masuhara. 2014. Unifying Multiple Layer Activation Mechanisms Using One Event Sequence. In Proceedings of 6th International Workshop on Context-Oriented Programming (COP'14). ACM, New York, NY, USA, 2:1--2:6.
[2]
Malte Appeltauer, Robert Hirschfeld, Michael Haupt, Jens Lincke, and Michael Perscheid. 2009. A Comparison of Context-Oriented Programming Languages. In International Workshop on Context-Oriented Programming. 1--6.
[3]
Santiago Beltran and Nicolás Cardozo. 2018. CollabIDE: A collaborative IDE for dynamic multi-versioning and variant management. In Ibero-American Conference on Software Engineering (CIbSE'18).
[4]
Nicolás Cardozo, Sebastián González, and Kim Mens. 2012. Uniting Global and Local Context Behavior with Context Petri Nets (COP'12). 1--3. 11 June 2012. Co-located with ECOOP.
[5]
Pascal Costanza and Robert Hirschfeld. 2005. Language Constructs for Context-Oriented Programming: An Overview of ContextL. 1--10. Co-located with OOPSLA'05.
[6]
Sebastián González, Kim Mens, Marius Colacioiu, and Walter Cazzola. 2013. Context Traits: dynamic behaviour adaptation through run-time trait recomposition. In Proceedings of International Conference on Aspect-Oriented Software Development (AOSD '13). New York, NY, USA, 209--220.
[7]
Sebastián González. 2008. Programming in Ambience: Gearing Up for Dynamic Adaptation to Context. Ph.D. Dissertation. Université catholique de Louvain. http://hdl.handle.net/2078.1/19684 Coll. EPL 211/2008. Promoted by Prof. Kim Mens.
[8]
Sebastián González, Nicolás Cardozo, Kim Mens, Alfredo Cádiz, Jean-Christophe Libbrecht, and Julien Goffaux. 2011. Subjective-C: Bringing Context to Mobile Platform Programming, Brian Malloy, Steffen Staab, and Mark van den Brand (Eds.), Vol. 6563. 246--265.
[9]
Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. 2008. Context-Oriented Programming. 7, 3 (March--April 2008), 125--151. http://www.jot.fm/issues/issue_2008_03/article4/
[10]
Tobias Jäkel, Thomas Kühn, Hannes Voigt, and Wolfgang Lehner. 2014. RSQL - a Query Language for Dynamic Data Types. In Proceedings of the 18th International Database Engineering & Applications Symposium (IDEAS'14). ACM, New York, NY, USA, 185--194.
[11]
Tetsuo Kamina, Tomoyuki Aotani, and Hidehiko Masuhara. 2011. EventCJ: A Context-Oriented Programming Language with Declarative Event-based Context Transition. In Proceedings of International Conference on Aspect-Oriented Software Development (AOSD'11) (AOSD'11). 253--264.
[12]
Tetsuo Kamina, Tomoyuki Aotani, and Hidehiko Masuhara. 2013. A unified context activation mechanism. In Proceedings of the 5th International Workshop on Context-Oriented Programming (COP'13). ACM, New York, NY, USA, 2:1--2:6.
[13]
Tetsuo Kamina, Tomoyuki Aotani, and Hidehiko Masuhara. 2016. Generalized Layer Activation Mechanism for Context-Oriented Programming. Transactions Modularity and Composition 1 (2016), 123--166.
[14]
Gregor Kiczales, John Lamping, Anurag Menhdhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. 1997. Aspect-Oriented Programming. Vol. 1241. 220--242.
[15]
Thomas Kühn, Max Leuthäuser, Sebastian Götz, Christoph Seidl, and Uwe Aßmann. 2014. A Metamodel Family for Role-Based Modeling and Programming Languages. In International Conference on Software Language Engineering (SLE'14), Benoît Combemale, David J. Pearce, Olivier Barais, and Jurgen Vinju (Eds.). Springer, Cham, 141--160.
[16]
Nguonly Taing, Markus Wutzler, Thomas Springer, Nicolás Cardozo, and Alexander Schill. 2016. Consistent Unanticipated Adaptation for Context-Dependent Applications. In International Workshop on Context-Oriented Programming (COP'16). ACM, 1--6.
[17]
Jorge Vallejos, Sebastián González, Pascal Costanza, Wolfgang De Meuter, Theo D'Hondt, and Kim Mens. 2010. Predicated Generic Functions: Enabling Context-Dependent Method Dispatch, Benoît Baudry and Eric Wohlstadter (Eds.), Vol. 6144. 66--81.

Cited By

View all
  • (2023)An expressive and modular layer activation mechanism for Context-Oriented ProgrammingInformation and Software Technology10.1016/j.infsof.2022.107132156(107132)Online publication date: Apr-2023

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
COP '18: Proceedings of the 10th ACM International Workshop on Context-Oriented Programming: Advanced Modularity for Run-time Composition
July 2018
50 pages
ISBN:9781450357227
DOI:10.1145/3242921
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].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 July 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Context query language
  2. Context testing and simulation
  3. Selection and scoping

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ECOOP '18

Acceptance Rates

COP '18 Paper Acceptance Rate 6 of 8 submissions, 75%;
Overall Acceptance Rate 17 of 25 submissions, 68%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 23 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)An expressive and modular layer activation mechanism for Context-Oriented ProgrammingInformation and Software Technology10.1016/j.infsof.2022.107132156(107132)Online publication date: Apr-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media