SWA-AF

  SWA-AFはCAD/CAMシステムに代表される対話型グラフィックアプリケ
ーションシステムの開発・実行のためのフレームワークです。
 すなわちアプリケーションシステムそのものではなく、アプリケーションシステ
ムを開発するために手助けとなる枠組みであり、また実行環境においては、オ
ペレーティングシステムとアプリケーションシステムの間に存在して、両者の仲立
ちを行う「ミドルウェア」として機能するものです。

  *ミドルウェア
    アプリケーションシステムとオペレーティングシステムの間に存在して、ア
  プリケーションシステムからみればオペレーティングシステムの一部のように
  振る舞い、オペレーティングシステムからみればアプリケーションシステムの
  一部として振る舞うからそのように呼ばれるのでしょう。

 ヘビーデューティで、長期のシステム寿命を要求されるアプリケーションシス
テムほど十分かつ精緻な「システム設計」が必要です。市場には優れた機能
をもった多くの「コンポーネント」が存在しますが、それらを寄せ集めただけで
は、これらヘビーデューティなシステムの要求に応えられるものではありませ
ん。多くのすぐれたコンポーネントを集めながら、「システム設計」の軽視で苦
渋をのんだアプリケーション開発の事例も少なくありません。

 SWA-AFは対話型グラフィックアプリケーションを開発するのに必要な機能
を提供するだけでなく、経験に裏打ちされたノウハウと将来を見据えた創意を
結集して、アプリケーションの開発をこころざす皆様に先進・実績の「システム
設計」(システムアーキテクチャ)をお届けするものです。
(TOPページの「メッセージ駆動について」もご参照ください。)

・アーキテクチャ

 SWA-AFのシステムアーキテクチャの策定に当っては、いわゆる「次世代CAD」
のシステムアーキテクチャはどうあるべきかが検討されました。ここでは現行CAD
に対して、現状のアーキテクチャのままで、機能拡張と強化をほどこした「次期型
CAD」が手足の役割をはたし、これを使いこなす頭脳の部分を付加する方式を採り
入れることにしました。(下図)「次世代CAD」といえども、手足型の部分が8割
以上を占め、頭脳型の部分はせいぜい2割でありましょう。可能な限り現状の資産を
有効に活用し、かつ柔軟性のある構築法として、新規の部分が付加できる形式が望ま
しいと考えました。

 そしてこれらの「頭脳」や「手足」をコンピュータシステム上の「プロセス」に
焼き直し,さらに「頭脳」や「手足」間の指令の役割を、「機能」間の「メッセージ」
が果たすものとして、SWA-AFのシステムアーキテクチャの基本形が設定されました。

 このようにしてSWA-AFではオペレーティングシステム(以下OS)下のいくつか
のプロセスが、メッセージの交換と処理を通して互いに連携して一つのまとまったシ
ステムを構成します。すなわちOSからいえば、メッセージ駆動マルチプロセスシス
テムです。これらのプロセスをSWA-AFでは「エージェント」と呼びます。
 どのようなエージェントが必要かは、開発するアプリケーションに依ります。た
とえばCADシステムでは、人とコンピュータとの間の対話を取り仕切る「対話エ
ージェント」、「対話」からの指示に従い「形状」の作成や変更をおこなう「形状処
理エージェント」、CADデータを外部記憶装置上に格納したり、そこから取り出
したりするエージェントなどが必要でしょう。CAMシステムでは、それに加えて
加工箇所や加工工程を設定するエージェント、それらの設定をシミュレートする
エージェントなどがあればよいでしょう。
 SWA-AFではシステムの制御や管理のための「システム基本機能」もエージェ
ントとして提供されます。それらはアプリケーション用に開発されるエージェント
と対等・並列な位置にあり、システム構造をフラット化して、アーキテクチャの簡
明、簡潔さに一役買っています。

 SWA-AFではこのようにエージェント間のコミュニケーションはメッセージを通
して行われますが、CADシステムで代表される「大量データの高速処理」は、
メッセージ交換だけでは十分な効率は得られません。SWA-AFではこのために
共有メモリーを利用した「データ共用管理機構」をも用意しています。
 図のように、一つのメッセージ交換・解釈機構と一つのデータ共用管理機構
で結合された複数のエージェントの集合体がSWA-AFでの稼働単位です。
SWA-AFではこの稼働単位をアンサンブルと呼称しています。

  SWA-AFのシステム構造は実社会の組織体と対比させることができます。   
