{"title":"L: context-oriented programming with only layers","authors":"R. Hirschfeld, H. Masuhara, Atsushi Igarashi","doi":"10.1145/2489793.2489797","DOIUrl":"https://doi.org/10.1145/2489793.2489797","url":null,"abstract":"Most if not all extensions to object-oriented languages that allow for context-oriented programming (COP) are asymmetric in the sense that they assume a base implementation of a system to be composed into classes and a set of layers to provide behavioral variations applied to those classes at run-time. We propose L as an experimental language to further explore the design space for COP languages. In this position paper we talk about first steps towards the unification of classes and layers and with that the removal of the asymmetry in composition mechanisms of contemporary COP implementations.","PeriodicalId":344063,"journal":{"name":"Proceedings of the 5th ACM International Workshop on Context-Oriented Programming","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116898433","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"A unified context activation mechanism","authors":"T. Kamina, Tomoyuki Aotani, H. Masuhara","doi":"10.1145/2489793.2489795","DOIUrl":"https://doi.org/10.1145/2489793.2489795","url":null,"abstract":"With the increase of research interest in context-oriented programming (COP), several COP languages with different characteristics have been proposed. Although they share common language features to modularize context-dependent variations of behavior, they take quite different ways to realize them. Because of such differences, each language cannot solely cover all use cases of implementing context-dependent behavioral variations. In this paper, we propose a new COP language Javanese that unifies several COP mechanisms into general linguistic constructs. Specifically, it provides context declarations to identify context and its specification of the range of execution sequences where this context is active, activate declarations to define the relation between contexts and layers, and context group declarations that modularize these declarations and specify the set of instances where they are applied. This paper describes design of Javanese and an implementation strategy.","PeriodicalId":344063,"journal":{"name":"Proceedings of the 5th ACM International Workshop on Context-Oriented Programming","volume":"31 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121441785","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Archface4COP: architectural interface for context-oriented programming","authors":"Naoyasu Ubayashi, Di Ai, Yasutaka Kamei","doi":"10.1145/2489793.2489794","DOIUrl":"https://doi.org/10.1145/2489793.2489794","url":null,"abstract":"Context-awareness plays an important role in developing flexible and evolvable applications such as self-* systems (e.g., self-adaptive, self-healing, and self-management systems). However, it is not easy to design and implement such a context-aware system, because its software architecture is dynamically changed. That is, software components constituting a system and their connection structure can be dynamically changed. As a result, it is hard to check whether or not a design model is correctly implemented and its context-dependent behavior is faithful to the design. To deal with this problem, we introduce Archface4COP, an architectural interface mechanism for COP (Context-Oriented Programming). Archface4COP exposes architectural points shared between UML-based design models and code written in COP languages. Architectural points represent COP-specific events such as layer in, layer out, layered message send, and layered message receive. These points are important to represent an abstract structure of software architecture focusing on context-awareness. We can verify whether or not a design model and its code can co-evolve each other by checking an Archface4COP interface.","PeriodicalId":344063,"journal":{"name":"Proceedings of the 5th ACM International Workshop on Context-Oriented Programming","volume":"154 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122557538","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Sam S. Adams, Suparna Bhattacharya, Bob Friedlander, John Gerken, D. Kimelman, Jim Kraemer, H. Ossher, J. Richards, D. Ungar, M. Wegman
{"title":"Enterprise context: a rich source of requirements for context-oriented programming","authors":"Sam S. Adams, Suparna Bhattacharya, Bob Friedlander, John Gerken, D. Kimelman, Jim Kraemer, H. Ossher, J. Richards, D. Ungar, M. Wegman","doi":"10.1145/2489793.2489796","DOIUrl":"https://doi.org/10.1145/2489793.2489796","url":null,"abstract":"We introduce the domain of enterprise context, as opposed to personal or execution context, and we present requirements for context-oriented programming technology arising out of this broader notion of context. We illustrate enterprise context with scenarios in which data from across an enterprise, as well as data from outside an enterprise, are all brought to bear as context in any situation where they are relevant and can factor into making better decisions and achieving better outcomes. We suggest enterprise context as a rich source of requirements for context-oriented programming models, languages, and virtual machines. In particular, we raise issues such as scale, integration, relevance, temporality, protection, privacy, provenance, policy in general, and valuation. And, for this workshop, we propose enterprise context as one perspective for discussion of new language and VM features: How do proposed features support such a domain?","PeriodicalId":344063,"journal":{"name":"Proceedings of the 5th ACM International Workshop on Context-Oriented Programming","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-07-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129664850","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Proceedings of the 5th ACM International Workshop on Context-Oriented Programming","authors":"","doi":"10.1145/2489793","DOIUrl":"https://doi.org/10.1145/2489793","url":null,"abstract":"","PeriodicalId":344063,"journal":{"name":"Proceedings of the 5th ACM International Workshop on Context-Oriented Programming","volume":"388 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116756028","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}