Boost Statechart库设计理念与需求分析.pdfVIP

  • 0
  • 0
  • 约3.86万字
  • 约 20页
  • 2026-01-26 发布于北京
  • 举报

第1页,共10页

BoostStatechart库‑设计理念

BoostStatechart库

理由

介绍为什么需要另一个状态机框架状态本地存

储动态可配置性错误处理异步状态机用户操

作:成员函数与函数对象限制

介绍

在开发此库的过程中所做的大多数设计决策都是以下需求的结果。

Boost.Statechart应该...

1.完全类型安全。只要可能,类型不匹配应在编译时标记为错误2.不需要使用代码生成

器。许多现有的FSM解决方案强制开发人员使用代码。

r

设计状态机可以采用图形方式或使用语言。然后生成全部或部分代码3.允许轻

松将UML状态图(定义在)转换为工作

状态机。反之,现有的C++状态机实现应该可以相对容易地转换为UML状态图。具体来

说,应支持以下状态机特性:层次化(复合、嵌套)状态正交(并发)状态进入、

和转换动作监护条件浅/深4.当从用户代码C++异常时,产生可定

制的反应5.支持同步和异步状态机,并让用户决定异步状态机运行的线程。用户还应能

够使用他们选择的线程库6.支持开发任意大小和复杂度的状态机。多个开发者应能够同

时在同一状态机上工作7.允许用户自定义所有,以便该库可用于具有严格实时

要求的应用程序8.尽可能在编译时强制执行。具体来说,无效的状态机不应通过编译9.为

广泛的应用合理的性能

为什么还需要另一个状态机框架?

TheBoostStatechartLibrary-RationalePage1of10

TheBoostStatechart

Library

Rationale

Introduction

Whyyetanotherstatemachineframework

State-localstorage

Dynamicconfigurability

Errorhandling

Asynchronousstatemachines

Useractions:Memberfunctionsvs.functionobjects

Limitations

Introduction

Mostofthedesigndecisionsmadeduringthedevelopmentofthislibraryaretheresultofthe

followingrequirements.

Boost.Statechartshould...

1.beful

文档评论(0)

1亿VIP精品文档

相关文档