ObjectSquare

[OBJECT DAY 2000 特集]


OBJECT DAY 2000 突撃レポート

〜組込みシステム編〜



オージス総研 オブジェクトテクノロジー・ソリューション部
赤坂 英彦



私は昨年秋にオージス総研に転職してきたクミコマー(社内では組込みエンジニアのことをこう呼びます)です。また、オブジェクトの広場の「幽霊」編集員でもあります。
最近は、組込みシステムの開発においても、オブジェクト指向の波がやってきたという感じですね。弊社でも組込みシステム開発のコンサルティング、SI案件が増えており、今後ますます組込みシステムでの適用事例が増えていくものと期待しています。でも、組込みシステムに特別こだわりを持っている訳ではありません・・・・。
さて本題です。5/26(金)、恵比寿のウェスティンホテル東京にて、ObjectDay2000が開催されました。
昨年は組込みシステムに関するセッションはたった1つしかありませんでしたが、今年は「組込みシステム」トラックとして3つのセッションがありました。 ・・という訳で、今回、ObjectDay2000の組込みシステムトラックの3セッションについて独断と偏見で報告させていただきます。このレポートに関して、若干(あるいは大きく!?) 、実際の内容と異なってしまうかもしれませんが、何卒、ご容赦の程、よろしくお願いいたします。

私が聴講したのは、以下の講演です。

どの講演も会場は満席でした。立ち見も出るくらいの盛況ぶりでした(立ち見客の実態はオージス社員ですが・・・)。

ObjectDay2000 開演

今回で2回目となるObjectDayですが、今年はセッション数も参加者数も増え、ますますパワーアップしたように感じました。会場の熱気に圧倒されてしまいそうでした。昨年よりもセッション数も増えたせいもあってか、参加者が一気に増えた気がしました。オブジェクトを嗜好する人がこんなにいるのかと驚きながらも、高揚を抑えつつ、セッションに望みました。
なお、当日は五反田駅ホームで同僚に会い、一緒に会場へ向かいました。オブジェクトの話に夢中になってしまい、人の流れにつられて電車を降り、階段を登り、改札を出てみると、・・・そこには会場へ向かうはずのスカイウォークの案内はありませんでした。どうしてないの?と思いながらも、とりあえず恵比寿ガーデンプレイス方面へ向かいました。天気が良かったので散歩もなかなかオツなものでしたが、私たちが降りた駅は恵比寿ではなく、ひとつ手前の目黒でした(^^;;。もちろん、帰りは恵比寿から電車に乗りました。

組込みシステム 3セッション

組込みシステムの3セッションの講師は、なぜか3人とも同じ苗字!で渡辺さんでした。なんとも紛らわしい・・・。
それぞれのセッションのテーマは、組込みシステム開発にオブジェクト指向を適用するにあたって、

という感じに分かれているといったところでしょうか。

どのセッションにも共通しているのは、組込みシステム開発の現状についての認識です。システム開発規模が増大し、データの複雑さが増したことなど、従来の開発手法では限界に達してきているということです。今後も増大するであろう複雑さに対応するには、オブジェクト指向を適用していくことがMustになっていくものと思われます。
一方、各セッションで異なるのは、オブジェクト指向の適用方法についてです。それぞれ、

といった感じです。どれも、完全なオブジェクト指向で実現するというよりも、旧来手法とオブジェクト指向を上手く使い分けるのがポイントになっています。
それでは、それぞれのセッションについてご報告いたします。

E-1 21世紀の組込みシステム開発 〜 オブジェクト技術の役割と課題 〜
      講師:キャッツ(株) 渡辺政彦氏

このセッションでは、従来の開発手法として状態遷移表がベースとなっていました。
講師の渡辺氏(キャッツ)は「拡張階層化状態遷移表設計手法」の著者であり、「ZIPC」という状態遷移ベースのCASEツールも自社で扱っており、状態遷移のオーソリティ的な存在でしょう。
状態遷移表を使った開発はよく用いられますが、外部からのイベントを分析し、システム(あるいはタスク)の状態によってイベントに対するアクションを決定していくといったものです。
「今までは、データも単純だったため、単にイベントと状態を管理すれば個々のアクションは簡単になり、システムを把握することができた。ところが、システムが扱うデータ、システムへの要求が複雑になってきて、従来の手法では対応が難しくなってきた。これらの複雑性に対応するために、従来の手法をベースにオブジェクト指向技術を適用する」というのが、おそらく渡辺氏(キャッツ)のアプローチでした。スライドの「これからはオブジェクト指向だ! ・・でもマルチタスク設計できないの? ・・じゃ、オブジェクト指向技術って何? ・・それはドメイン技術」という、紙芝居を思わせるような流れは圧巻でした。パワーポイントもこういう使い方は新鮮ですね。結構ハマリそう(笑)。
副題のオブジェクト技術の役割は、複雑化するシステムを理解できるようにすることで、主に分析でのWHAT(システムが何をするのか)を検証するのに有用とのことでした。オブジェクト指向技術は、複雑な要求にはUMLによるカジュアルなモデリングでドメイン分析を行うことにより、何が問題なのか、何を作るのかを決定するのに役立つし、複雑化するデータには、カプセル化によって保守性を向上させることに有効である、とのことでした。
一方、肝心のオブジェクト指向の課題については、なんと言っていたのか聞きそびれてしまいました。レポートできずにすみませんm(_._)m

途中、オブジェクトやサブシステムのタスクへのマッピングについての話がありました。マルチタスク設計については、皆さん一様に関心が高いらしく、会場のボルテージが一気に上がったのを最後列で見ていた私は見逃しませんでした。その内容については・・・報告できません。

E-2 かんたん組込みUML
      講師:(株)オージス総研 渡辺博之氏

このセッションでは、UMLを用いて組込みシステム開発を行うというテーマから、そのメリットやトレードオフなどについて触れ、UMLモデルの例を通してオブジェクト指向の適用を紹介するといった内容でした。
講師の渡辺氏(オージス総研)は、昨年2月号のDDJ(今はなきプログラミング雑誌。私が欠かさず購入してきた唯一の雑誌であり、今でも復活を強く望んでいます)の組込み特集記事「組込みシステム開発に異変あり!」を皮切りに、組込み/リアルタイムシステム開発へのオブジェクト指向の適用について数多くの講演をしている、組込み業界ではオブジェクト指向の伝道師的な存在といっても過言ではないでしょう。・・・あっ、思わず、師匠の宣伝をしてしまいました。申し訳ありません。ちなみに現在、私は渡辺さんとは同じチームで組込みシステム開発のコンサルティングを行っています。オブジェクト指向マニア(夢想主義)の私と違い、渡辺さんは徹底した現実主義者です。「きちんと動けばいいじゃん」が渡辺さんの口癖です。
「かんたん組込みUML」ということで、UMLの必要性からUMLによる組込み開発の概要を駆け足で説明し、メインの例題ではユースケースからタスクの内部設計まで、それぞれ、モデルと作成のポイントについて詳しく解説し、最後に留意点で締め括りました。アクティビティ図を使った並行処理の記述、並行性の設計、タスクの内部設計については、組込みエンジニアにとっては喉から手が出るほど興味のある内容ではないかと思います。
システムを責務ごとのパッケージに分割し、並行性の視点からこれをアクティブなサブシステムとパッシブなサブシステムに分類し、前者をタスクにマッピングするあたりは、もちろん唯一の手段ではありませんが、とても面白いと思います。一般のオブジェクト指向の書籍はビジネス系の例が多く、なかなかこの辺については触れられていませんからね。
このセッションの資料は、組込みシステム開発のオブジェクト指向入門として最適です。テキストをお持ちでない方は、弊社ホームページよりダウンロードできますのでご覧下さい。また、UMLの入門としては「かんたんUML」(翔泳社)が最適です。・・・おっと、今度は会社の宣伝(^^;;、ごめんなさい。

E-3 情報端末へのJava適用ケーススタディ 〜 組込みシステムへのOO導入の実際 〜
      講師:(株)田村電機製作所 渡辺康隆氏

ここでは、JTRONを用いて、(日本ではお馴染みの)μITRONカーネルを用いた既存のシステムとJava(オブジェクト指向)の良いとこ取り(ハイブリッド)の開発事例の紹介という内容でした。組込みJavaには疎い私ですが、個人的にはこの講演が一番興味のあるものでした。現在のところ、最も現実的な解決策だと(私は勝手に)思うからです。
申し訳ありませんが、講師の渡辺氏(田村電機製作所)については存じ上げておりませんでした。懇親会のときにお話させていただいたところ、気さくな方でした。テキパキとした態度から、仕事では厳しい方に違いない、と勝手に想像しています。
事例はICカードの読み取り/書き込み機能を備えた情報端末(プロトタイプ)の開発とのこと。内容は、この開発を元に、導入のメリット、開発視点から見たオブジェクト指向の導入が進まない理由と導入ポイントについての解説でした。
JTRONを用いたハイブリッドな開発は、Java導入によって開発効率を向上させ、一方で不足するリアルタイム性、ハードウェア制御などを既存のITRONのネイティブコードでカバーするもの。特に移植性が求められるGUI、ネットワークなどの部分をJavaで記述し、従来のITRONタスク(コードはC言語で記述されている)とを連携させるとのことです。Javaを用いるメリットとしてはなんといっても豊富な開発環境が挙げられます。また、ハイブリッドな開発では、Java(オブジェクト指向)開発者とITRON(組込み)開発者との役割分担が明確になり、並行作業が可能になるとのことです。
オブジェクト指向の導入が進まない理由として、初期導入コストの高さと実行効率に対する不安や既存の資産(非オブジェクト)などが挙げられましたが、ハイブリッドな開発ではこれらを軽減できるので、オブジェクト指向を初めて導入するには最適な解ではないかと思いました。オブジェクト指向に強いアプリケーション開発者とオブジェクト指向について知らない組込み開発者が一緒にシステム開発することが可能になる、というのも面白いですね。

組込みシステム 3セッションのまとめ

300人収容の会場で行われた組込みシステムトラックの3セッションは、どれも満員の盛況ぶりでした。
しかし、「組込みシステム」と一言でいっても、小規模なものから大規模なものまでいろいろあります。
通常のビジネス系システムでは求められることのないリアルタイム性についても、あまり時間的制約のないソフト・リアルタイムシステムから、デッドライン(制限時間)に処理が間に合わないとシステムの価値がなくなってしまうハード・リアルタイムシステムまで幅があります。これら様々なシステム要求に合わせて開発方法も多種多様になっています。
おそらく既知の問題としては、オブジェクト指向ではリアルタイム性を実現する手段が十分に検討されていない、ということでしょう。組込みシステム開発にオブジェクト指向を適用するにあたっては、これらリアルタイム性をいかに実現するかといったことが大きなポイントなのだと思います。ただし、組込みシステムの決定版というものは今後も存在せず、その規模や要求に合わせてトレードオフしていくしかない、というのが私の感想です。やはり、ここでも「銀の弾丸」はないのでしょう。
これらのことを考えると、たった3つのセッションで多くの組込み開発のニーズを満たすことは難しいと思います。もっとも、組込みシステムセッションに限らず、1セッションあたり1時間弱の時間ではなかなかテーマの全容はわからないとは思いますが・・・。

最後に

ObjectDay2000が無事に終了したあと、オブジェクトの広場のメーリングリストでも議論が活発になりました。
オブジェクト技術者の士気を高め、幅広くコミュニケーションを広げていくというところも、ObjectDayの意義のひとつではないかと思います。
ObjectDayに参加された皆様、有難うございました。来年もObjectDayを盛り上げて頂くよう、よろしくお願いいたします。

追伸:今年は叶わなかったけど、来年こそはキワモノセッション(Beyond the Object)を聴講するぞと、勝手に決意しています。

© 2000 OGIS-RI Co., Ltd.
Prev
Prev.
Index
Index