研究分担者 |
DENNIS Heimb コロラド大学, 計算機学科, 助教授
LORI Clarke マサチューセッツ大学, 計算機学科, 教授
RICHARD Tayl カリフォルニア大学, 情報計算機学科, 教授
LEON Osterwe カリフォルニア大学, 情報計算機学科, 教授
徳田 雄洋 東京工業大学, 工学部, 助教授 (30111644)
落水 浩一郎 静岡大学, 工学部, 教授 (10022310)
鳥居 宏次 大阪大学, 基礎工学部, 教授 (10172222)
HEIMBIGNER Dennis University of Colorado, Department of Computer Science, Associate Professor
CLARKE Lori University of Massachusetts, Department of Computer Science, Professor
TAYLOR Richard University of California, Department of Information and Computer Science, Profes
OSTERWEIL Leon University of California, Department of Information and Computer Science, Profes
|
研究概要 |
日本側研究者および米国側研究者は、プロセスプログラミング言語およびプロセスプログラミング支援システムの中心であるソフトウェアオブジェクトベ-スの形式的記述体系についての研究を行い、それぞれ有用な知見を得た。プロセスプログラミング言語としては、日本側研究者が関数型言語、論理型言語、属性文法型言語を提案したのに反し、米国側はADAを基本にした手続き型言語を研究しており言語の違いがプロセス記述に及ぼす影響について比較検討を行なった。その結果、その記述の柔軟性については米国側の方が優れているが、記述の明解性については日本側の方が優れていることが明らかとなった。日本側の言語はHFSP,PDL,Prologであったが、Prolog以外はプロセスプログラミングのために特別に設計され実現された言語である。また、プロセスプログラミング環境としては米国側の実現が優れており、日本側としては学ぶところが多い。特に、ユ-ザインタ-フェ-スや環境としての統合性では優れている。ソフトウェアデ-タベ-スでは、米国側はプログラム可能関係デ-タベ-スを用いている。これは、関係デ-タベ-スに条件を宣言的に付加したものであり、デ-タベ-スに対する操作によってもその条件を恒常的に満足させようとするものである。日本側研究者は属性文法を基本にしたソフトウェアデ-タベ-スを研究しており両者の特徴について比較検討を行ない有用な知見を得ることが出来た。全体的に、本国際学術研究はプロセスプログラミングの研究推進上極めて有効であったが、以下ではこれに関連して行なった研究およびその結果の概要を述べる。 プロセスプログラミング言語は、ソフトウェアプロセスのすべての局面を明解に記述出来ることが必要であるが、そのような言語として、HFSPを研究してきた。これは、ソフトウェアプロセスのデ-タ的側面、動的側面、実行的側面を独立に記述できるが、デ-タ的側面ではソフトウェアプロセスは階層的関数として記述される。動的側面はアクティビティ間の順序関係として定義することができる。一方、実行的側面を記述するために高次、あるいは自己反映的機構が導入されており、それによってプロセスプログラミングに要求される高度な動的かつ柔軟な記述と実行を可能にしている。ソフトウェアオブジェクトベ-スにおいては、各オブジェクトが単独で存在する事はまれであり、多くの場合オブジェクトはお互いに色々な関係を満たしているのが普通である。このような関係づけられたオブジェクトの集合としてのオブジェクトベ-スの記述モデルとして属性文法に基づいた体系を提案したが、そこでは、オブジェクトベ-スの大局的構造は木構造によって表現され、その節点につけられた属性がオブジェクトを表している。木構造とその中でのオブジェクトの可能な形を規定するために属性文法における生成規則と意味規則が用いられており、各オブジェクトは意味規則によって関数的に関係付けらている。構成管理とバ-ジョン管理からなるファイル管理システムを属性文法によって記述し、コ-ネルシンセサイザを用いて実現したが、これによって基本的には属性文法がソフトウェアオブジェクトベ-スの記述に適していることが確認された。 この経験をもとにして、オブジェクト指向属性文法OOAGが提案されたが、これは、メッセ-ジによってその計算が起動される動的属性と動的意味規則、部分木を共有するための名前つきオブジェクト、オブジェクトとしての属性付木等を純粋な属性文法に付加したものである。OOAGの実行アルゴリズムと実行系の初期バ-ジョンが作成され、それを用いて第6回ソフトウェアプロセス国際ワ-クショップの例題記述を行なった結果OOAGがプロセスプログラミング言語としても適当なものであることが確認された。
|