1.2.1 大学のプロジェクト 本節ではハードウェア/ソフトウェア協調設計で周知となっている研究プロジェクトを概観する.完璧な調査を目指したものではないが,重要なプロジェクトが省かれないようにしている. 表1.1は主要な研究プロジェクトを示し,これらの活動は現在は協調設計環境研究に進展している.大半のプロジェクトがなるべく多くの協調設計問題を解決すべく努力しているが,それぞれに独自の焦点をもっている.
一般に標準プログラミング言語とその派生言語は組み込みシステムの仕様記述に用いられている.例えばPtolemy[BHLM90]はC++を用い,今はJavaとなった.Cosyma[OBE+97]はC x と呼ぶ拡張Cを用いる.Cosmos[VRD+97]は通信の標準言語SDLを用いる.Polisは同期言語Esterel[BG92]を用いる.その他も新たな言語を手作りして組み込みシステムの特殊要件に取り組んでいる.例えばVulcan[GM93]はHardwareCを用いる.SpecSynはSpecCharts[VNG95]を用いていて,先行のHarelのStateCharts[Har87]概念を拡張している. 多くの協調設計システムではハードウェア/ソフトウェア分割に焦点をあてていて,仕様は二つの部分に分けられている.すなわち一方は標準のプロセッサで処理できる仕様であり,他方はカスタム・ハードウェアで合成される仕様である.Cosyma[EH92,HBE93,HEHB94]とVulcanはこの部類で初期のものである.その他にもKumar et al.[KAJW92,KAJW93],Barros et al.[BRX93,BS94], KalavadeとLee[KL94],Olokutun et al.[OHLR94]がある.SpecSyn[VG92]は分割システムを強化し,ハードウェアとソフトウェア・コンポーネントを高速かつ比較的正確に予測できるようにした. ハードウェア/ソフトウェア分割の結果,標準プロセッサに加えカスタム・ハードウェアをコプロセッサとしてもつアーキテクチャを生み出す.多くの研究では分散組み込みシステムを目指していて,そこで得られたアーキテクチャは処理プロセッサ群とその間のネットワークで構成されるものとなり,このときはプロセッサ群でもカスタム・ハードウェアでもよい.このような協調合成方式は,機能仕様から目的のアーキテクチャを押しボタン方式で求められる合成方式とでも言える.SOS[PP92]プロジェクトとPrinceton[Wol97,YW95,SJ95,DLJ97,DJ98]はこの分類に属している. 協調合成方式の欠点は,システム設計者が合成処理にほとんど関与できないことである.いっぽう協調設計システムを修正ツールと見なし,修正ステップを利用者が誘導できることはたいへん好ましい.例えばCosmosプロジェクト[VRD+97]ではシステム・レベルのモデルを利用者が誘導して変形できるので,最終的に分散アーキテクチャの実装を実現している.Javatime[YMS+98]プロジェクトは組み込みシステムの連続的形式的修正に取り組んでいる. Chinook[COB95]とCoWare[RVBM96]のシステムは特にインターフェースと通信の合成に取り組んだ.Chinookは制御の多い反応システムを対象とし,CoWareは非対称なDSPシステムの設計に取り組んだ. 仮想試作は製造以前にソフトウェアとハードウェアの実装が正しいことを検証できるので極めて重要である.速さと正確さをトレードオフとした多くのシミュレーション技術が試みられた.Gupta et al.[GJM92], Rowson[ROW94], Wilson[Wil94], ten Hagen et al.[tHM93], Buck et al.[BHLM90], LeeとRabaey[LR93], SutarwalaとPaulin[SP94]がこれに属する.Rosenstiel et al.[KKR94]はエミュレーションで高速にプロトタイプを作れる技術を調べた.Polisに始まる妥当性確認の方式は形式的検証技術の開発に繋がった. Copyright 2000
|
|
Copyright 1997-2001 CQ Publishing Co.,Ltd.