• 研究課題をさがす
  • 研究者をさがす
  • KAKENの使い方
  1. 課題ページに戻る

2021 年度 実績報告書

メッセージの到達性を保証しない通信環境におけるセッション型付きプログラミング

研究課題

研究課題/領域番号 17K12662
研究機関岐阜大学

研究代表者

今井 敬吾  岐阜大学, 工学部, 助教 (70456630)

研究期間 (年度) 2017-04-01 – 2022-03-31
キーワード並行システム / 通信プロトコル / セッション型 / 関数型プログラミング / ドメイン特化言語
研究実績の概要

今年度は研究期間の延長により実施が認められた最終年度である.昨年度に,多者間通信の静的型付けの枠組みであるマルチパーティセッション型をOCaml言語の単一の枠組みのみで利用可能にするための技法を確立し,その実装であるOCaml-MPSTを実装した.今年度は,この手法について3点の改良を行った.(1) 通信プロトコルの表現能力を,mixed choiceの機能へと拡張した.これは,ある通信ステップにおけるアクションの選択肢が,送信と受信の双方を含みうるよう修正するものである.これにより,受信のタイムアウト時に送信を行うといった,実用的な通信ソフトウェアの振舞いをコンパイラによって検証できる.(2) 実装面において,通信プロトコルの分岐の記述が煩雑であった問題を,OCamlの型推論器とプリプロセッサを活用する手法を開発することにより修正した. (3) また,通信プロトコルにおけるループの表現に存在した問題を修正した.さらに,これまでの実績についてアカデミアにおける普及活動を行った.具体的には,並行システムの理論と実践に関するワークショップICE2021,および関数型言語のワークショップML2021で発表した.
この成果の副産物として,(4) OCamlコンパイラとモデル検査器を組み合わせた新しい手法とその実装Kmclib,および (5) OCamlにおけるアドホック多相を実現するためのライブラリ実装手法を開発した.これらは主に2022年度より開始した提案者の基盤(C)の課題にかかるものであるが,一部は本課題の成果に依っている.(4) はトップレベル会議TACAS 2022に採択された.(5)は国内のプログラミング言語関連の主要ワークショップPPL 2022においてポスター発表し,さらに研究を継続することとなった.

  • 研究成果

    (11件)

すべて 2022 2021 その他

すべて 国際共同研究 (1件) 雑誌論文 (1件) (うち国際共著 1件、 査読あり 1件、 オープンアクセス 1件) 学会発表 (7件) (うち国際学会 3件) 備考 (2件)

  • [国際共同研究] Imerial College London/Brunel University London/University of London Royal Holloway(英国)

    • 国名
      英国
    • 外国機関名
      Imerial College London/Brunel University London/University of London Royal Holloway
  • [雑誌論文] Kmclib: Automated Inference and Verification of Session Types from OCaml Programs2022

    • 著者名/発表者名
      Keigo Imai, Julien Lange, Rumyana Neykova
    • 雑誌名

      TACAS 2022: Tools and Algorithms for the Construction and Analysis of Systems, Lecture Notes in Computer Science

      巻: 13243 ページ: 379~386

    • DOI

      10.1007/978-3-030-99524-9_20

    • 査読あり / オープンアクセス / 国際共著
  • [学会発表] Verifying Session-Typed Concurrent Programs using Typed PPX in OCaml2022

    • 著者名/発表者名
      Keigo Imai, Julien Lange, Rumyana Neykova
    • 学会等名
      情報処理学会 第137回プログラミング研究発表会
  • [学会発表] Kmclib: Automated Inference and Verification of Session Types (PPL Category 2)2022

    • 著者名/発表者名
      Keigo Imai, Julien Lange, Rumyana Neykova
    • 学会等名
      PPL 2022: 第 24 回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] OCamlのための構文上の穴を用いたアドホック多相のプリプロセッサによる実装 (ポスター)2022

    • 著者名/発表者名
      伊藤 将希, 今井 敬吾
    • 学会等名
      PPL 2022: 第 24 回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] Polymorphic Multiparty Session Handlers in OCaml2022

    • 著者名/発表者名
      Keigo Imai
    • 学会等名
      PLACES 2022: 13th Workshop on Programming Language Approaches to Concurrency- & Communication-cEntric Software
    • 国際学会
  • [学会発表] 文脈自由マルチパーティセッション型の実装 (ポスター)2022

    • 著者名/発表者名
      木村 駿介, 今井 敬吾
    • 学会等名
      PPL 2022: 第 24 回プログラミングおよびプログラミング言語ワークショップ
  • [学会発表] Multiparty Session Programming with Global Protocol Combinators (oral communication)2021

    • 著者名/発表者名
      Keigo Imai, Rumyana Neykova, Nobuko Yoshida, Shoji Yuen
    • 学会等名
      ICE 2021: 14th Interaction and Concurrency Experience, co-located with DisCoTec 2021
    • 国際学会
  • [学会発表] Verifying Multiparty Communication Protocols using ML Type Systems2021

    • 著者名/発表者名
      Keigo Imai, Rumyana Neykova, Nobuko Yoshida, Shoji Yuen
    • 学会等名
      ML'21: ML Workshop 2021, co-located with ICFP 2021
    • 国際学会
  • [備考] OCaml-MPST

    • URL

      https://github.com/keigoi/ocaml-mpst

  • [備考] Kmclib

    • URL

      https://github.com/keigoi/kmclib

URL: 

公開日: 2022-12-28  

サービス概要 検索マニュアル よくある質問 お知らせ 利用規程 科研費による研究の帰属

Powered by NII kakenhi