MBSE建模学习之六:状态机和状态机图

学习和应用基于模型的系统工程(MBSE)技术,离不开软件工具的支持。可在www.zhiruisiwei.com网站服务页面下载中文版、国产化的MBSE建模软件工具:智睿思维基于模型的系统工程软件(MBSES)。本文中的图形和案例全部使用MBSES制作。请关注公众号“智睿思维MBSE”,获取最新的软件更新消息和最新技术文章,以及MBSES软件在线用户手册。发消息给客服(关注公众号后,点击左下角小键盘图标,然后像微信聊天一样发送消息),可免费获取电子版学习资料。如果您在学习MBSE技术中有任何问题,也可以发消息给客户。

目录

状态机(StateMachine)

状态(State)

转移(Transition)

触发器(Trigger)

触发器的事件类型

组合状态(CompositeState)

伪状态(Pseudostate)

终态(FinalState)

状态机图的案例


状态机(StateMachine

状态机(StateMachine)用于表示事件驱动的行为。在状态机图中,用系统的不同状态之间事件驱动的转移机制来说明一系列的行为发生过程。它一般作为一个模块(Block)的类目行为(ClassifierBehavior)。类目行为是一个类(如模块)从开始工作,一直到结束的整个过程的行为。一个模块只有一个类目行为。它也可以作为模块的一个普通的拥有行为(OwnedBehavior),表示模块的一种功能。

和活动(Activity)一样,状态机同时也是一种模块(Block)元素。一个复杂的状态机行为可以进行分解。在上层的状态机行为中,通过一个“子机状态”(SubmachineState)元素表示对下层或其它状态机的调用。

作为行为,状态机的发生一样需要规定发生的语境(Context)。如果状态机是某个模块的类目行为或拥有行为,则这个模块是状态机的语境;否则它自己是它的语境。状态机中的状态的内部行为(entry、do及exit)如果没有明确的语境,则它们的语境是这个状态机的语境。

状态机是通过状态机中的状态(State)以及状态是如何转换的来说明系统的行为过程。状态机中的状态(State)和转移(Transition)不像活动图中的动作(Action),它们本身并不说明究竟这个行为是如何把一个输入的信息(或其它物质)转为输出的信息(或其它物质)。(动作—Action中,可以通过语句或专用的动作类型来说明对象的生成、变换或删除等)但是,在状态和转移中可以包含其它行为(如一个活动),它可以用它包含的行为来说明具体是转换的细节。状态机更像是把系统的行为串联起来的一种作用,它着重展现的是系统在这个行为之间所处的状态,以及状态是在什么时机,或通过什么机制来转换的(这个时机被定义为触发器,这个机制是触发器的事件)。所以它适合作为系统的整个工作过程的总体说明,例如用来说明系统工作的任务阶段说明。

状态(State

状态(State)是系统处于某种工作状态一种表示方法。状态除了有一个名称外,状态的“状态不变量”(StateInvariant)属性说明了系统处于这个状态的条件。“状态不变量”是一个约束(约束通常表示为一个等式或不等式),当系统处于这个状态的时候,应该满足这个约束(约束表达式的值应该是True)。

状态并非静态的概念。当系统进入、保持和退出一个状态的时候,都伴随着行为的发生。这三种行为称为状态的“entry”、“do”和“exit”内部行为。这三种内部行为,可以仅仅是一段文字描述(对应一个不透明行为),或者具体活动(Activity)、交互(Interaction)或另外一个状态机元素。这三个行为的发生顺序是:当系统进入这个状态的时候,先执行“entry”行为;执行完毕之后,如果有“do”行为,则执行。当有一个引发状态转移的事件发生的时候,在系统离开这个状态之前,执行“exit”行为(如果此时,“do”还没有执行完,则中断“do”的执行)。

状态用一个圆角矩形表示。其中的文字用“状态名称[状态不变量表达式]”表示。在“智睿思维基于模型的系统工程软件”(MBSES)中状态的内部行为可以通过属性框设置是否显示。下图是“开机”状态的两种显示方式。

有三种具体的状态类型。这三种状态都具有以上状态的这些基本特征。其中,简单状态(SimpleState)代表一个普通的状态。组合状态是可以包含其它状态的状态;子机状态是代表另外一个状态机的状态。在进一步说明其它状态类型之前,先搞清楚状态的转移是如何发生的。

转移(Transition

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值