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

A comparison of context-oriented programming languages

Published:07 July 2009Publication History

ABSTRACT

Context-oriented programming (COP) extensions have been implemented for several languages. Each concrete language design and implementation comes with different variations of the features of the COP paradigm. In this paper, we provide a comparison of eleven COP implementations, discuss their designs, and evaluate their performance.

References

  1. M. Appeltauer. ContextJ -- Context-oriented Programming for Java. In Proceedings of the 3rd Ph.D. Retreat of the HPI Research School on Service-oriented Systems Engineering, number 27. Hasso-Plattner-Institut, Potsdam, Germany, 2009.Google ScholarGoogle Scholar
  2. M. Appeltauer, R. Hirschfeld, and T. Rho. Dedicated Programming Support for Context-aware Ubiquitous Applications. In UBICOMM 2008: Proceedings of the 2nd International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies, pages 38--43, Washington, DC, USA, 2008. IEEE Computer Society Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. IEEE Transactions on Software Engineering, 30(6):355--371, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. P. Costanza and R. Hirschfeld. Language Constructs for Context-oriented Programming: An Overview of ContextL. In DLS '05: Proceedings of the 2005 symposium on Dynamic languages, pages 1--10, New York, NY, USA, 2005. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. P. Costanza, R. Hirschfeld, and W. D. Meuter. Efficient Layer Activation for Switching Context-Dependent Behavior. In D. E. Lightfoot and C. A. Szyperski, editors, Modular Programming Languages, 7th Joint Modular Languages Conference, JMLC 2006, volume 4228 of Lecture Notes in Computer Science, pages 84--103, Berlin, Heidelberg, Germany, September 19 2006. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. S. González, K. Mens, and A. Cádiz. Context-Oriented Programming with the Ambient Object System. Journal of Universal Computer Science, 14(20):3307--3332, 2008.Google ScholarGoogle Scholar
  7. D. R. Hanson and T. A. Proebsting. Dynamic variables. SIGPLAN Notices, 36(5):264--273, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Haupt and H. Schippers. A Machine Model for Aspect-Oriented Programming. In E. Ernst, editor, 21st European Conference on Object-Oriented Programming, ECOOP 2007, volume 4609 of Lecture Notes in Computer Science, pages 501--524, Berlin, Heidelberg, Germany, August 2007. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. R. Hirschfeld, P. Costanza, and M. Haupt. An Introduction to Context-Oriented Programming with ContextS. In J. S. Ralf Lämmel, Joost Visser, editor, Generative and Transformational Techniques in Software Engineering II, International Summer School, GTTSE 2007, Braga, Portugal, July 2--7. 2007, Revised Papers, volume 5235 of Lecture Notes in Computer Science, pages 396--407, Berlin, Heidelberg, Germany, 2008. Springer-Verlag. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented Programming. Journal of Object Technology, 7(3):125--151, March-April 2008.Google ScholarGoogle ScholarCross RefCross Ref
  11. G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented Programming. In Proceedings 11th European Conference on Object-Oriented Programming, volume 1241, pages 220--242. Springer-Verlag, 1997.Google ScholarGoogle Scholar
  12. G. Kniesel, T. Rho, and S. Hanenberg. Evolvable Pattern Implementations need Generic Aspects. research report C-196, Dept. of Mathematical and Computing Sciences, Tokyo Institute of Technology, Tokyo, Japan, June 2004.Google ScholarGoogle Scholar
  13. H. Schippers, M. Haupt, R. Hirschfeld, and D. Janssens. An Implementation Substrate for Languages Composing Modularized Crosscutting Concerns. In Proc. SAC PSC. ACM Press, to appear, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. H. Schippers, D. Janssens, M. Haupt, and R. Hirschfeld. Delegation-based semantics for modularizing crosscutting concerns. SIGPLAN Not., 43(10):525--542, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. G. Schmidt. ContextR&ContextWiki. Master's thesis, Hasso-Plattner-Institut, Potsdam, 2008.Google ScholarGoogle Scholar
  16. C. Schubert. ContextPy&PyDCL - Dynamic Contract Layers for Python. Master's thesis, Hasso-Plattner-Institut, Potsdam, 2008.Google ScholarGoogle Scholar
  17. M. von Löwis, M. Denker, and O. Nierstrasz. Context-oriented Programming: Beyond Layers. In S. Demeyer and J.-F. Perrot, editors, ICDL '07: Proceedings of the 2007 international conference on Dynamic languages, volume 286 of ACM International Conference Proceeding Series, pages 143--156, New York, NY, USA, 2007. ACM Press. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A comparison of context-oriented programming languages

      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 Other conferences
        COP '09: Proceedings of the 1st ACM International Workshop on Context-Oriented Programming
        July 2009
        61 pages
        ISBN:9781605585383
        DOI:10.1145/1562112

        Copyright © 2009 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: 7 July 2009

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate17of25submissions,68%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader