A type system for first-class layers with inheritance, subtyping, and swapping
-
- 五十嵐, 淳
- Graduate School of Informatics, Kyoto University
-
- Igarashi, Atsushi
- Graduate School of Informatics, Kyoto University
抄録
Context-Oriented Programming (COP) is a programming paradigm to encourage modularization of context-dependent software. Key features of COP are layers—modules to describe context-dependent behavioral variations of a software system—and their dynamic activation, which can modify the behavior of multiple objects that have already been instantiated. Typechecking programs written in a COP language is difficult because the activation of a layer can even change objects' interfaces. Inoue et al. have informally discussed how to make JCop, an extension of Java for COP by Appeltauer et al., type-safe. In this article, we formalize a small COP language called Context FJ<: with its operational semantics and type system and show its type soundness. The language models main features of the type-safe version of JCop, including dynamically activated first-class layers, inheritance of layer definitions, layer subtyping, and layer swapping.
収録刊行物
-
- Science of Computer Programming
-
Science of Computer Programming 179 54-86, 2019-06-15
Elsevier B.V.
- Tweet
キーワード
詳細情報 詳細情報について
-
- CRID
- 1050282813269036416
-
- NII論文ID
- 120006629250
-
- ISSN
- 01676423
-
- HANDLE
- 2433/241542
-
- 本文言語コード
- en
-
- 資料種別
- journal article
-
- データソース種別
-
- IRDB
- Crossref
- CiNii Articles
- KAKEN