skip to main content
10.1145/2786545.2786552acmconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Towards a Decoupled Context-Oriented Programming Language for the Internet of Things

Authors Info & Claims
Published:04 July 2015Publication History

ABSTRACT

Easily programming behaviors is one major issue of a large and reconfigurable deployment in the Internet of Things. Such kind of devices often requires to externalize part of their behavior such as the sensing, the data aggregation or the code offloading. Most existing context-oriented programming languages integrate in the same class or close layers the whole behavior. We propose to abstract and separate the context tracking from the decision process, and to use event-based handlers to interconnect them. We keep a very easy declarative and non-layered programming model. We illustrate by defining an extension to Golo - a JVM-based dynamic language.

References

  1. M. Appeltauer, R. Hirschfeld, M. Haupt, J. Lincke, and M. Perscheid. A comparison of context-oriented programming languages. In International Workshop on Context-Oriented Programming, COP '09, page 6:1--6:6, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Appeltauer, R. Hirschfeld, M. Haupt, and H. Masuhara. ContextJ: Context-oriented programming with java. Computer Software, 28(1):272--292, 2011.Google ScholarGoogle Scholar
  3. M. Appeltauer, R. Hirschfeld, and J. Lincke. Declarative layer composition with the JCop programming language. The Journal of Object Technology, 12(2):4:1, 2013.Google ScholarGoogle Scholar
  4. M. Appeltauer, R. Hirschfeld, and H. Masuhara. Improving the development of context-dependent java applications with ContextJ. In International Workshop on Context-Oriented Programming, COP '09, page 5:1--5:5, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. D. Clarke and I. Sergey. A semantics for context-oriented programming with layers. In International Workshop on Context-Oriented Programming, COP '09, page 10:1--10:6, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. C. Ghezzi, M. Pradella, and G. Salvaneschi. Context oriented programming in highly concurrent systems. In International Workshop on Context-Oriented Programming, COP '10, page 1:1--1:3, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. González, N. Cardozo, K. Mens, A. Cádiz, J.-C. Libbrecht, and J. Goffaux. Subjective-c: Bringing context to mobile platform programming. In Third international conference on Software Language Engineering (SLE 2010), number 6563 in LNCS, pages 246--265, Berlin, Heidelberg, 2010. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. K. R. Jayaram and P. Eugster. Context-oriented programming with EventJava. In International Workshop on Context-Oriented Programming, COP '09, page 9:1--9:6, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Kamina, T. Aotani, and H. Masuhara. EventCJ: a context-oriented programming language with declarative event-based context transition. In 10th International Conference on Aspect-oriented Software Development, AOSD '11, page 253--264, New York, NY, USA, 2011. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Kamina, T. Aotani, and H. Masuhara. A unified context activation mechanism. In International Workshop on Context-Oriented Programming, COP'13, page 2:1--2:6, New York, NY, USA, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Kamina, T. Aotani, and H. Masuhara. Generalized layer activation mechanism through contexts and subscribers. In 14th International Conference on Modularity, MODULARITY 2015, pages 14--28, New York, NY, USA, 2015. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. Kamina and T. Tamai. Towards safe and flexible object adaptation. In International Workshop on Context-Oriented Programming, COP '09, page 4:1--4:6, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. B. Maingret. Congolo github repository. https://github.com/bmaingret/contextual-golo-lang/tree/congolo, 2014.Google ScholarGoogle Scholar
  14. F. L. Mouël. Golo-lang - messaging. https://github.com/flemouel/congolo/tree/master/src/main/java/gololang/concurrent/messaging, 2014.Google ScholarGoogle Scholar
  15. A. Núñez, J. Noyé, and V. Gasiunas. Declarative definition of contexts with polymorphic events. In International Workshop on Context-Oriented Programming, COP '09, page 2:1--2:6, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Ponge. Avoiding benchmarking pitfalls on the jvm. Oracle Java Magazine, jul 2014.Google ScholarGoogle Scholar
  17. J. Ponge, F. Le Mouël, and N. Stouls. Golo, a dynamic, light and efficient language for post-invokedynamic JVM. In 11th International Conference on Principles and Practice of Programming in Java (PPPJ'2013), page 153. ACM Press, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. J. Vallejos, S. González, P. Costanza, W. De Meuter, T. D'Hondt, and K. Mens. Predicated generic functions. In Software Composition, volume 6144 of LNCS, pages 66--81. Springer Berlin Heidelberg, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. B. H. Wasty, A. Semmo, M. Appeltauer, B. Steinert, and R. Hirschfeld. ContextLua: dynamic behavioral variations in computer games. In International Workshop on Context-Oriented Programming, COP '10, page 5:1--5:6, New York, NY, USA, 2010. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Towards a Decoupled Context-Oriented Programming Language for the Internet of Things

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in
        • Published in

          cover image ACM Conferences
          COP '15: Proceedings of the 7th ACM International Workshop on Context-Oriented Programming
          July 2015
          54 pages
          ISBN:9781450336543
          DOI:10.1145/2786545

          Copyright © 2015 ACM

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

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 4 July 2015

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed limited

          Acceptance Rates

          Overall Acceptance Rate17of25submissions,68%

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader