A new model for Context-Oriented Programs
Mohamed A. El-Zawawy, Eisa A. Aleisa

TL;DR
This paper introduces a formal semantics and a static type system for context-oriented programming languages like ContextJ* and ContextL, enhancing modularity and safety in dynamic context management.
Contribution
It provides a precise syntax-directed operational semantics and a static type system for context-oriented programming with layers, ensuring program correctness and safety.
Findings
Formal semantics for COP languages with layers
Type system guarantees programs do not get stuck
Mathematical proof of type system correctness
Abstract
Context-oriented programming (COP) is a new technique for programming that allows changing the context in which commands execute as a program executes. Compared to object-oriented programming (aspect-oriented programming), COP is more flexible (modular and structured). This paper presents a precise syntax-directed operational semantics for context-oriented programming with layers, as realized by COP languages like ContextJ* and ContextL. Our language model is built on Java enriched with layer concepts and activation and deactivation of layer scopes. The paper also presents a static type system that guarantees that typed programs do not get stuck. Using the means of the proposed semantics, the mathematical correctness of the type system is presented in the paper.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Software Engineering Methodologies · Software System Performance and Reliability · Real-Time Systems Scheduling
