Welcome to the 10th International Workshop on Context-Oriented Programming
Advanced Modularity for Run-time Composition
Contextual information plays an ever-increasing role in our information-centric world. Current-day software systems adapt continuously to changing execution and usage contexts, even while running. Unfortunately, mainstream programming languages and development environments still do not support this kind of dynamicity very well, leading developers to implement complex designs to anticipate various dimensions of variability.
Context-Oriented Programming directly supports variability at the programming level, depending on a wide range of dynamic attributes. It enables run-time behavior to be dispatched directly on any detected properties of the execution or user context. Since more than a decade, researchers have been working on a variety of notions approaching that idea. Implementations ranging from first prototypes to mature platform extensions used in commercial deployments have illustrated how multidimensional dispatch can be supported effectively to achieve expressive run-time variation in behavior.
The previous editions of this workshop at ECOOP since 2009 have shown to be well-received, each attracting around 30 participants. The goal of the 10th Workshop on Context-Oriented Programming is to further establish context orientation as a common thread throughout language design, application development, and system support.
Call for Papers
Implementations ranging from first prototypes to mature platform extensions used in commercial deployments have illustrated how multidimensional dispatch can be supported effectively to achieve expressive run-time variation in behavior. Our series of International Workshops on Context-Oriented Programming (COP) at ECOOP since 2009 have shown to be well-received, each attracting around 30 participants. Also in 2018 we hope to advance this vibrant research domain at ECOOP in the beautiful and lively city of Amsterdam.
Topics of interest to the workshop include, but are not limited to:
- Interesting application domains and scenarios for COP;
- Programming language abstractions for COP (e.g. dynamic scoping, roles, traits, prototype-based extensions);
- Implementation techniques and mechanisms for COP (e.g. different kinds of dynamic, contextual, and multi-dimensional dispatch or pre-dispatch);
- Implementation issues for COP such as optimization, VM support, JIT compilation etc.;
- Implemented use-cases, case studies, or prototypes of COP;
- Theoretical foundations for COP (e.g., semantics, type systems);
- Configuration languages (e.g. feature description interpreters, transformational approaches);
- Interaction between non-functional programming concerns and COP (e.g. security, persistence, concurrency, distribution);
- Modularization approaches for COP (e.g. modules, aspects, features, layers, plugins);
- Guidelines to apply COP (e.g. best practices, idioms, patterns);
- Run-time support for COP (e.g. reflection, dynamic binding);
- Tool support (e.g. design tools, IDEs, debuggers);
- Support for COP at the modeling level;
- Beyond context-oriented behavior adaptation (e.g., UI adaptation, DB adaptation).
COP invites submissions of high-quality papers reporting original research, or describing innovative contributions to, or experience with context-oriented programming, its implementation, and application. Papers that depart significantly from established ideas and practices are particularly welcome.
Submissions must not have been published previously and must not be under review for any other refereed event or publication. The program committee will evaluate each contributed paper based on its relevance, significance, clarity, and originality.
Papers are to be submitted via EasyChair. They must be written in English, provided as PDF documents, and follow the new ACM Master Article Template with the sigconf option. They should not exceed 8 pages. Accepted papers will be published in the ACM Digital Library.
Mon 16 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30
Session 1COP at Bangkok
Chair(s): Jens Lincke Hasso Plattner Institute, Tetsuo Kamina Oita University
|Activity Contexts: Improving Modularity in Blockchain-based Smart Contracts using Context-oriented Programming|
Toni Mattis Hasso Plattner Institute, Robert Hirschfeld HPI, University of Potsdam
|A Simple Context-Oriented Programming Extension to an FRP Language for Small-Scale Embedded Systems|
Takuo Watanabe Tokyo Institute of TechnologyLink to publication DOI
|Cross-cutting Commentary: Narratives for Multi-party Mechanisms and Concerns|
Robert Hirschfeld HPI, University of Potsdam, Patrick Rein Hasso Plattner Institute, Marcel Taeumel Hasso Plattner Institute, Tobias Dürschmid Hasso Plattner Institute
14:00 - 15:30
Session 2COP at Bangkok
Chair(s): Tetsuo Kamina Oita University, Jens Lincke Hasso Plattner Institute
|A Context-Oriented Programming Approach to Dependency Hell|
Yudai Tanabe Tokyo Institute of Technology, Tomoyuki Aotani Tokyo Institute of Technology, Hidehiko Masuhara Tokyo Institute of Technology
|Feature Visualiser: an Inspection Tool for Context-Oriented Programmers|
Benoît Duhoux Université catholique de Louvain, Belgium, Kim Mens Université Catholique de Louvain, Belgium, Bruno Dumas
|A Declarative Language for Context Activation|
Nicolás Cardozo Universidad de los Andes