効率よく並列化できる問題とは,並列ランダムアクセス機械(Parallel RAM)により,多項式個のプロセッサを用いて時間O ((log n)^k) (k>_-0は定数)で計算できる問題と理解されている.そのような問題のクラスは,それを同定したNick Pippengerにちなみ,Nick's Classの略としてNCと記述されている.一方,逐次アルゴリズムにより多項式時間で解ける問題のクラスPは,NCを含んでおり,多くの効率のよい並列アルゴリズムが知られている.しかし,Pのなかには,本質的に逐次的で,並列化が困難な問題も発見されている.そしてこのような問題の大部分がP完全であることが証明されている.ここでは,クラスNCとP完全な問題について解説する.
カテゴリー理論的関数型言語は,カテゴリー理論に基づいた関数型プログラミング言語で,カテゴリー理論的に随伴関手を使ってデータ型を定義し,その上でプログラムを書くことができる.この言語では元々定義されたデータ型が存在せず,すべて随伴関手の機能を使って定義される.定義可能なデータ型には,終対象,始対象,積,和,関数型,自然数,有限リスト,無限リスト等がある.また,この言語は,制御構造も元々は定義されておらず,データ型の定義と共にそのデータ型に関する基本演算および制御構造が定義される.そして,プログラムの実行のための計算規則は,カテゴリー理論によって,単純な統一されたものとなっている.
本論文では,Prologの宣言的なプログラム記述性の利点を生かしつつ,手続き的側面を強化したプログラミング言語"ALEX"を提案する.ALEXでは,バックトラックを,条件分岐に相当する範ちゅうと,本質的な試行錯誤に相当する範ちゅうの2つに分類し,後者が特定の場合にのみ使用され,そう頻繁には用いられない点に着目して,後者を制限することにした.これにより,Prologの問題点といわれているカットオペレータを排除し,バックトラックの制御を改善した.またコントロールを明示化し,リーダビリティの向上を図った.しかもこれらの実行制御は,述語のプレフィクスとして記述されるため,プレフィクスを無視することにより,Prologと同様プログラムの宣言的な解釈が可能である. 本論文では,まず,Prologのバックトラック制御における問題点を検討し,ALEXの背景になった考えとALEXの言語仕様について述べ,Prologのカットオペレータとの比較を行うことにより,ALEXにおいて,どのようにバックトラック制御が改善されたかを示す.
並列オブジェクト指向パラダイムに従って実現されたウィンドウ・システムであるGMWと,GMW上でのアプリケーション構築法について述べる.UIMSの一般論に基づいて,ウィンドウ・システム上のアプリケーション構築における並列オブジェクト指向パラダイムの重要性,仮想機械サーバ方式の利点等について議論した後,GMWウィンドウ・システムとそのツールキットについて概観する.GMWは,次のような特徴を持った仮想機械サーバ型のウィンドウ・システムである.アプリケーションのユーザ・インターフェース部を実現するために,新たに設計された並列オブジェクト指向言語Gのコンパイラと仮想機械をサーバ内に持っていること.アプリケーション本体とユーザ・インターフェース部の通信を支援するために,並列オブジェクト指向パラダイムに従ったスタブ生成系を提供していること.G言語によって実現されたユーザ・インターフェース開発環境によって,アプリケーション実行時にもユーザ・インターフェースの編集が可能であること.