いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「UML学習」 、「MBD演習」および「MBDリファレンス」、「SPLリファレンス」、「C++リファクタリング演習」 です。また、「USDM演習」の問題も公開されています。
「UML学習」コースを新規公開しました。
これまで、一部の方向けに「UML学習【プレ公開版】」としてスライドのみ公開していましたが、解説や例を追加した動画コンテンツとして作り変え、広く公開することになりました。My Courseの「モデリング」タブからご覧いただけます。
【ドリル/Q-003. 掃除機の制御】カテゴリに「Q-003. 解答」を公開しました。
前回出題した掃除機の問題について、解答例を挙げ、解説します。
【Simulink/Stateflow】カテゴリに「Stateflow で利用できる便利な演算子」を公開しました。
掃除機の制御のドリルでは、別解としてStateflow の変化検出演算子を用いる方法を紹介しました。その変化検出演算子について、リファレンスにまとめたものです。(「エッジ検出」以降については、順次書き足していきます。)
【事例集/失敗事例(アンチパターン)】カテゴリに「一向にコア資産が蓄積しない」を公開しました。
この企業では、開発チームの状況をヒアリングしながらSPL開発のプロセスを定義し、成果物サンプルやツールを用意して、万全の態勢でSPL開発に移行しました。しかし、半年たってもコア資産は蓄積していきません。いったい何が原因だったのか、どうすれば解決できるのかを解説します。
【プログラミング規約(関数)】カテゴリの演習6演習11を追加しました。
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「おすすめのプレイリスト」 、「USDMリファレンス」、「MBD演習」、「SPLリファレンス」、「C++リファクタリング演習」 です。
【はじめてのMBD】カテゴリに、「自動コード生成」を公開しました。
MBD導入のメリットの1つとして、モデルからソースコードを自動生成できることが挙げられます。Simulinkでは、Embedded Coderを使用することで、コード生成が可能になります。ここでは、コード生成のメリットとデメリット、手順、可読性や再利用性を向上させるためのカスタマイズなどを取り上げます。
【Tips/仕様記述のコツ】カテゴリに「マジックナンバー」を公開しました。
ソースコードの中に何らかの意図がある数値が直接埋め込まれているとき、その数値をマジックナンバーと呼びます。値の意味が分からなくてもプログラムは動いてしまうため、「魔法の数字」と呼ばれているわけです。同じことがUSDMの仕様記述でも発生し得ます。これにどのように対処すればよいのか、ご紹介します。
【ドリル/Q-003. 掃除機の制御】カテゴリに「Q-003. 問題」を公開しました。
掃除機の吸引力を制御するモデルを作成してみましょう。吸引状態の遷移をStateflowチャートを使って記述し、吸引力を調節する制御の処理を実装してください。解答は2週間後に公開する予定です。
【ツール/ツールガイド】カテゴリに「多段階仕分けの方法(featureIDEα)」を公開しました。
今回はfeatureIDEを使った多段階仕分けの方法を紹介します。featureIDEのコンフィグレーション機能はシンプルであり、pure::variantsのPartial Configurationのような機能を持ちません。それでも、+αの仕組みを工夫することで、...
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「おすすめのプレイリスト」 、「USDMリファレンス」、「MBD学習」、「SPLリファレンス」、「C++リファクタリング演習」 です。
【はじめてのSPL】カテゴリに、「アプリケーションエンジニアリング」を公開しました。
SPL開発では、ドメインエンジニアリングでコア資産を構築した後、アプリケーションエンジニアリングでそれを再利用して製品資産を構築します。【はじめてのSPL】最終回の今回は、アプリケーションエンジニアリング領域について、各工程の作業内容をご紹介します。
【Tips/非機能要求】カテゴリに「画面仕様の表現のコツ」を公開しました。
人とシステムとをつなぐ「画面」は、現在、ツール等で作ってすぐに確認できるようになったため、詳細な仕様は省略されがちです。ただし、それによって多くの手戻りが発生しているのも事実です。この講座では、USDMで画面の仕様をどのように表現すればよいかを紹介します。
【制御モデルの開発 (アルゴリズムの設計と実装)/外部コードの呼び出し】カテゴリに「C FunctionブロックによるCコードの呼び出し」を公開しました。
SimulinkからCコードを呼び出すための3つの方法のうち、今回はC Functionブロックについて解説します。C Functionブロックでは、C Callerと同様に外部定義関数を呼び出せるほか、ブロック上で直接Cコードを書いたり、シミュレーションのステップをまたいで値を保持したりなどが可能です。
【ツール/ツールガイド】カテゴリに「多段階仕分けの方法(pure::variants)」を公開しました。
前回は、コンフィグレーション工程での資産の選択を段階的に行う「多段階仕分け」について紹介しました。しかし...
いつもEureka Boxをご利用頂き、ありがとうございます。
「XDDP学習」と「USDM演習」のコンテンツを公開しましたのでお知らせします。
【ベーシック/変更のプロセス】カテゴリに「変更要求仕様はBefore/Afterで記述」と「変更の「範囲」が分かるように記述」を公開しました。
前回お伝えした変更要求仕様書作成のポイントのうち、XDDPに関する2点について解説しています。なぜBefore/Afterで記述するとよいのか、なぜ「範囲」を明確にすることが重要なのかをご覧ください。
「変更要求仕様はBefore/Afterで記述」
「変更の「範囲」が分かるように記述」
ビールサーバーの要求仕様を書いてみましょう。解答例・解説は3月25日に公開する予定です。ご解答をお待ちしています!
「【2/25の課題】ビールサーバーの要求仕様」
「【2/25の課題】ビールサーバーの要求仕様」(体験版。お題のみ)
また、「【1/25の課題】回転ずしの要求仕様」の解答例も公開しています。
身近なシステム、自分で考えたシステム、組込みソフト、ビジネスアプリ、スマホアプリなどどんなジャンルでも構いません。
投稿いただいたテーマが採用されると、月次のお題として掲載されます。翌月には解答例も公開されますので、気になるテーマをぜひお寄せください。
※無料プラン会員様はこちらからご応募いただけますが、掲載後の解答・解説コンテンツのご利用には、有料プラン会員登録が必要となります。
今後も、コンテンツは定期的に新規追加・更新してまいります。
引き続き、Eureka Boxをよろしくお願いいたします。
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「おすすめのプレイリスト」 、「XDDP学習」、「MBD学習」、「SPLリファレンス」、「C++リファクタリング演習」 です。
【はじめてのSPL】カテゴリに、「ドメインエンジニアリング」を公開しました。
SPL開発には、後に再利用が可能となるようなコア資産を構築するドメインエンジニアリング領域と、コア資産を再利用して製品資産を構築するアプリケーションエンジニアリング領域があります。ここでは、ドメインエンジニアリング領域について、各工程の作業内容をご紹介します。
【ベーシック/変更のプロセス】カテゴリに「XDDPにおける変更要求仕様書とは」と「変更要求仕様書作成のポイント」を公開しました。
XDDPの変更プロセスにおいて、スペックアウトなどによって変更箇所を調査したら、次は仕様化です。仕様化では、USDM形式で「変更要求仕様書」を作成し、仕様を見える形にします。今回は、XDDPの変更要求仕様書とはどういうものかと、変更仕様書を作成する上で注意すべきポイントについて、2つの講座で紹介します。なお、変更要求仕様書作成のポイントのうち、XDDPに関する2点について解説する講座も、まもなく公開する予定です。
「XDDPにおける変更要求仕様書とは」
「変更要求仕様書作成のポイント」
【制御モデルの開発 (アルゴリズムの設計と実装)/外部コードの呼び出し】カテゴリに「C CallerブロックによるCコードの呼び出し(2)」を公開しました。
前回はC Callerブロックを用いてC関数を呼び出すときの基本的な使い方を紹介しました。今回は、さらに応用的なトピックとして、配列やポインタや構造体を引数・戻り値とする関数の呼び出し方や、グローバル変数の扱い方などを取り上げます。
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「C++リファクタリング演習」 、「USDMリファレンス」、「MBD学習」、「SPLリファレンス」です。
無料&有料プラン会員様
「C++リファクタリング演習」コースおよび「C++リファクタリング演習【体験版】」コースを新たに公開しました。
「C++リファクタリング学習」で学んだ内容に基づいて、コードを書き換えていただく問題を出題します。詳細は先頭にある「演習の進め方」のコンテンツをご覧ください。
今回は【プログラミング規約(型)】カテゴリの問題を5問公開しています。今後、さらに問題を追加していきますのでお楽しみに。
有料プラン会員様
【Tips/他手法との連携】カテゴリに、「ユースケースとの連携」を公開しました。
システムの要件定義をユースケースを用いて実施される方も多いのではないでしょうか。このコンテンツでは、ユースケースについて簡単に紹介した後、作成したユースケース図やユースケース記述をもとにUSDMの要求仕様を作成する方法を解説します。
有料プラン会員様
【制御モデルの開発 (アルゴリズムの設計と実装)/外部コードの呼び出し】カテゴリに「C CallerブロックによるCコードの呼び出し(1)」を公開しました。
前回、SimulinkからCコードを呼び出すための3つの方法を簡単にご紹介しました。今回はその1つ、Callerブロックを用いた方法を掘り下げます。まず、Callerブロックの基本的な使い方である、モデルにC関数を直接インポートする方法を説明します。その後、そのブロックをライブラリ化してライブラリブロックとして利用する方法も解説します。
有料プラン会員様
【Tips/アーキテクチャ設計のポイント】カテゴリに「バインディングタイムの定義事例」を公開しました。
SPL開発では、ユーザーの要望に応じた製品になるよう、必要な資産だけを取得してコンパイルしたり、実行時に設定で切り替えたりします。この取捨選択のタイミング、...
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「クラウド構築と概念検証」 、「MBD学習」、「SPL演習」の3本です。
無料&有料プラン会員様
【プロトタイプをゼロイチで作れるようになろう】カテゴリに、「解答:プロトタイプを構築・実装する (3)」を公開しました。
前回出題した演習の答えを解説します。詳細な手順のほか、参考情報やヒントなどもご紹介しています。
今回で「プロトタイプをゼロイチで作れるようになろう」のコンテンツは終了です。アーキテクチャの仮説を立てるところから、プロトタイプを構築するところまで、流れを追ってきました。皆様の事例にも、ぜひ応用してみてください。
有料プラン会員様
【制御モデルの開発 (アルゴリズムの設計と実装)/外部コードの呼び出し】カテゴリに「Cコードの呼び出し(概要)」を公開しました。
Simulinkでは各種ブロックを組み合わせてロジックを作成しますが、既存のコードを利用したい、ブロックの組み合わせで実装するのが難しいなどの理由で、CやC++などのソースコードをSimulinkモデルに組み込みたいこともよくあります。「外部コードの呼び出し」カテゴリでは、Cコードの呼び出し方法を数回にわたって取り上げます。初回は、Simulinkで提供されている3つの方法について、概要と使い分け方を紹介します。
有料プラン会員様
【車載カメラシステム】カテゴリに「問題:車載カメラシステムの要件定義」を公開しました。
車載カメラシステムの企画書から作成したフィーチャモデルをベースに、要件定義を行ってみましょう。コンテキスト図と要求仕様を作成し、フィーチャとの対応関係を定義してください。
今後も、コンテンツは定期的に新規追加・更新してまいります。
引き続き、Eureka Boxをよろしくお願いいたします。
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「新世代エッジエンジニア育成」、「クラウド構築と概念検証」 、「SPLリファレンス」の3本です。また、「システムエンジニアリング学習」の各コンテンツをリニューアルしました。
無料&有料プラン会員様
【ROS編/ROS2の基礎】カテゴリに、「ROS2プログラミング基礎 - C++編」を公開しました(体験版はこちら)。
前回は、温度計ノード(パブリッシャ)と温度モニターノード(サブスクライバ)をPythonを使って実装しました。その同じ題材を用いて、今回は各ノードをC++で実装します。その後、Pythonによる実装とC++による実装を比較してみます。
無料&有料プラン会員様
【プロトタイプをゼロイチで作れるようになろう】カテゴリに、「演習:プロトタイプを構築・実装する (3)」を公開しました。
今回の演習では、S3のリモコンログを読み込んでドローン代わりのPCに送信するLambdaプログラムを作成します。Lambda関数の作成・アップロードから最終的な結合動作の確認までが対象です。必要となるAWSの概念についても解説しています。
有料プラン会員様
【Tips/アーキテクチャ設計のポイント】カテゴリに「一つの図に可変性を表現しすぎない」を公開しました。
PLアーキテクチャモデルには可変性の情報を定義します。ただし、構造や振る舞いのビューに可変性の情報を愚直に表現していくと、ビューのあちこちに可変点や変異体が散らばり、可読性が低下してしまいます。このコンテンツでは、この問題に対する解決策を紹介します。
有料プラン会員様
これまでご利用いただいた方からのご意見などを踏まえ、よりよくご理解いただけるよう、各コンテンツの内容をブラッシュアップしました。対象は以下のとおりです。
《年末年始に伴うサポート業務休業のお知らせ》
誠に勝手ながら、Eureka Boxは下記の期間を年末年始に伴うサポート業務休業期間とさせていただきます。
【休業期間】
2021年12月30日(金) 2022年1月4日(水)
休業期間中に頂きました
・各種お問い合わせ
・Eureka Boxの全サポート業務
につきましては、休業明けの新年1月5日(木)より順次回答・対応させていただきます。
利用者の皆様には大変ご不便をおかけいたしますが、何卒ご理解のほど、よろしくお願い申し上げます。
いつもEureka Boxをご利用頂き、ありがとうございます。
今週の新規追加コンテンツは、「新世代エッジエンジニア育成」、「MBD学習」 、「SPLリファレンス」、「USDM演習」の4本です。
無料&有料プラン会員様
【ROS編/ROS2の基礎】カテゴリに、「ROS2プログラミング基礎 - Python編」を公開しました(体験版はこちら)。
開発環境が整ったので、ROS2のコマンドを実際に使用してみましょう。今回は、温度を計測する温度計ノードと温度を表示する温度モニターノードをPythonを使って実装します。パブリッシャ/サブスクライバとしてメッセージを受け渡しする方法を具体的に解説します。
有料プラン会員様
【制御モデルからの自動コード生成/生成コードのカスタマイズ】カテゴリに「変数・パラメータのカスタマイズ」を公開しました。
これまで自動生成コードについて、インタフェースやファイル分割などのカスタマイズ方法を見てきましたが、今回は変数・パラメータのカスタマイズを取り上げます。自動生成コード内で記憶クラス(static)や型修飾子(constやvolatileなど)を指定したり、パラメータを定数値で与えたりする方法をご紹介します。
有料プラン会員様
【Tips/アーキテクチャ設計のポイント】カテゴリに「PLアーキテクチャの構造を整理する」を公開しました。
常日頃から設計の構造を整理することなく、場当たり的な機能追加を繰り返していては、品質面で様々な悪影響が発生し、資産のメンテナンス工数が増加してしまいます。SPL開発の場合、一般的な問題だけでなく、可変性が増加することで特有の問題も生じます。この講座では、発生する問題と、具体例、改善ポイントを紹介します。
有料プラン会員様
スマートウォッチの要求仕様を書いてみましょう。解答例・解説は1月25日に公開する予定です。ご解答をお待ちしています!
※本コンテンツは有料会員様限定です。無料会員様向けには「USDM演習【体験版】」...
がリリースされました。
「データサイエンス presented by HogeticLab」はHogetic Labが提供する「Bizschola」のデータサイエンスコンテンツを
Eureka Boxでも学習できるものとなっています。