実社会では組織の再構築(リストラクチャリング)が盛んです。その一つに組織の
階層(レイヤー)を減らそうとする試みがありますように、組織を議論する場合に
は階層をどう考えるかが重要な柱になります。
 SWA−AFにも組織と同じように階層の考えがあります。ひとつは、エージェン
トを複数の「サブ・エージェント」より構成することです。もちろん同一エージェント
内のサブ・エージェント間でも、異なったエージェントのサブ・エージェント間でも
メッセージのやり取りは可能です。もう一つは複数のアンサンブルをネットワーク
で結んで、一つのシステムとして構成することです。多くのシステムは一アンサン
ブルで構成されますが、アンサンブルの複合体としてのシステムもありえます。
 実社会の組織で、
    会社−部−課−係
の階層があり得るように、SWA-AFでも
    システム−アンサンブル−エージェント−サブ・エージェント
の階層でシステムを考えることができます。

・システム設計技法

  SWA−AF下で、アプリケーションシステムのシステム設計を行うとき、最初に
手がける作業は通常次のようなものです。
     (1)アプリケーションの要件を充たすためにどのような機能をもったアン
      サンブルが必要か。
   (2)各アンサンブルごとに与えられた要件をみたすためには、どのような
      機能をもったエージェントの集まりを考えればよいか。
     (3)各エージェントで、さらにサブ・エージェントへ分割した方がより明確に
     なることはないか。
     (4)それらのエージェントあるいはサブ・エージェントは与えられた機能を
      果たすためにどのようなメッセージを受け取り、処理すべきか。
 これらの検討を繰り返してシステム構成を明確にして、さらに
         (5)サブ・エージェント間、エージェント間、あるいはアンサンブル間のメッ
      セージのやりとりとメッセージの処理を通して、システムとしての挙動の
            机上シミュレーションを行い、与えられた要件に対するシステムの妥
            当性と最適性のチェックを行う。

  実社会で、たとえば「会社」を設立する場合に、どのような部門が必要か、部
門間の連絡はどのようなプロトコルで行うか、そしてその仕組みは組織として効
率の良いものかどうか、その仕組みから顧客がうける満足度はどうか、などの一
連の検討を行う訳ですが、SWA−AFでのアプリケーションシステムの設計も、
この実社会のプロセスによく似ています。これはSWA-AFのシステム構造と実社
会の組織体との対比からも当然のことといえましょう。
  SWA-AFはこのようにシステム設計にも一つの枠組みを与えます。この枠組
みでは、システムの概念設計時からシステムの仕組み、挙動のイメージが具体
化され、早期にシステムの机上シミュレーションを可能にします。これは製造業
における製品開発でのフロントローディングと同じような効果を及ぼし、不具合
の芽を早期に摘み取ることができます。

・稼働環境

  SWA-AFはWindows/Linuxを基盤とするマルチプラットフォーム対応です。
ほとんどのアプリケーションエージェントは両プラットフォームでソース互換で
稼働するように開発されます。

  SWA-AFは現在(バージョン6.0)は次のようなコンピュータ環境で稼働します。               
    1.Linux

カーネル X86版 Kernel 2.4以上
ウインドウシステム X Window X11R6以上
CPU Intel Pentium プロセッサ以上
メモリー 64 メガバイト以上
ディスプレー SVGA (800x600) 256色以上
開発環境 ANSI準拠C++コンパイラ Xlib  

 
    2.Windows

OS NT4.0/2000/XP
CPU Intel Pentium プロセッサ以上
メモリー 128メガバイト以上
ディスプレー SVGA (800x600) 65000色以上
開発環境 ANSI準拠C++コンパイラ WIN32API

   3.その他 

    その他の商用UNIXシステムでの実績もありますのでお問い合わせくだ
   さい。

 注)LinuxはLinus Torvalds氏の米国およびその他における登録商標または
    商標です。
    X Window SystemはM.I.T.で開発されたソフトウェアで、X Consortium Inc.
    の登録商標です。
    Windows、WindowsNTは米国マイクロソフト社の米国およびその他
    における登録商標または商標です。
    Pentiumは米国Intel社の登録商標です。

Copyright(C)1999-2003,SoftWorks Aska Co.,ltd.
All Rights Reserved.