(3) 本開発研究に対するエージェント技術の寄与
エージェント技術は本開発研究の目的あるいはアプローチと密接に関連している。エンジニアリング支援の観点からすると、エージェント技術によってより高度なシステム間相互運用性や、意思決定及び協調作業の実現が可能となるからである。
システム間相互運用性を支援するために、エージェントはエンジニア間及びエンジニアとソフトウェアコンポーネントとの間の通信を結び付けるコミュニケーションファシリテータとして機能する。そのほか、エージェントは既存システムと知識共有環境とを結び付けるラッパーとして機能することもできる。
エンジニアの意思決定をサポートするために、エージェントは以下の機能を行うことができる。
? 定型設計作業の支援:エンジニアは、設計作業中にコンピューターを用いて複数タスク群の実行を管理しなければならない。もしこの作業が定型化できれば、エンジニアはその作業をエージェントに委託することができる。エージェントの代理機能という属性を用いれば、エンジニアは退屈な定型作業から開放され、より創造的な作業に取り組むことができる。エージェント側は定型化された作業の遂行に当たり、必要となるツールを適用していく。
? 意志決定への示唆:エージェントは環境を監視したり、その結果を解釈する知性を持っており、それらの機能を介してエンジニアリングに関するある種の知識を獲得することができる。この知識をエンジニアに提示してやれば、エンジニアは意思決定に際してエージェントから示唆を得ることができる。
? エンジニアリング作業の管理:複雑なエンジニアリング作業にはプランニングが必要である。もしエンジニアがプロセスプランやワークフローを定義できれば、エージェントはそれに基づいてエンジニアを監視し、プランからそれた場合にはエンジニアに知らせてやることができる。このように、エージェントはエンジニアの個人作業を支援することができる。
また、エンジニアリング協調作業を支援するために、エージェントは以下の機能を提供できなければならない。
? 調整の必要性の認識:エージェントは、支援しているユーザーやツールからはっきり知らされることにより、あるいは、監視していた設計または協調作業で生じた例外的事象を判断することにより、いつ調整が必要になるかという調整作業の必要性を認識できなければならない。例えば、ツールがタスクを実行するときに、付加的な情報を必要とする場合がある。このとき、ツールはその情報を知っているエージェントに問い合わせる