Explicit Tool Support for Implicit Layer Activation
Implicit Layer Activation (ILA) is a declarative mechanism to scope behavior adaptations in Context-oriented Programming (COP). ILA binds the activation status of a layer to a Boolean condition. The layer is active as long as the given condition evaluates to true. This mechanism to scope layer activations is very powerful, but without dedicated tool support, it may be hard to debug due to its implicitness. A solution that can mitigate this is proper tool support, which is expensive to build and can be highly domain-specific. We have previously shown that by building the language extension not from scratch but by relying on a common more powerful shared concept, Active Expressions, the implementation becomes simpler and more elegant since it does not require deep integration into the ContextJS implementation. In this paper we show how providing tool support for ILA makes implicit dependencies to state changes more explicit. We show how such tool support can be implemented by leveraging the existing Active Expression tool suite. We evaluate it based on a catalog of COP questions from literature.
Tue 7 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30 | COP 2022 ACOP at Copenhagen 2 Chair(s): Jens Lincke Hasso Plattner Institute, University of Potsdam, Germany, Yudai Tanabe Tokyo Institute of Technology | ||
09:00 15mMeeting | Welcome to COP 22 COP | ||
09:15 30mPaper | Layer Activation Mechanism for Asynchronous Executions in JavaScript COP Hiroaki Fukuda Shibaura Institute of Technology, Paul Leger Universidad Católica del Norte, Chile, Nicolás Cardozo Universidad de los Andes File Attached | ||
09:45 30mPaper | Explicit Tool Support for Implicit Layer Activation COP Markus Brand Hasso Plattner Institute (HPI), University of Potsdam, Germany, Stefan Ramson Hasso Plattner Institute, Germany, Jens Lincke Hasso Plattner Institute, University of Potsdam, Germany, Robert Hirschfeld HPI, University of Potsdam File Attached | ||
10:15 15mOther | Discussion COP |