このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
論理演算のショートサーキット
ショートサーキットは、&& (AND) 演算子および || (OR) 演算子を含む論理式によって示されます。
&& 演算子を含む論理式は、左辺の式が false と評価されると式全体も false と評価されます。この場合、左辺の式によって結果が既に確定しているため右辺の式は評価されません。
同様に、|| 演算子を含む論理式の場合、左辺の式が true と評価されると、左辺の式によって結果が確定するため右辺の式は評価されません。このショートサーキットを使用した論理式の評価は、結果が既に確定している場合の不要な評価を回避して実行を最適化するのに役立ちます。
Condition オブジェクティブおよび MCDC オブジェクティブのショートサーキットの動作
Condition オブジェクティブおよび MCDC オブジェクティブの論理演算子と論理式は、デッド ロジックの解析時やテストの生成時に、ショートサーキットと見なされる場合と見なされない場合があります。次の表は、その違いについての考慮事項をまとめたものです。
Condition オブジェクティブおよび MCDC オブジェクティブのショートサーキットについての考慮事項:
| モデリング要素 | Condition オブジェクティブおよび MCDC オブジェクティブのショートサーキットについての考慮事項 |
|---|---|
論理ブロック (スタンドアロン/カスケード) |
|
Enabled Subsystem |
|
| Triggered Subsystem |
|
| Enabled and Triggered Subsystem |
|
MATLAB®、Stateflow® (C または MATLAB をアクション言語として使用)、その他の Simulink® ブロック (Fcn、If) |
|
Condition オブジェクティブのショートサーキットの動作
次の表は、Condition オブジェクティブについて、CovLogicBlockShortCircuit パラメーターによる違いをまとめたものです。
CovLogicBlockShortCircuit パラメーターに基づく Condition オブジェクティブのショートサーキットについての考慮事項
| ブロック | Condition オブジェクティブ | CovLogicBlockShortCircuit が ON の場合の条件式 | CovLogicBlockShortCircuit が OFF の場合の条件式 |
|---|---|---|---|
3 つの端子をもつ論理 |
| (in1 && ~in2) | (~in2) |
3 つの端子をもつ論理 |
| (~in1 && ~in2) | (~in2) |
式 (u1 && u2 && u3) を含む MATLAB 関数またはチャート | 'u2' | (u1 && ~u2) | (u1 && ~u2) |
MCDC オブジェクティブのショートサーキットの動作
次の表は、CovLogicBlockShortCircuit パラメーターに基づいて変化するオブジェクティブの違いをまとめたものです。
CovLogicBlockShortCircuit パラメーターに基づく MCDC オブジェクティブのショートサーキットについての考慮事項:
| ブロック | MCDC オブジェクティブ | CovLogicBlockShortCircuit が ON の場合の MCDC の式 | CovLogicBlockShortCircuit が OFF の場合の MCDC の式 |
|---|---|---|---|
3 つの端子をもつ論理 | 入力端子 2 が | (in1 && ~in2) | (in1 && ~in2 && in3) |
入力端子 2 が | (in1 && in2 && in3) | (in1 && in2 && in3) | |
式 (u1 && u2 && u3) を含む MATLAB 関数またはチャート | 入力端子 2 が | (in1 && ~in2) | (in1 && ~in2) |
入力端子 2 が | (in1 && in2 && in3) | (in1 && in2 && in2) |
メモ
MCDC 式がカスケードされたロジックから派生している場合、論理ブロックと同様の定義に従います。
詳細については、カスケード論理ブロックの MCDC の解析 (Simulink Coverage)の「MCDC の論理式のショートサーキット」を参照してください。
Condition と MCDC の結果に対する CovLogicBlockShortCircuit パラメーターの影響
場合によっては、CovLogicBlockShortCircuit パラメーターに基づいて MCDC オブジェクティブのカバレッジ結果が次のように変わることがあります。
CovLogicBlockShortCircuit パラメーターが OFF の場合、すべての入力が検討されます。

CovLogicBlockShortCircuit パラメーターに基づく Condition オブジェクティブのショートサーキットについての考慮事項:
| ブロック | Condition オブジェクティブ | CovLogicBlockShortCircuit が ON の場合の Condition の式 | CovLogicBlockShortCircuit が OFF の場合の Condition の式 |
|---|---|---|---|
3 つの端子をもつ論理 |
| (in1 && in2 && ~in2) (デッド ロジック) | (~in2) (アクティブ ロジック) |
CovLogicBlockShortCircuit パラメーターに基づく MCDC オブジェクティブのショートサーキットについての考慮事項:
| ブロック | MCDC オブジェクティブ | CovLogicBlockShortCircuit が ON の場合の MCDC の式 | CovLogicBlockShortCircuit が OFF の場合の MCDC の式 |
|---|---|---|---|
3 つの端子をもつ論理 | 入力端子 2 が | (in1 && ~in2) (アクティブ ロジック) | (in1 && ~in2 && in2) (デッド ロジック) |