ダウンロード数: 81
このアイテムのファイル:
ファイル | 記述 | サイズ | フォーマット | |
---|---|---|---|---|
j.scico.2019.03.008.pdf | 795.47 kB | Adobe PDF | 見る/開く |
タイトル: | A type system for first-class layers with inheritance, subtyping, and swapping |
著者: | Inoue, Hiroaki Igarashi, Atsushi https://orcid.org/0000-0002-5143-9764 (unconfirmed) |
著者名の別形: | 五十嵐, 淳 |
キーワード: | Context-oriented programming Dynamic layer composition First-class layers Layer inheritance Type systems |
発行日: | 15-Jun-2019 |
出版者: | Elsevier B.V. |
誌名: | Science of Computer Programming |
巻: | 179 |
開始ページ: | 54 |
終了ページ: | 86 |
抄録: | 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. |
著作権等: | © 2019. This manuscript version is made available under the CC-BY-NC-ND 4.0 license http://creativecommons.org/licenses/by-nc-nd/4.0/. The full-text file will be made open to the public on 15 June 2021 in accordance with publisher's 'Terms and Conditions for Self-Archiving'. この論文は出版社版でありません。引用の際には出版社版をご確認ご利用ください。 This is not the published version. Please cite only the published version. |
URI: | http://hdl.handle.net/2433/241542 |
DOI(出版社版): | 10.1016/j.scico.2019.03.008 |
出現コレクション: | 学術雑誌掲載論文等 |
このリポジトリに保管されているアイテムはすべて著作権により保護されています。