PR

全国からプロジェクトの精鋭を選抜

 アルゴ21はCSPへの取り組みの第1弾として,全国の支社からプロジェクト・リーダーを務めるような精鋭の技術者を15人選抜し,2007年5月から2カ月間,外部のCSPコンサルタントによる研修を受講させた。選抜された技術者は,平日は顧客先での日常業務があるため,研修は金曜日と土曜日の週に2回だけ。研修は東京本社で実施したため,大阪や名古屋の支社の技術者は毎週,東京に出張し受講した。「選抜した15人はある意味,各プロジェクトのキーマン。その精鋭が週2日,研修のために抜けることに対して現場から若干の抵抗はあった。しかし,全社の設計力向上のためには必須のことなのだ説得し,役員からの命令として強制的に実行させた」(アルゴ21の森氏)。

 研修では,CSPでモデリングをし,それを実際に動かせるようになることを目標にした。具体的には,形式手法の基礎から始め,CSPの基礎理論,CSPで記述した並行システムのモデル検査(LTSAやFDR2),CSPモデルを実装し動作させるための言語の演習(JCSPやC++CSP)などを学んだ。「CSPは,当社のような企業の技術者全員が習得するものだとは必ずしも考えていない。主に上流段階でアーキテクチャを設計する技術者が,CSPを使ったモデリングをこなせるようになればいい」(アルゴ21の森氏)。研修に用いたカリキュラムは以下である。

  • 第1日目
  • ・午前:形式手法概説
    ・午後:離散数学とプログラミング 仕様記述言語(VDM/Z)の概論および演習
  • 第2日目
  • ・午前:CSP理論の概論
    ・午後:CSP理論の法則および演習
  • 第3日目
  • ・午前:モデル検査ツール(LTSA)の概論 演習
    ・午後:モデル検査ツール(FDR2)の概論(演習はなし)
  • 第4日目
  • ・午前:occamプログラミングの基礎
    ・午後:occamプログラミングの基礎 occamインタフェース および演習
  • 第5日目
  • ・午前:JCSP Base Editionプログラミング
    ・午後:JCSP Base Edition プログラミング JCSP Network Editionプログラミング
  • 第6日目
  • ・午前:C++CSPプログラミング
    ・午後:JCSP演習およびC++CSP演習

     ※日本では形式手法関連の教育研修メニューは少ないが,国立情報学研究所(NII)が「TOP SEプロジェクト」の中で形式手法全般に渡る教育研修を施しており,今回のCSPなどプロセス代数についてもメニューを用意している(NIIによるプロセス代数関連のシラバス)。ただし,アルゴ21はNIIの研修メニューは特に検討はしなかったという。

     アルゴ21は現在,CSPのスキルを定着させるため,過去の研修資料を基に週1回の勉強会を開催し,復習をしている段階である。2008年には,実際に過去の受託プロジェクトのソース・コードや仕様書を顧客から借り,それをCSPでモデリングし直す取り組みを実施する予定だ。「自動車分野の顧客から,形式手法を使った設計実施の要請があれば,すぐに応えられるような体制を構築したい」(アルゴ21の森氏)という。

     受託ソフトウエア開発企業の中には,設計工程ではなくコーディング作業だけを受託する企業もある。そうした企業ではCSPのような設計・モデリング技術を習得したとしても必ずしもそれを活かせない可能性もある。ただし,アルゴ21では「以前から受注の際,設計や企画などの上流段階から請け負わせてもらうことを条件にしている。このため,CSPのような設計技術は比較的,スムーズに業務に取り入れられると踏んでいる」(森氏)という。

     なお,子会社のAESでは,今後,アルゴ21の技術者向けのCSP研修結果を踏まえながら,将来的には外部企業に対しCSPの研修コースを販売していく計画である。