モデル階層とパラメータスコープ
スーパーブロック、コンテキスト、スコープが、どのようにモデル図の階層化を可能にするのかを学びます。
Twin Activateモデルは、スーパーブロックの使用により階層化されています。スーパーブロックは、ブロックと同じように見たり操作したりすることができ、ブロックやリンク、場合によっては他のスーパーブロックからなるダイアグラムを含んでいます。スーパーブロックを使用すると、複数のダイアグラムを含む階層的なモデルになります。
各ダイアグラムには、新しいモデルパラメーターを定義するスクリプトであるコンテキストがあります。スーパーブロックダイアグラムのコンテキスト、その親ダイアグラムのコンテキスト、およびモデル初期化スクリプトで定義されたパラメータは、ダイアグラム内で使用することができます。この場合、あるダイアグラムで利用可能なパラメータは、最も近い親ダイアグラムのコンテキストで定義された変数に対応します。そのため、あるダイアグラムで定義されたパラメータは、同じ名前の新しいパラメータの定義によってその名前がシャドーイングされるまでは、子ダイアグラムで使用することができます。この仕組みをセミグローバルスコープと呼びます。
このスコープの仕組みのおかげで、スーパーブロック内のダイアグラムは必ずしも自己完結的ではありません。スーパーブロックの内部で必要とされ、外部で定義されるパラメータの最小セットは、一意に定義され、自動的に決定することができます。これらのパラメータをスーパーブロック内に提供することで、ダイアグラムは自己完結型になります。これらのパラメータの値を外部から取得し、スーパーブロック内部で定義する方法として、マスクを使用する方法があります。