第8回 組込みシステム技術に関するサマーワークショップ(SWEST8)受講メモ チュートリアル2 S2-3-1 「行列の出来る組み込みシステム開発ワークショップ & パネル・ディスカッション 2006 〜World Embedded Software Classic In SWEST〜 PartⅡ」 日時:2006/07/14 13:20-15:20 場所:遠鉄エンパイアホテル(静岡県浜松市) 会議場E・F (以下、敬省略) 司会:中村 憲一(米Upwind Technology) 講師:藤懸 英昭(ロジック・リサーチ) 橋本 隆成(Hashimoto Software Consulting) 川口 晃(アクティビティ・デザイン) 杉浦 英樹(富士ゼロックス) Nalin Advani(ソリッド) 参加人数:38名(チュートリアル開始時) チュートリアル概要: ---------------------------------------------------------------------------- 日本の製造業および組込み業界は世界一と言う高い評価を得ている。さらに日本の製 造業は製品だけでなく、QC活動、トヨタ生産方式など品質保証・管理活動、生産手法 なども世界に常に影響を与え続け、海外諸外国で模範とされてきた。一方、SW開発に あたっては、全く事情が逆のようである。 本セッションは、日本の企業および大学、専門学校などの教育機関がどのようなこと が組み込み業界で必要とされているのかを、「開発手法」、「プロジェクト管理」、 「品質保証・管理」、「教育」などの切り口でセミナーと聴講者参加型のパネルディ スカションを連携企画し、セミナーによる学習とケーススタディオ及びQ&A形式のパ ネル・ディスカッションを用意する。 ---------------------------------------------------------------------------- 注意事項:時間の都合上、本チュートリアルでは質疑応答が省略された。 藤懸 英昭(ロジック・リサーチ) ---------------------------------------------------------------------------- 講演タイトル:あなたはLSIの検証を知っていますか? ---------------------------------------------------------------------------- 従来のLSI検証の紹介 ・従来のLSI検証を紹介しつつ、現在のLSI検証手法を紹介。 ・従来手法での検証フローでは 機能仕様が与えられる⇒検証言語を抽出⇒テストケースを作成 ⇒シミュレーション という手順を踏んだ。 シミュレーション成功時⇒終了 失敗時⇒コードの修正を繰り返す ・従来手法では、DUVに対して、入力値と期待値の対を事前に準備し、 さらに、テストベンチを準備する。 ・例えば、CPUを検証するときは、割り込み、具体的にはUART割り込みなど といったものをがテストベンチ。携帯電話のSoCならキーパッドと通信モジュー ル、液晶ドライバ。 ATMスイッチなら送受信ノードがテストベンチとして与えられる。 ・入力値とテストベンチ、DUVの3つを使ってシミュレーションを行い、 その結果と期待値を比較する。 ・期待値と不一致の場合に、原因究明の手段として波形ビュアーを用いることもあ る。 しかし、膨大なHW情報を波形で確認するのはあまりよい手段ではなく。最終手段と いった ほうがよい。HW設計者が波形ビュアーを使っていたら、そっとしておいてあげま しょう。 新しい検証方法 ・検証と設計サイドでネゴシエーションが重要。 ・新しい設計の枠組み。 ・アサーション コーディングしたときにこういうふうに動くはずというのを書く。 それに違反したらメッセージが出力される。設計のホワイトボックス化につながる のがうれしいところ。 ・制約つきランダムスティミュラス生成 Fosterたちが策定。アサーションが書きやすい言語体。 フォーマル記述がしたかったのだけど。シミュレーションベースでうまく枠組みを 汲ませるために プロパティとしてフォーマル検証。→こんなことできないよっていってる設計者に 調理法を。 ・自動チェック機構 ・機能カバレッジ 機能は十分活性化しているかをチェック ・言語 System Verilog Velilogの拡張。検証用機能のを大幅に強化ってのが一番重要。 従来、2つのスレッドがデータを取り合う状況が起こりやすかったが、 回避するような枠組みが用意された。 昔の枠組みで書いたRTLが使える。 オブジェクト指向プログラミングを忠実に実現できるような枠組みが用意されてい る。 再利用性があがってうれしい。 新しいLSIフロー ・シミュレーションが通ったあとでもカバレッジの解析を行い テストケースを修正することがある ・もっと階層をわけることもできる。再利用がしやすくなり HWの世界ではあまり考えなかった再利用を実現。 検証エンジニアの必要性 ・欧米では検証エンジニアがいる。日本の場合はいなく、RTL設計者が検証を行う。 ・別のエンジニアが扱えばバグがとれる。機能仕様との違いに気づくために ほかの人がやったほうがいい。同じ人がやると気づけないため パスをわけたほうが、仕様の誤解が少なくなる。 ・日本のLSI検証に必要なもの ・新しい検証手法は欧米発であり、日本での検証はまだ工夫がされていない。 ・マネージメント層の意識改革 ・技術者の意識改革 バカ正直に働くのをやめて、うまく手を抜くようにしましょう。 楽になるための努力を惜しまない。 ・楽になった分、さらに考えましょう。楽になったらさらに勉強しましょう。 ・楽になったらアサインされる仕事が増えるかもしれないが、また勉強。 ・SIの不具合でSW開発に負担をかけない。むしろSW開発をサポートするような枠組 みが必要であると感じている。 (時間の都合上、本チュートリアルでは質疑応答は全て省略された) 橋本 隆成(Hashimoto Software Consulting) ---------------------------------------------------------------------------- 講演タイトル:SW業界のテクノロジー&プロセスの最新動向と取り組み 〜パネルディスカッションへの問題提起〜 ---------------------------------------------------------------------------- ・日本の組込みはほんとに世界一なのか。 もし世界一であるならば、それを維持できるのか? その根拠はなんなのか? ・外国から日本をみると、国内と違った視点でみることができるため 海外からの視点を取り入れる。 ・世界一かどうか。 ・外国から見た日本。 経済状況により左右される。テクノロジーはどうなっているのか。 ・どのようなテクノロジーが注目されているのか? ・生産、開発技術はどうなっているのか? CMMI・アジャイル・トヨタ生産方式 ・講師の経歴紹介 日本の組込み業界の現在と未来 ・日本の組込みは世界一なのか?なにをもって世界一なのか? 日本のHW製品がよく、それに組込まれたシステムもよかった。 これを維持するのは職人技だけでは難しい。 戦略がないのが問題。 ・今まではエンタープライズ系がよかったため、組込みってあまり見られなかった。 自動車、携帯、医療機器→注目が世界でもあびてきている→世界が組込みソフト ウェアへ参加。 外国からみた日本 ・デフレだっていうのは日本国内だけ。 どうやってものを作って売るのか、インターネットの普及で変化し そもそも経済のスタイル自体が変化してきている。 景気っていう考え方をずっとひっぱってきている。 ・情報操作→アメリカから抜ければアメリカの話がでててくるように、外からの視点 が大切。 ・グローバル化の中で、どうたたかっていけばいいのか? アメリカのカンファレンスでの導入事例 ・かなり実用的で企業の色がついてきた時代。 ・アスペクト指向開発:上流からやらないと満たされない。 ・プロダクトラインエンジニアリング 再利用の事例が多くなってきている。 明確なビジョンでやってきた欧米は確実にものになってきてる。 ・日本はプロセスをかえることが苦手。 プロセスをもっとよくしって、その上で自分達にあったやりかたを導入すべき。 テスト職人芸からの移行。 海外の動向:実例 ・検証やバリデーションを緻密にやるノウハウが 自動車にもきている。 ・要求仕様の管理がフランスは得意→言語的なあいまいさがそもそも少ない。 ・要求しようとのずれ→読み違えではなく書いてないことによる場合が多い。 ・要求しようは、設計、テスト担当者が議論しながらやる。 そういう作業をしっかりやらないといけない。 ・ブラジルロケットの打ち上げと管制制御システムの例 ・業界のプロセスの基準が各国にある。 ・プロトタイプとしてやりはじめているんのでなく、実例も多い。 ・ソニーのカーナビ:アスペクト指向、オブジェクト指向を用いた例 ・どういうところが拡張性でネックになるか、保守性を洗い出すために アプリユーズケースを用いる。ユーズケースのシナリオを書き出す。 ・電車、原子炉など定められた基準のリアルタイム性と機能安全があるものも。 これを明確にする必要。 ・厳しくチェックするだけでなく、ノウハウが必要。 どこに不具合がおきやすいかわかりやすい。マトリックスを作るなどで不具合が書き やすくなる。 川口 晃(アクティビティ・デザイン) ---------------------------------------------------------------------------- 講演タイトル:組込みシステム開発の分析 ---------------------------------------------------------------------------- 日本の組込みシステム開発に足らない点。 ・作ること以外で価値を創出しようという姿勢:つくるのは大好き 農耕民族 ものづくりいのち 狩猟民族 作ってもらったものをうまく使って価値を創出 ・作ることと同じくらい分析が大事 これからの電子システムモデル ・ユーザの意志を検出する。 ・背景の利用 ・サポート ・システム意志 電子システムのスマート化が進む。 電子システムのスマート化により開発が難しくなる。 ・センサの情報をあつめて、検出 ・サポートもアクチュエータが複数。 ・垂直統合型から大勢で大規模システムを開発する必要がでる。 ・要素技術に大勢で大規模システムを構築する難しさが加わる。 開発の難しさ 多様化 ・パターン:独立したものだと足し算だったのが、組み合わせだと掛け算になる。 ケアしないといけない状態数がとても増える。多様化する難しさ。 ・異なるアプローチが求められてくる。スマート化後の改善効率は当然 さらに今まであった技術進歩への対応も求められる。 どこがどのように広がるかってのを分析 困難は分割しましょう。 ・思考工程と解決力をリンクするのがアクティビティ ・思考工程の例:ユーザの意志推定 要求・設計・実装という3つに分けてみる。 ・要求における 思考工程 アクティビティ 解決力 が 3工程について必要だった。 ・ブレーキランプの例を用いて⇒いらないなら思考工程は削ってしまおう。 ・現在は思考工程のばらしなおしはできているの?できていない。 ・昔ながら個別システムでの開発しかされておらず、 高度化、多様化への対応ができていない。 ・思考工程そのものを再定義するっていう仕組みがなく 解決力が結びつかない。 ・どんな思考工程に対してどんな解があるっていうのをしっかり 考えられていなかった。 ゴール:思考工程と解決能力をバランスさせる。 ・解決力と思考工程の高低のバランス。どうやってバランスをもっていくかが 工程の分割。 ・ゴールにもっていけるような仕組みがいまの組込みシステム開発に必要。 杉浦 英樹(富士ゼロックス) ---------------------------------------------------------------------------- 講演タイトル:間違いだらけの組込みソフト開発 ---------------------------------------------------------------------------- 補足:講演の形式 講演者からの出題に対し、受講者は○、×で解答し、 ○の数をカウントする。テーマごとにブレークが入り、 テーマに関する説明があった。議事録に記述された内容は 主にテーマの抜粋。 あなたのモデリングはわかりやすいですか? ・要求元に開発するソフトの難しさを説明できますか? ・なにをとどうと、問題と課題と憶測とたらればの混在 ・問題と課題の違いがわかりますか? ・事実を元に考えていますか? ・変わらない実装指向 ・仕様変更発生時、トラブル発生時、結局ソースが問題? ・問題が発生しましたとき、 アジャイルに開発してしまったので、設計資料はありませんと乱雑な開発してま せんか? ・プログラミングがすきですか? トラブルが発生したら直感ですか? ・誰にでもわかる○○を目指しましょう。 ・上下左右にコミュニケーションに気づきましょう。 ・組込みソフト開発に愛を。 もっと愛情をもって仕事を進めませんか。 ・ほかの人はあなたのプログラムを理解していますか? ブレーク:変わらない実装嗜好をどうする? ・ギャル語、プログラミング言語→特定の人だけに通じる言葉になってませんか? ・バラエティーからダイバーシティーへ ・メカエレキ、ソフトの連携こそ、ホントの組込みシステム開発効率化 ・それぞれがスペシャリストだけどつなかっていない ・有機的につなげて誰にでもわかるソフトウェアへ ・プログラミングはモデルとおりにしましょう。 あなたの技術はなんですか? ・自分の技術を語れますか? ・自分の技術を評価できますか? ・自分の技術について、仲間で話していますか? ブレーク 話せばわかる、青二才。 ・青二才:簡単なことを難しく話す、バズワードが多い。話の筋が通らない 「私は知っている調」わからない調ではなす。 ・プロの言い方:むずかしいことをやさしく話す。 ・達人:話の筋がぶれない。- わからないことがわかっている事 ・自分の技術のレベルはいかがなものか ・異業種エンジニアのことわかってますか ・後輩や新入社員は、わからない類ではない。 ・上司やステークホルダーも技術がしりたい。 ブレーク:わからないことがわかっていることが大切。 ・わかっていないことをあきらかにして、協力を得よう ・わからないことがわかるような、説明が最も重要なプレゼンテーション。 結論の出ない、どうでもいい議論は必要ありません。 品質システムの不在 ・開発プロセスは生きていますか? ・認証のためのプロセスなんてありませんよ。 ・開発管理にもプロセスが必要です。 ・現実をプロセスモデルにしましょう。 ・定義したプロセスと現実のプロセスのギャップはどう扱うか? ・プロセスは開発現場への足かせではありません。 ・なんでもPDCA ・技術要素のPDCA ・開発技術のPDCA ・管理技術のPDCA ・死んでも継承させるノウハウ ・問題を再発させないための技術 ・成功を継続させるための技術 ブレーク: ・品質システムの実現と継続 開発プロセス、開発管理、PDCA、ノウハウ 日本の組込みソフト開発 ・すり合わせってのホント? ・コンポーネント化できないだけじゃないの? ・すり合わせだけではない。 ・やさしい組込みシステムソフト開発 ・とらぶった人のことがわかるから ・技術がわかることで尊敬されましょう。 ・日本の組込み祖ふっとウェアに求められることがある ・日本の組込みソフトウェアに求められることがある。 ・Made in japan だからトラブルなし!? ・Made in japan だからコンパクト!? ・Made in japan だからレスポンスがいい!? ・Made in japan だからはなぜ品質が高い!? ブレーク:資源のない国で世界から認めら得る続けるために ・日本が誇れることを意識する ・世界との強調姿勢が必要。 日本から世界へ ・組込み分野では日本が中心に。 日本独自の文化を意識した腕、中心的存在であり続けるべきである。 ・だから日本が一番? 日本文化の繊細さ、やさしさ、勤勉さ、美しさをもう一度みなおそう。 ○の数とランク 0〜25 経験不測 もっとたくさんのプロダクトにかかわりましょう 26〜50 青二才 おもしろいことはもっとあるから、尊敬できる師匠を探しま しょう 51〜75 だいぶわかってきましたね。 76〜85 立派な志士です。一緒に戦いましょう。 ・Nalin Advani(ソリッド) ---------------------------------------------------------------------------- 世界および日本の組込み業界の現在と今後 ---------------------------------------------------------------------------- ベンチャー側の意見 コミュニケーション ・4つ目のコミュニケーション改革まできた なんで組込みをつくるのか?それは道具。知るための道具。データのやりとり、IP という道具。 ・組込みシステムの進化 組込みはつながっていること、複数のノードが連携をとりながら動くのがあたりま え ・どんどんアプリは難しくなっている&標準化へのプレッシャーがあるはず。 ・作った製品は幅と複雑さを保持する。 日本の組込みは世界一か? ・世界一だと思うが、違いを認識するべきだと思う。 ・丁寧で細かい作りこみは世界で最高 技が技術者のプライドとしてあり これが日本の特徴 ・欧米:アベイラビリティ 頑丈性。 日本は組み込みがだけが得意なのか? ・流れのあるアプリケーションも得意。Cl/Sv iMode JAVA ・でも大型システムの使用が進化すると ころころ仕様書がかわると? ・パーツが増えたり、外注でドキュメントがなくどうどう巡りになってしまうとき がある。 ・それを何とか力仕事でこなそうとする ・ヨーロッパは設計が得意 ・そもそも標準化の方向性が異なる。 ツールを使いこなすが、新しい発想をうまない。 ・ICEのように顕微鏡のようなツールはすごい。でもデバッカなどは苦手 ・マイコンに直結したツールは得意であるが、 CASEなど、品質+生産性を高めるためのツールはでてこない ・Co-LSI系のものをドライブする可能性があるはず。 ・なぜRTL -Verilogなどは全部海外のもの? ・SIもツールじゃないか? ・コストをさげるため、開発期間の短縮のためのものであるという認識がなかなか ない。 外注も道具であると思えばもっとうまくいくんじゃないか? 世界の標準組込みOSは? ・そもそも標準がありえない。世の中の流れの中で常にひとつに集約しない。 ・OSはだれのもの? 知的所有物としてオーナーがはっきりしたがほうがいい。OS単独ではしょうがない プロトコルスタック、ボード と人と手を取り合いながらできるような 構造を作ることが大事。ユーザにとっての付加価値。 ・2つのフリコ ・オープンvsイノベーション ・開発環境vs実行環境 ・ITRONはふりこが遅い。ビジネスモデルの構築が遅い。 マイコンはもう繊維産業 ・キラーアプリがドライブする組込みシステムの特化。 キラーアプリケーションがあったからこそ、組込みの業界が よくなっている。たまごっちでマスクROM、 携帯電話で液晶のコストがさがる。キラーアプリの中でも連携があり これらを作るために組込みシステムがある。 アプリケーションづくり = ものづくり ・白黒テレビは量産から100万台突破まで20年 ・新しいものは突破までの時間が短縮され、時間との戦い。 ・世界は独自のサイクルでアプリケーションのステップ。 余談:インドIT産業について ・5ルピーの反対側 21の言葉のうち17の言葉で5ルピー お金にも17種類の言葉。 ・国をあげてITを推進。IT大臣。 ・給料をはじめとして競争が激しい。