画像_1

モデルベース開発とプロトタイピング <想定内と想定外>

「調べて考える。作って試す。」という流れは人間が科学的に進化するようになって以降重要なプロセスになっています。それまでの偶然による発見によって生存条件が良くなり一部の部族だけが生き残ったという進化論の自然淘汰の仕組みから人間社会が脱却したもっとも本質的な変化だからです。

積極的に情報を集め、想像力を使って考え、実際にそれを作り、体験的に試してみて、良い技術だけを残しより洗練させていくという流れは、PDCA、マーケティング、人間中心設計プロセスに至るまであらゆる計画的行動の基本になっています。


複雑な物事を想定内にするモデルベース開発

前半の「調べて考える」ところでは、調べることによって新しい事実の発見があるかもしれませんが、調べていないことについて知ることはできません。同じように考えて出てくるアイデアは過去に経験したことのある内容であったり、それに類似している範囲に限定されてしまいます。つまり調べて考える活動は<想定内>についてのものであり、主に今あるものの改良や性能アップのように単純な進化に効果を発揮するものです。

最近では、知っていること、分かっていることを体系的に扱い、複雑な物事にも対応できる手法として「モデルベース開発」が盛んに使われるようになってきました。

自動車の開発などでは、多くのセンサーを利用してエンジンやブレーキ、ハンドルを高度に連動させて制御するだけでなく、ドライバーや搭乗者の快適性を実現するために非常に複雑なシステムを設計しなければならず、さらに1台の自動車内のシステムだけでなく交通インフラや他の自動車との通信によって大きな社会システムの一部として機能するようになってきました。このような複雑なシステムを設計するために物事の役割と関係性を記述していくモデルベース開発が必要とされるようになりました。


想定外を発見するプロトタイピング

それに対して「作って試す」ところでは大きく2つの役割があります。ひとつは想定したことが想定通りになっているか試すことです。想定した目標を測定し達成しているか判断をします。

もうひとつは<想定外>を見つけることです。製品開発では内部機構や機能の動作確認だけではなく、さまざまなユーザーや利用環境の中で体験してみることで、仕様作成段階や設計段階では想定できていなかった事柄が沢山でてきます。

この想定外の発見は、時には開発を大きくやり直さなければならなかったり、開発そのものを中止しなければならないことになります。そのため本格的に設計を始める前にプロトタイプを作って、実際に試してみることで想定外を発見しそれをモデルベース開発に組み込んでいく方法をがとられます。


モデルベース開発とプロトタイピングは最高の組み合わせ

想定外を発見し、想定内のモデルを補強していけることは先に述べましたが、その前段階としてプロトタイプを作るときにシステムの役割モデルが大変役に立ちます。

プロトタイプと本番開発の一番の違いは、設計の詳細部分の忠実度にあります。簡単なシステムであれば早い段階でコストをかけずに忠実度の高いプロトタイプを作ることができますが、複雑なシステムではそうはいきませんので評価目的に応じて、システムの要素の役割を抽象的に動作させる簡易版としてプロトタイプを作ることになります。

このプロトタイピングでの抽象的な簡易版という考え方と、モデルベースでの上位設計は同じものと考えることができますので、モデルで定義できれば、自動的にプロトタイプが作れるようになります。

特にVRやビデオを使ったプロトタイプの作成は、モデルのビューを「リアル」に切り替えるだけで出力できるようになったり、同じようにプログラムコードや電子回路、3Dプリンター用のデータも自動的に生成されるようになります。近年の「ジェネレーティブ デザイン」の進化は速く、これまで人間が設計していた領域をコンピュータが代わりにおこなえるようになっています。


モデリング/プロトタイピングツールの実現

現在これらの組み合わせはソフトウェア開発などで既に実現している部分もありますが、私たちが実社会の中で利用するシステムはより広範囲であり、部分が複雑に関わり合ったものですので、システムに関わる全ての活動を統合していく必要があると考えています。

まず手を付けたいのが、エンジニアとデザイナーが共通で使えるモデリング/プロトタイピングツールを実現することです。さらにビジネスモデルや法規対応も含めていくことで、開発に関わる情報がほぼ統合できるようになります。(日程や担当者、予算も統合可能)

MATLAB/Simulinkを初めプログラムIDEではオブジェクト指向の構造を記述できるようになっていますし、メカCADや電気CADでもモジュール設計が可能です。デザイナーが使うツールでも従来からのレイヤーやグループだけでなくシンボルやコンポーネントの概念が扱えるようになってきています。

つまりそれぞれのツールではモデルベース開発の一部が実現されており、その見せ方や呼び方が違っているだけなのです。これを連携できるようにしていくことで、より強力な開発ができるようになるはずです。




この記事が気に入ったらサポートをしてみませんか?