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

Improving the development of context-dependent Java applications with ContextJ

Published: 07 July 2009 Publication History

Abstract

Context-oriented programming languages ease the design and implementation of context-dependent applications. ContextJ is a context-oriented extension to the Java programming language. In this paper, we assess the applicability of ContextJ language abstractions for the development of a graphical user interface-based application. We present a text editor that has been implemented with ContextJ based on the Qt Jambi framework and discuss possible extensions to ContextJ to improve its applicability.

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.
[2]
I. Aracic, V. Gasiunas, M. Mezini, and K. Ostermann. Overview of CaesarJ. Lecture Notes in Computer Science: Transactions on Aspect-Oriented Software Development I, 3880:135--173, 2006.
[3]
D. Batory. Feature-Oriented Programming and the AHEAD Tool Suite. In ICSE '04: Proceedings of the 26th International Conference on Software Engineering, pages 702--703, Washington, DC, USA, 2004. IEEE Computer Society.
[4]
D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. IEEE Transactions on Software Engineering, 30(6):355--371, 2003.
[5]
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.
[6]
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.
[7]
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.
[8]
R. Hirschfeld, P. Costanza, and O. Nierstrasz. Context-oriented Programming. Journal of Object Technology, 7(3):125--151, March--April 2008.
[9]
G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. G. Griswold. An Overview of AspectJ. In J. L. Knudsen, editor, 15th European Conference on Object-Oriented Programming, ECOOP 2001, volume 2072 of Lecture Notes in Computer Science, pages 327--354, Berlin, Heidelberg, Germany, January 2001. Spinger-Verlag.
[10]
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.
[11]
O. L. Madsen, B. Mø-Pedersen, and K. Nygaard. Object-oriented programming in the BETA programming language. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA, 1993.
[12]
Nokia Corporation. Whitepaper: A Technical Introduction to Qt, 2000. http://www.qtsoftware.com.
[13]
G. Schmidt. ContextR&ContextWiki. Master's thesis, Hasso-Plattner-Institut, Potsdam, 2008.
[14]
C. Schubert. ContextPy&PyDCL - Dynamic Contract Layers for Python. Master's thesis, Hasso-Plattner-Institut, Potsdam, 2008.
[15]
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.

Cited By

View all
  • (2022)Layer Activation Mechanism for Asynchronous Executions in JavaScriptProceedings of the 14th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3570353.3570354(1-8)Online publication date: 7-Jun-2022
  • (2020)Zone-based Layer ActivationProceedings of the 12th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3422584.3422764(1-10)Online publication date: 21-Jul-2020
  • (2018)Method safety mechanism for asynchronous layer deactivationScience of Computer Programming10.1016/j.scico.2018.01.006156:C(104-120)Online publication date: 1-May-2018
  • Show More Cited By

Index Terms

  1. Improving the development of context-dependent Java applications with ContextJ

    Recommendations

    Comments

    Information & Contributors

    Information

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

    In-Cooperation

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 07 July 2009

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. behavioral variations
    2. context-oriented programming
    3. dynamic scoping
    4. layer activation

    Qualifiers

    • Research-article

    Conference

    ECOOP '09

    Acceptance Rates

    Overall Acceptance Rate 17 of 25 submissions, 68%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 07 Mar 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Layer Activation Mechanism for Asynchronous Executions in JavaScriptProceedings of the 14th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3570353.3570354(1-8)Online publication date: 7-Jun-2022
    • (2020)Zone-based Layer ActivationProceedings of the 12th ACM International Workshop on Context-Oriented Programming and Advanced Modularity10.1145/3422584.3422764(1-10)Online publication date: 21-Jul-2020
    • (2018)Method safety mechanism for asynchronous layer deactivationScience of Computer Programming10.1016/j.scico.2018.01.006156:C(104-120)Online publication date: 1-May-2018
    • (2017)User Interfaces and Dynamic Software Product LinesHuman Centered Software Product Lines10.1007/978-3-319-60947-8_2(47-80)Online publication date: 6-Oct-2017
    • (2016)Generalized Layer Activation Mechanism for Context-Oriented ProgrammingTransactions on Modularity and Composition I10.1007/978-3-319-46969-0_4(123-166)Online publication date: 30-Sep-2016
    • (2016)Context-Oriented Software Development with Generalized Layer Activation MechanismTransactions on Modularity and Composition I10.1007/978-3-319-46969-0_1(3-40)Online publication date: 30-Sep-2016
    • (2015)Towards a Decoupled Context-Oriented Programming Language for the Internet of ThingsProceedings of the 7th ACM International Workshop on Context-Oriented Programming10.1145/2786545.2786552(1-6)Online publication date: 4-Jul-2015
    • (2015)Method Safety Mechanism for Asynchronous Layer DeactivationProceedings of the 7th ACM International Workshop on Context-Oriented Programming10.1145/2786545.2786550(1-6)Online publication date: 4-Jul-2015
    • (2015)Generalized layer activation mechanism through contexts and subscribersProceedings of the 14th International Conference on Modularity10.1145/2724525.2724570(14-28)Online publication date: 16-Mar-2015
    • (2014)Emergent gummy modules: modular representation of emergent behaviorACM SIGPLAN Notices10.1145/2775053.265876450:3(15-24)Online publication date: 15-Sep-2014
    • Show More Cited By

    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