skip to main content
10.1145/2637066.2637072acmconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
tutorial

A Two-Component Language for COP

Published:28 July 2014Publication History

ABSTRACT

Adaptive applications are designed and programmed to dynamically adjust their behaviour to respond to changes of their execution environment. This paper introduces MLCoDa, a new COP language, made of two components: a declarative one for the context and a functional constituent for computing. Here we concentrate on the rational behind the design of MLCoDa and on its dynamic semantics. We also sketch a verification mechanism based on static analysis to prevent wrong adaptations which could compromise the correct behaviour of applications.

References

  1. Tomoyuki Aotani, Tetsuo Kamina, and Hidehiko Masuhara. Featherweight EventCJ: a core calculus for a context-oriented language with event-based per-instance layer transition. COP '11. ACM, 2011. 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), 2011.Google ScholarGoogle Scholar
  3. Malte Appeltauer, Robert Hirschfeld, Michael Haupt, Jens Lincke, and Michael Perscheid. A comparison of context-oriented programming languages. COP '09. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. S. Ceri, G. Gottlob, and L. Tanca. What you always wanted to know about datalog (and never dared to ask). IEEE Trans. on Knowl. & Data Eng., 1(1), 1989. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. H. Chen, T. Finin, and A. Joshi. An ontology for context-aware pervasive computing environments. The Knowledge Engineering Review, 18(03), 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Dave Clarke and Ilya Sergey. A semantics for context-oriented programming with layers. COP '09. ACM, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Pascal Costanza. Language constructs for context-oriented programming. In In Proc. of the Dynamic Languages Symposium. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Pierre-Charles David and Thomas Ledoux. Wildcat: a generic framework for context-aware applications. In MPAC '05. ACM, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Pierpaolo Degano, Gian-Luigi Ferrari, Letterio Galletta, and Gianluca Mezzetti. Typing for coordinating secure behavioural variations. In Coordination Models and Languages, volume 7274 of LNCS. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Letterio Galletta. Adaptivity: linguistic mechanisms and static analysis techniques. PhD thesis, Comp. Sci. Dept., University of Pisa, 2014. http://www.di.unipi.it/~galletta/phdThesis.pdf.Google ScholarGoogle Scholar
  11. T. Gu, X.H. Wang, H.K. Pung, and D.Q. Zhang. An ontology-based context model in intelligent environments. In Proceedings of communication networks and distributed systems modeling and simulation conference, 2004.Google ScholarGoogle Scholar
  12. R. Hirschfeld, A. Igarashi, and H. Masuhara. ContextFJ: a minimal core calculus for context-oriented programming. In Proceedings of the 10th international workshop on Foundations of aspect-oriented languages. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Robert Hirschfeld, Pascal Costanza, and Oscar Nierstrasz. Context-oriented programming. Journal of Object Technology, March-April 2008, ETH Zurich, 7(3):125--151, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  14. Atsushi Igarashi, Robert Hirschfeld, and Hidehiko Masuhara. A type system for dynamic layer composition. In FOOL 2012, page 13, 2012.Google ScholarGoogle Scholar
  15. Seng W. Loke. Representing and reasoning with situations for context-aware pervasive computing: a logic programming perspective. Knowl. Eng. Rev., 19(3), September 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. George C. Necula and Peter Lee. Safe, untrusted agents using proof-carrying code. In Mobile Agents and Security, pages 61--91, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Giorgio Orsi and Letizia Tanca. Context modelling and context-aware querying. In O. Moor, G. Gottlob, T. Furche, and A. Sellers, editors, Datalog Reloaded, volume 6702 of LNCS, pages 225--244. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Bhaskar Prasad Rimal, Eunmi Choi, and Ian Lumb. A taxonomy and survey of cloud computing systems. In NCM '09. IEEE Computer Society, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Eva Rose. Lightweight bytecode verification. J. Autom. Reason., 31(3-4), 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. Context-oriented programming: A software engineering perspective. Journal of Systems and Software, 85(8):1801--1817, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Guido Salvaneschi, Carlo Ghezzi, and Matteo Pradella. ContextErlang: introducing context-oriented programming in the actor model. AOSD '12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jorge Vallejos, Sebastián González, Pascal Costanza, Wolfgang De Meuter, Theo D'Hondt, and Kim Mens. Predicated generic functions: Enabling context-dependent method dispatch. In Proceedings of the 9th International Conference on Software Composition, volume 6144 of LNCS, pages 66--81, Berlin, 2010. Springer. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Bart van Wissen, Nicholas Palmer, Roelof Kemp, Thilo Kielmann, and Henri Bal. ContextDroid: an expression-based context framework for Android. In Proceedings of PhoneSense 2010, 2010.Google ScholarGoogle Scholar
  24. X.H. Wang, D.Q. Zhang, T. Gu, and H.K. Pung. Ontology based context modeling and reasoning using owl. In Pervasive Computing and Communications Workshops, 2004. Proceedings of the Second IEEE Annual Conference on, pages 18--22. Ieee, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Pamela Zave and Michael Jackson. Four dark corners of requirements engineering. ACM Trans. Softw. Eng. Methodol., 6(1):1--30, January 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A Two-Component Language for COP

      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 '14: Proceedings of 6th ACM International Workshop on Context-Oriented Programming
        July 2014
        52 pages
        ISBN:9781450328616
        DOI:10.1145/2637066

        Copyright © 2014 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 ACM 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: 28 July 2014

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • tutorial
        • Research
        • Refereed limited

        Acceptance Rates

        COP '14 Paper Acceptance Rate8of9submissions,89%Overall Acceptance Rate17of25submissions,68%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader