ObjectSquare

[レポート]


ESC2000 参加報告

株式会社 オージス総研
オブジェクト技術ソリューション事業部

渡辺 博之

ESC2000

  先月の 9/24 から 9/28 の 5 日間に渡り、カリフォルニアのサンノゼでESC2000 が開催されました。
ESC とは、Embedded Systems Conferences の略で、その名の通り US における「組込み・リアルタイム分野」のコンピュータシステム開発者を対象とした、製品展示と技術セミナーを主体としたカンファレンスです。
   毎年全米各地で、場所を変えながら 計 3 回ほど開催されているのですが、その中でもここ西海岸で行われるカンファレンスが最大級で、昨年は1 万 4 千人の参加者がありました(現時点では、今年の参加者は未発表)。
  昨年は、開催以来ちょうど 10 年目ということで、大きな盛り上がりを見せていましたが、US でも組込み関係はたいそう盛り上がっているようで、今年はさらに昨年を上回る規模で開催されました。

  この報告では、主に技術セミナーの内容を中心にレポートしてみたいと思います。
ESCメイン会場のコンベンションセンター ESCサブ会場のシビックセンター


展示会と今年のESCの特徴

  上にも書いたように、ESC では、新製品の展示会と技術セミナーが同時に開催されます。今年の場合、展示会の出展社数はざっと350 社、セミナーの数は約 140 クラスでした。この数字から見ても、その規模の大きさを感じていただけるのではないかと思います。
  展示会の方は、ハードウェアからソフトウェアまで多岐に渡る製品が展示されていましたが、技術セミナーの方はどちらかというとソフトウェアエンジニア向けの内容が中心となっていました。

  今年の ESC の特徴としては、

といったあたりがあげられるでしょう。
  その中でも、Linux への対応やモデル中心開発といったあたりは、比較的これからの浸透を図るデモンストレーションといえるような展示が多かったのですが、モバイル向けのソリューション展示のほうは、実際に適用した製品を所狭しと並べた非常に現実感のある内容でした。例えば、デバイスメーカーは、PCと組込み共用で使えるチップを、RTOS ベンダーは小さな機器向けの搭載事例を、開発環境ベンダーは、新しいデバイスを対象としたシミュレーションベースのクロス開発環境を、といった具合です。MSも日本だと CE がもっぱら話題の中心ですが、こちらでは NT Embedded の適用事例を積極的に流していました。
  そういえば、蛇足ですが、あの昔懐かしい Z80 のZILOG 社も、TCP/IPやブラウザ用のチップとして、Z80 を大々的にPRしていました。名前も 「extreme Z80」、略して 「eZ80」 とかいう、何ともいまふうでかっこいいものに大変身を遂げていました(中身は、相変わらず8 ビット CPU らしいですが...)。

  また、職業柄、CASE ツールの動向も見て回ったのですが、UML をサポートしたツールとしては主に、Rational、i-Logix、ARTiSAN、Telelogicといったあたりが 積極的なPRを行っていました(他にも、UML をサポートしているツールは数多くありましたが)。日本からは、富士通、キャッツが出展しており、こちらはRose-ZIPC-Softune、Rose-ZIPC といった、ともに Rose と自社ツールの連携を主に展示していました。
  これらのツールは、いずれも組込み・リアルタイム向けということで、ほぼ全てがUML と状態遷移の組み合わせをサポートしており、その情報を元にモデルを論理実行できるアニメーション機能がウリとなっています。また、ほとんどのツールがコード生成を前提としており、「UMLでモデル作成 → シミュレーション(アニメーション)でデバッグ → 最後にほぼフルのコード生成」といった流れがこれからのトレンドのようでした。


技術セミナー

  今年は合計約 140 クラスもの技術セミナーが開かれました。セミナーの内容で分類すると、大体次のようなカテゴリに分かれます。

  これらのうち、C++、Java、オブジェクト指向、UML といった、いわゆる「オブジェクト指向関連」は、合計で35 クラスほどありました。全体の割合からすれば、約 1/4 を占めることになるわけで、かなり多めと言えるでしょう。しかし、その内容自体は、あまり高度なものよりも入門もしくは初級程度のものが多く、まだまだこちらでもオブジェクトやJava は(C++ さえも !!)ようやく根付き始めたばかり、といった状況のようです。実際、UMLの基本的な説明や、C++ の入門講座的なものは、非常に多くの参加者を集めていました。

  なお、UML のリアルタイム拡張やアクションセマンティクスに関する話題をあつかったクラスはありませんでした。

  以下では簡単に、私の受けたオブジェクト関連のセミナーのサマリを記述することにします。


Real-Time Unified Modeling Language by Bruce Douglass

  これは、ESC 初日に開かれた、書籍「Real-Time UML」を書いた Douglassさん(写真右側の方)の同名タイトルのチュートリアルです。90 分を 4 回に分けて計6 時間に渡る、一日コースの長〜い内容でした。
  内容は、「Real-Time UML」の内容に沿ったもので、基本編として「クラス」、「関連」、「要求のまとめ方」、「ステートチャート」などを、高度編として「制約」、「配置図」、「パッケージ図」などを説明しました。ここでは最後に触れられた、「Using UML to Develop Real-Time Systems」としてまとめられた内容から数項目を簡単に紹介します。

□Embedded Real-Time システムは他と較べて何が特殊か?
  要求として、 システムのサービス品質要求(QoS)をきちんと定義することが大切な点。これは、例えば、いかに早く、いかに予測可能で、いかに小さく、いかに信頼性を上げ、いかに安全性を持たせるか、ということ。

□時間の正確性とパフォーマンスについて
  Real-Time は文字通りのリアルタイムということではない。十分に予測可能、ということである。また、デッドラインは以下3 種類に分類される。

□Embedded Real-Time システムにおける設計のポイント
  設計に際しては、以下の 4 点がポイントとなる。

□サービス品質要求(QoS)の記述方法
  UMLの制約やタグ付き値を駆使して、QoS を記述することが可能。
操作に関しては、Execution time、 Blocking time、 Deadline などを記述できる。
  例) { exec time < 25 ms}など。
メッセージに関しては、Transmission Time、Reliability rates など。
  例) { reliability of message transfer 99.5%} など。
アクティブオブジェクトについては、Period、Minimum interactive time、Deadline of function など。
  例) { period = 30 ms: deadline = 25 ms } など。

  総じて、かなり初歩的な UML の説明に終始していましたが、非常に参加者が多く(200名程度は入っていたのではないかと思います)、まだまだ US でもオブジェクト指向やUML は始まったばかり、といった印象を受けました。
質問も活発に行われており(向こうは最後にまとめて QA を取らずに、途中でもバンバン質問が飛び交います)、特に質問が集中したのは、


といったあたりでした。
  なお、このセミナーのベースとなった書籍「Real-Time UML 2nd Edition」ですが、現在オージス総研で翻訳を行っており、来年 1 月頃に翔泳社から出版される予定になっています。お楽しみに。




The Case for Using Use Case by Steve Mellor

  こちらは、オブジェクト指向方法論の1つであるシュレイア・メラー法の提唱者、Steve Mellor さんによる 組込み向けのユースケースを解説したクラスです。今回のESC では、オブジェクト指向の上流に関するクラスは、先の Bruce Douglass さんとこのMellor さんの二人が中心になっていました(元 ObjecTime 社で現在 Rational 社に在籍している ROOM 手法の Bran Selic さんは、オブジェクトと直接関係ないクラスを2つ担当していただけでした)。

  以下、このクラスの内容を簡単にまとめます。

□Embedded システム開発におけるユースケースの意義

□アクターについて


※ここのところですが、Mellor さんは、アクターをシステムに要求を出すもの、として定義していました。

□ユースケースの見つけ方
アクターからの要求に対して行われる処理は、すべてユースケースである。たとえば、エレベータシステムの場合は、


などがユースケースになる。

□事前条件、事後条件
ユースケース記述の事前条件、事後条件は、システムに状態がある、ということを示唆している。

□ユースケースは抽象度に合わせて分割する
たとえば、「乗員がエレベータのリクエストボタンを押す」といったユースケースの場合、


