C 언어로 Rational Rhapsody에서 MicroC 프로파일을 사용하여 작성된 프로젝트의 경우,
상태 차트 코드를 생성하는 기능을 대상 마이크로 제어기에 보다 효율적으로 사용할 수 있습니다.
이 구현에서 생성된 상태 차트 코드는 상태 전이 처리를 최적화하는 하향식 알고리즘을 사용합니다. RAM, ROM 이용 및 코드 크기면에서
효율성을 달성할 수 있습니다.
상태 차트에 대해 최적화된 하향식 코드를 생성할 수 있는 기능은
C_CG::Configuration::StatechartImplementation 특성(OptimizedTopDown으로 설정해야 함)을
통해 활성화됩니다. 이 기능을 활성화한 후, C_CG::OptimizedTopDownStatechart 메타클래스의 특성을 사용하여
상태 차트에 대해 하향식 코드 생성 최적화를 제어하십시오.
최적화
최적화된 하향식 상태 차트 기능은
광범위한 코드 문서화 및 특성을 통해 제어되는 다양한 코드 최적화를 포함합니다. C_CG::OptimizedTopDownStatechart::AllowCodeOptimization 특성(선택으로 설정해야 함)을
통해 이러한 최적화를 사용할 수 있습니다.
코드 문서화의 경우,
C_CG::OptimizedTopDownStatechart::AddCodeDocumentation 특성(최적화된 하향식 상태 차트 코드가
상태 차트 구현 함수, 상태 전이 및 상태의 정적 반응에 대한 주석을 포함할 수 있게 함)을 사용하십시오.
코드 최적화의 경우,
C_CG::OptimizedTopDownStatechart 메타클래스의 다음 특성을 사용하십시오.
- ClutchEntranceToStateHierarchy - 가능한 경우 상태 계층 구조의 가장 안쪽 상태에 진입하도록
최적화된 하향식 상태 차트 코드를 최적화할 수 있게 하려면 "선택"으로 설정하십시오.
- EmptyOverlappingTestsForStateHierarchy - 상태 계층 구조가 있는 경우 비교 겹침을 건너뛰어
제어가 주변 상태에 진입하지 않은 경우 내부 상태에 있을 수 없도록
최적화된 하향식 상태 차트 코드를 최적화할 수 있게 하려면
선택으로 설정하십시오.
- InlineEnteringExitingReactions - 진입 및 종료 반응 함수를 생성하지 않도록
진입 및 종료 상태 반응을 인라인하기 위해 최적화된 하향식 상태 차트 코드를 최적화할 수 있게 하려면
선택으로 설정하십시오.
- InlineMaxTranstionsCriteria - 다음과 같이
최적화된 하향식 상태 차트 코드를 최적화할 수 있게 하려면 숫자로 설정하십시오.
상태 차트 코드 끝에는 현재 단계에서 상태 전이가 이루어졌는지 여부를 테스트하는 섹션이 있습니다. 다른 단계가 필요한지 여부에 대한 테스트는
진입 중인 상태에 대한 정보를 저장하는 상태 변수를 사용합니다. 이 옵션을 선택하면,
다른 단계의 필요성을 플래그 지정하는 코드가 상태 전이 코드에 인라인으로 배치되며
상태 변수가 필요하지 않습니다. 이 옵션을 선택하면, 사용자가 허용할 최대 상태 전이 수를 입력할 수 있습니다.
실제 상태 전이 수가 이 숫자보다 큰 경우, 최적화가 수행되지 않습니다.
- InlineRootStateDefaultTransitionTest - 기본 상태 전이에 대한 테스트를
다른 상태 전이 테스트에 인라인하도록 최적화된 하향식 상태 차트 코드를 최적화할 수 있게 하려면
선택으로 설정하십시오.
- MergeStateSequenceWithNoGuard - 가능한 경우 상태 전이에 대한 보호가 있는 상태 시퀀스를
단일 상태에 병합하기 위해 최적화된 하향식 상태 차트 코드를 최적화할 수 있게 하려면
선택으로 설정하십시오.