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

セッション型の埋め込みに基づく実用的な並行分散計算

研究課題

研究課題/領域番号 21K11827
研究種目

基盤研究(C)

配分区分基金
応募区分一般
審査区分 小区分60050:ソフトウェア関連
研究機関岐阜大学

研究代表者

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

研究期間 (年度) 2021-04-01 – 2024-03-31
研究課題ステータス 中途終了 (2023年度)
配分額 *注記
4,290千円 (直接経費: 3,300千円、間接経費: 990千円)
2024年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
2023年度: 1,300千円 (直接経費: 1,000千円、間接経費: 300千円)
2022年度: 1,040千円 (直接経費: 800千円、間接経費: 240千円)
2021年度: 910千円 (直接経費: 700千円、間接経費: 210千円)
キーワード並行ソフトウェア / 通信プロトコル / セッション型 / 関数型プログラミング言語 / OCaml / モデル検査 / 並行プログラミング / 型システム / 分散プログラミング
研究開始時の研究の概要

プログラミング言語の「型」は,整数や文字列などの「データ」を分類し間違いを事前に検出するための仕組みです.これに類似する枠組みとして,例えばインターネットで用いられる通信ポートは,HTTP や SMTP といった通信プロトコルで分類されています.セッション型はこの「通信ポート」のプロトコルを表す「型」であり,プログラムにおけるデッドロックや競合条件などの通信記述の誤りを事前に検出できます.
本研究は,セッション型をプログラミング言語において活用する軽量な方法を理論と実装の両面で開発します.これにより,多くの人が高信頼な並行分散ソフトウェアを手軽に構築できるようになることを目指します.

研究実績の概要

研究実績は大まかに次の3つに分けられる.
(1) セッション型,プログラミング言語の型システムとモデル検査の統合.具体的には,従来の,ソフトウェア全体の通信プロトコル設計とその安全性の検証が必要な「トップダウン型」の開発手法ではなく,それらが不要な「ボトムアップ」の手法を確立し,その実装であるkmclibを実装した.その成果に関する論文は, トップレベル会議の1つである TACAS 2022 に採択された.
(2) セッション型の表現能力に関する探究.(2-1) マルチパーティセッション型の混合選択に関する理論的な検討を行った.混合選択は,通信プロトコル参加者が特定の状態において送信と受信の双方を選択できる機能であるが,これは実用的に重要である一方でデッドロックフリー性などの信頼性に関する理論的な基礎は未整備である.本研究課題では,その無限のトレースを扱うための理論的基礎を検討した.(2-2) マルチパーティセッション型のプロトコルを文脈自由文法へと拡張し,処理系Session C#に実装した.
(3) これらからの派生的な研究.(3-1) 上述(1)の派生として,プログラミング言語OCamlのアドホック多相に関する拡張を設計し実装した.アドホック多相は単一の関数名に対して,引数型に応じた複数の定義本体を与える多重定義の機能である.これにより,OCamlプログラムにおいて型ベースのディスパッチが可能となり,プログラミングの効率向上が期待できる.(3-2) 上述(2-1)の派生として,高階項書換えシステムの活用を検討した.この際,共同研究者である群馬大学浜名准教授の高階項書換えシステムの処理系SOLの改修に関与した.停止性判定ツールのコンペティションTermComp2022に参加し,入賞した.
また,上記(2),(3-1)の進行中の内容や成果を国内ワークショップ・研究会にて発表した.

報告書

(3件)
  • 2023 実績報告書
  • 2022 実施状況報告書
  • 2021 実施状況報告書
  • 研究成果

    (15件)

すべて 2022 2021 その他

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

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

    • 関連する報告書
      2022 実施状況報告書
  • [国際共同研究] Imperial College London/Brunel University London/University of London Royal Holloway(英国)

    • 関連する報告書
      2021 実施状況報告書
  • [雑誌論文] 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

    • ISBN
      9783030995232, 9783030995249
    • 関連する報告書
      2022 実施状況報告書 2021 実施状況報告書
    • 査読あり / オープンアクセス / 国際共著
  • [学会発表] Polymorphic Multiparty Session Handlers in OCaml2022

    • 著者名/発表者名
      Keigo Imai
    • 学会等名
      PLACES 2022: 13th Workshop on Programming Language Approaches to Concurrency- & Communication-cEntric Software, Munich, Germany
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] The System SOL version 20222022

    • 著者名/発表者名
      Makoto Hamana, Keigo Imai
    • 学会等名
      WST 2022: 18th International Workshop on Termination
    • 関連する報告書
      2022 実施状況報告書
    • 国際学会
  • [学会発表] 有界な余帰納的定義による非同期マルチパーティセッション型の無限トレース意味論2022

    • 著者名/発表者名
      今井 敬吾
    • 学会等名
      第141回プログラミング研究発表会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] 伊藤 将希, 今井 敬吾2022

    • 著者名/発表者名
      OCaml におけるプレースホルダ式によるアドホック多相の実現
    • 学会等名
      第143回プログラミング研究発表会
    • 関連する報告書
      2022 実施状況報告書
  • [学会発表] Verifying Session-Typed Concurrent Programs using Typed PPX in OCaml2022

    • 著者名/発表者名
      Keigo Imai, Julien Lange, Rumyana Neykova
    • 学会等名
      第137回プログラミング研究発表会
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] Kmclib: Automated Inference and Verification of Session Types (PPL Category 2)2022

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

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

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

    • 著者名/発表者名
      木村 駿介, 今井 敬吾
    • 学会等名
      PPL 2022: 第 24 回プログラミングおよびプログラミング言語ワークショップ
    • 関連する報告書
      2021 実施状況報告書
  • [学会発表] 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
    • 関連する報告書
      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
    • 関連する報告書
      2021 実施状況報告書
    • 国際学会
  • [備考] Kmclib

    • URL

      https://github.com/keigoi/kmclib

    • 関連する報告書
      2022 実施状況報告書 2021 実施状況報告書

URL: 

公開日: 2021-04-28   更新日: 2024-12-25  

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

Powered by NII kakenhi