の2つの抽象度に分解出来る。前者は、抽象度の高い「エレベータ制御ドメイン」に、後者はより低レベルの「プロセス I/O ドメイン」の、ドメイン用ユースケースとして分解される。
※ここでいっているドメインはシュレイア・メラー法の用語で、UML のパッケージに該当します。

□ユースケース使用上の注意
我々の目的は、完全なモデルを作ることであり、完全なユースケースのセットを作ることではない。

  総じて、これといった新しい見解はなかったものの、事前条件・事後条件から状態を見つけだす方法、ユースケースを抽象度に合わせて分割する方法などは、なかなかいいヒントではないかと思いました。


Real-Time Architectures by Doug Locke

  最後に紹介するのは、TimeSys 社という、主にスケジューリング分析用のCASEツールを作っている会社のエンジニアが行った、アーキテクチャに関する分類と比較を中心としたクラスで、個人的には今回のカンファレンスで一番面白い内容でした。
参加者も非常に多く、一番大きな会場にほぼ満員でした。しかも US には珍しく、途中退席者がほとんど出ないという好評ぶりでした。
  なお、話の最初で、講師が「どんな種類の組込み開発を行っていますか?」と手を挙げさせたのですが、軍事・宇宙開発関係が一番多く、逆にFA や OA などの民生機器は非常にまばら、といった結果でした。やはり、小さな組込みはわれわれ日本がメインなのかもしれませんね。頑張らねば。

  以下、ほんの少しだけですが、主だった内容をまとめます。

□ Real-Time システムのアーキテクチャの分類
大きく以下の4つに分類される。

□ アーキテクチャ設計時に考慮すべきもの

□ タイムライン(周期実行)について

□ イベント駆動について

□ パイプラインについて

□ クライアント- サーバーについて

□まとめ

  私が最近思うことは、組込みシステムには種類やシステムの特性・制約に応じたアーキテクチャがまず必要である、ということです。オブジェクト指向開発は、依然として有効な開発手法ではありますが、土台となるアーキテクチャによって大きく活用できるものもあれば、補助的に活用する場合もあるのではないかと思っています。
  このクラスで定義しているアーキテクチャは、まさにその一番大きな枠組みに該当するものです。考え方自体はこれといって新しいわけでもありませんが、こうやってきちんと分類し、そのトレードオフを明らかにしている点で価値があると感じました。


まとめ

  最後に、このカンファレンスの最中に気づいたことを思うまま書いて、まとめにしたいと思います。

□ US の携帯電話
  カンファレンスの期間中は、連絡用に US 製最新式の携帯電話を使用していたのですが、フル充電しても2日で電池が切れたり、充電にとても時間がかったりなど、あらためて日本の組込み技術の高さを実感する羽目になりました。でも、大きさだけに限って言えば、こちらの人たちはとても大きいので、たぶん日本の小さな携帯は却って需要がないかもしれませんね。

□ オブジェクト指向技術の進行度合い
   先にも述べたように、オブジェクト関係のセミナーは年々増えており、今年はとうとう全体の1/4 を占めるまでになっています。しかし、内容自体は、 まだまだ初歩的なものが多くを占めており、USでも UML やオブジェクト指向はこれからが本番、といったところのようです。既存技術では一歩も二歩もリードしている日本ですから、これからのソフトウェア開発でも是非US を先行出来るよう頑張りたいものですね。

□ 組込み開発の 3 本柱
  今回のセミナーで、とにかく数多く聞いた言葉は、次の通りです。


まさに、これらが今後(今でも?)の組込み開発の 3 本柱といったところでしょうか。

□ 来年以降の ESC
  今年で、サンノゼの ESC は終了で、来年からのメインはサンフランシスコで開かれる春の展示会になるそうです。それと、今年の11 月には、ヨーロッパでも ESC が開催される予定となっており、ESC も年々拡大傾向にあるようです(ちなみに日本だとESC ではなく ESEC (組込み開発環境展)ですね)。


© 2000 OGIS-RI Co., Ltd.
HOME HOME TOP オブジェクトの広場 TOP