情報科学演習3 小林研究室 課題2

並行プログラミング言語のための型システム

背景

課題1で述べたような並行プログラミング言語では、通常の ML や Haskell のような逐次プログラミング言語にはない、特有の問題が起こり得ます。たとえば、何らかの計算を行って、その結果をある通信路に一回だけ送信すべきときに、プログラマのミスや悪意により

ことなどです。これらの問題は並行プログラミング言語に特有なので、従来の逐次プログラミング言語を対象とした型システム等では防止できません。

内容

本課題では、上記のような問題を解決するために提案された、並行プログラミング言語のための型システムに関する論文を読んでもらい、その内容を要約・発表してもらおうと考えています。具体的には、

  1. B. C. Pierce and D. Sangiorgi, "Typing and Subtyping for Mobil Processes," IEEE LICS '93, pp 376-385, 1993.
  2. N. Kobayashi, B. C. Pierce, and D. N. Turner, "Linearity and the Pi-Calculus," ACM POPL '96, pp 358-371, 1996.
  3. N. Kobayashi, "A Partially Deadlock-Free Typed Process Calculus," ACM TOPLAS, vol 20, no 2, pp 436-482, 1998.
の3つを考えています。これらの論文はちょうど上にあげた3つの問題に対応しており、順に読んでいけば型システムの「進化」していく様子がよくわかります。
課題一覧へ戻る
sumii@yl.is.s.u-tokyo.ac.jp