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.
Conference DayMon 16 JulDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
11:00 - 12:30
|Activity Contexts: Improving Modularity in Blockchain-based Smart Contracts using Context-oriented Programming|
|A Simple Context-Oriented Programming Extension to an FRP Language for Small-Scale Embedded Systems|
Takuo WatanabeTokyo Institute of TechnologyLink to publication DOI
|Cross-cutting Commentary: Narratives for Multi-party Mechanisms and Concerns|
14:00 - 15:30
|A Context-Oriented Programming Approach to Dependency Hell|
|Feature Visualiser: an Inspection Tool for Context-Oriented Programmers|
|A Declarative Language for Context Activation|
Nicolás CardozoUniversidad de los Andes