조건식 설명 검사
검사 ID: mathworks.jmaab_v6.mp_0022
지침: mp_0022: 조건식 기술 방법
설명
조건식이 다음 지침을 따르는지 검사합니다.
while,if,if-else표현식은 단일 논리 값인true또는false로 평가됩니다.while,if,if-else또는switch표현식의 각 줄에 있는 이항 연산자의 수가 허용되는 최대값을 초과하지 않습니다.이 조건은 이항 연산자에 적용됩니다.
while,if,if-else또는switch표현식에 논리 연산자가 포함되어 있고 표현식 중간에 줄 바꿈이 하나 이상 있는 경우 다음 조건 중 하나가 충족됩니다.표현식 중간에 줄바꿈이 논리 연산자 바로 뒤에 나타납니다.
표현식 중간에 줄바꿈이 논리 연산자 바로 앞에 나타납니다.
이 조건은 논리 연산자
&,&&,|,||에 적용됩니다.
이 검사는 다음 타깃 컴포넌트에 적용됩니다.
Simulink®에 있는 MATLAB Function 블록.
Stateflow® 차트에 내장된 MATLAB® 함수.
Stateflow MATLAB 차트에 있는 상태, 천이, 진리표.
모델에서 참조하는 외부 MATLAB 파일.
이 검사를 사용하려면 Simulink Check™ 라이선스가 필요합니다.
파라미터화 검사
이 검사에는 JMAAB 모델링 지침에 지정된 하위 ID에 해당하는 하위 검사가 포함되어 있습니다. 모델 어드바이저 구성 편집기를 사용하여 실행할 하위 ID(하나 또는 여러 개)를 지정할 수 있습니다.
참고로, JMAAB 모델링 표준 기관에서 사용하도록 권장하는 지침 하위 ID는 다음과 같습니다.
JMAAB — a, b, c1/c2
모델에서 참조된 외부 .m 파일 검사를 선택하여 .m 확장자를 가진 파일을 분석에 포함합니다. 해당 체크박스는 기본적으로 선택되어 있습니다.
조건식의 각 줄에 허용되는 이항 연산자의 최대 개수를 지정하려면 한 라인에 있는 이항 연산자 개수 상자에 값을 입력합니다. 디폴트 값은 3입니다.
결과 및 권장 조치
| 지침 하위 ID | 상태 | 권장 조치 |
|---|---|---|
| mp_0022_a: 조건식의 값 검사 | 하나 이상의 while, if 또는 if-else 표현식이 단일 논리 값 true 또는 false로 평가되지 않습니다. | while, if, if-else 표현식을 다시 작성하여 단일 논리 값인 true 또는 false로 평가되도록 하십시오. |
| mp_0022_b: 한 라인에 있는 이항 연산자 개수 검사 | 하나 이상의 while, if, if-else 또는 switch 표현식의 각 줄에 있는 이항 연산자의 수가 허용되는 최대값을 초과합니다. | while, if, if-else 또는 switch 표현식의 각 줄에 있는 이항 연산자의 수를 한 라인에 있는 이항 연산자 개수 입력 파라미터로 지정한 값으로 제한합니다. |
| mp_0022_c1: 복잡한 조건식의 형식 검사 | 논리 연산자를 포함하는 하나 이상의 표현식 중간의 줄 바꿈이 논리 연산자 바로 뒤에 와야 합니다. | while, if, if-else, switch 표현식을 다시 작성하여 표현식 중간의 각 줄 바꿈이 논리 연산자 바로 뒤에 오도록 하십시오. |
| mp_0022_c2: 복잡한 조건식의 형식 검사 | 논리 연산자를 포함하는 하나 이상의 표현식 중간의 줄 바꿈이 논리 연산자 바로 앞에 나와야 합니다. | while, if, if-else, switch 표현식을 다시 작성하여 표현식 중간의 각 줄 바꿈이 논리 연산자 바로 앞에 오도록 하십시오. |
기능 및 제한 사항
Stateflow 차트의 상태와 천이를 분석하지 않습니다.
조건식의 첫 번째 줄 뒤에 있는 코드가 들여쓰기되었는지 검사하지 않습니다. 기본적으로 MATLAB은 들여쓰기를 활성화하고 들여쓰기 크기를 설정합니다. 들여쓰기 크기를 보려면 홈 탭의 환경 섹션에서 기본 설정을 클릭하고 MATLAB > 편집기/디버거 > Tab으로 이동하십시오. 여기서 들여쓰기 크기 상자에 입력된 값을 확인하십시오.
라이브러리와 링크된 블록의 내용을 분석합니다. 기본적으로 입력 파라미터 Follow links는
on으로 설정됩니다.마스크 처리된 서브시스템의 내용을 분석합니다. 기본적으로 입력 파라미터 Look under masks는
graphical로 설정됩니다.라이브러리 모델에서는 실행되지 않습니다.
블록과 차트를 제외할 수 있습니다.
Truth Table (Stateflow) 블록과 Stateflow 천이 테이블을 지원합니다.