2014-04-08 6 views
0

머신의 레이아웃을 동적으로 구성 할 수있는 상태 머신 라이브러리가 있는지 묻고 싶습니다. 실제로 메타 스테이트 머신과 스테이트 차트를 확인했지만 동적 구성 가능성을 지원하지 않습니다.동적 상태 머신 라이브러리

나는 리눅스 시스템에서 C++ 프로그래밍을하고 있으며 여러 주들로 구성된 로봇을위한 네비게이션 시스템을 구현하려고한다. 그러나 로봇이있는 상태 시퀀스는 작업 계획 알고리즘에 의해 런타임에 결정될 필요가 있습니다. 이것이 내가 동적 상태 머신을 찾는 이유입니다.

도움을 주시면 감사하겠습니다.

ZQ

+0

Qt QState 클래스 확인 (http://qt-project.org/doc/qt-4.8/qstate.html) – kist

+0

감사합니다. Qstate를 살펴 보겠습니다. – Ethan

답변

0

난 당신이 "동적 상태 기계"에 의해 무슨 뜻인지 확실히 모르겠지만, 상태 머신이 실행시에 "적용"하기위한 표준 메커니즘이있다. 이 메커니즘을 "가드 조건"또는 단순히 "가드"라고하며 상태 전환에 연결할 수 있습니다. 전환은 현재 가드가 TRUE로 평가 될 때만 활성화됩니다. 예를 들어 센서 판독 값이 범위 내에 있으면 상태 시스템이 하나의 상태로 전환 할 수 있지만 그렇지 않은 경우 전환이 수행되지 않거나 다른 전환이 수행됩니다. 거의 모든 상태 머신은 가드를 지원합니다.

방법 및시기 가드를 사용하는 방법 (뿐만 아니라 그들을 학대 방지하는 방법), I는 "기본으로 돌아 가기를"사용할 수 http://www.drdobbs.com/back-to-basics/184401737?pgno=5

0

yasmine에서 내 Dr.Dobbs 기사를 추천 할 것입니다 감각을 개발하려면 빌드 할 수 있습니다 런타임시 상태 시스템. 필요에 따라 상태, 의사 스테이트 및 전환을 동적으로 조합 할 수 있습니다.

1

페 트리 넷 사용에 신경 쓰지 않는다면이 라이브러리가 해결책이 될 수 있습니다 : PTN Engine.