主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

システムの複雑度を管理する階層の作成

入れ子にされたステートの"階層"を作成することにより,サブコンポーネントごとにモデルに構造を追加します。その後Stateflow®チャートで複数レベルの複雑度を制御できるようになります。詳細については,有限ステートマシンのモデル化を参照してください。

ステートの階層

ステートの階層を作成するには,1つ以上のステートを別のステートの境界内に配置します。内側のステートは,外側のステートの子ステート(サブステート)です。外側のステートは,内側のステートの親(スーパーステート)です。

具有状态层次结构的状态流图。外部状态称为Parent。它包含两个内部状态,分别称为Child1和Child2。

親ステートの内容は,小さなチャートのように動作します。親ステートがアクティブになると,そのいずれかの子ステートもアクティブになります。親ステートが非アクティブになると,その子ステートのすべてが非アクティブになります。

階層の例

この例は,ラジオ,FMラジオ,およびCDプレーヤーで構成されるステレオシステムをモデル化したものです。シミュレーション中は,媒体播放器助手ユーザーインターフェイスのボタンをクリックしてステレオシステムを制御します。

ステレオは最初スタンバイモード(关上)になっています。(无线电请求)ボタンのいずれかを選択すると,ステレオの対応するサブコンポーネントがオンになります。CDプレーヤーを選択した場合,[CD请求]ボタンのいずれかをクリックして再生,巻き戻し,早送り,または停止を選択できます。ディスクの挿入や取り出しはシミュレーション中にいつでも行えます。

ステートの階層を使用した動作の実装

一見して,このステレオシステムの完全実装はかなり複雑に見えます。しかし,一度に1つのアクティビティレベルだけに注目することで,システム全体の段階的な設計が可能になります。たとえば、CDプレーヤーが早送り再生モードに入るには,以下の条件が必要です。

  1. ステレオがオンになっている。

  2. CDプレーヤーがオンになっている。

  3. ディスクを再生している。

  4. UIで(FF)ボタンがクリックされた。

これらの各条件を一度に1つずつ検討する階層的なモデルを作成することができます。たとえば,一番外側のレベルではステレオのオンとオフ間の遷移を定義できます。中間レベルでは,さまざまなステレオサブコンポーネント間の遷移と,CDプレーヤーの停止モードと再生モード間の遷移を定義します。最下位レベルでは,ディスク再生の他の条件がすべて満たされる場合の[CD请求]ボタンへの応答が定義されます。

ステレオシステムの動作を実装するため,sf_mediaplayerは,モデルエクスプローラーの模式管理器チャートの下に一覧表示される,入れ子にされたステートの階層を使用します。モデルエクスプローラーを開くには,[モデル化)タブで[モデルエクスプローラー]を選択します。

嵌套状态的层次结构,如Model Explorer所列。

次の表では,階層内における各ステートの役割をまとめています。

階層レベル ステート 説明
最上位 (模式管理器チャート) 喷射 ディスク取り出しモード(他のすべてのステレオ機能を中断)
NormalOperation ステレオシステムの標準動作モード

ステレオシステムアクティビティ(NormalOperationの子ステート)

备用 ステレオシステムがスタンバイモード(下)
ステレオシステムがアクティブ(上)

ステレオサブコンポーネント(の子ステート)

CDMode CDプレーヤーサブコンポーネントがアクティブ
AMMode 我ラジオサブコンポーネントがアクティブ吗
FMMode 调频ラジオサブコンポーネントがアクティブ

CDプレーヤーアクティビティ(CDModeの子ステート)

停止 CDプレーヤーが停止中
CDプレーヤーがディスクを再生中

ディスク再生モード(の子ステート)

正常的 標準再生モード
倒带 逆再生モード
fastforwar 早送り再生モード

次の図は,チャート内のステートの完全なレイアウトを示しています。

模式管理器图表中的状态安排。

NormalOperationステートとステート内のヒストリジャンクションは,ディスクが取り出されるかシステムがオフになる前に,動作モード(スタンバイまたは)とメディアプレーヤーのアクティブなサブコンポーネント(CDプレーヤー,是ラジオ,または调频ラジオ)を記録します。

例の確認

sf_mediaplayerには,他に2つのStateflowチャートが含まれています。

  • 应用程序接口はUIとのインターフェイスを管理して,入力を模式管理器チャートとCD播放器チャートに渡します。

  • CD播放器应用程序接口チャートと模式管理器チャートからの出力を受け取ってCDプレーヤーの機械動作を模倣します。

金宝app模拟媒体播放器的Simulink模型。该模型包含图表媒体播放器模式管理器和两个额外的图表,用户请求和CD播放器行为模型。

シミュレーション時に,各チャートが媒体播放器助手アプリとのやり取りにどのように応答するかを調査できます。チャート間をすばやく切り替えるには,Stateflowエディターの上部にあるタブを使用します。

関連する例

詳細