致知在格物《礼记·大学》
系统建模是一种形式化的建模方法,规范了系统模型中的元素种类以及元素之间的关系,定义了可以使大家都明白其含义的一系列标识符。因此,系统建模需定义模型的语法并规定评价模型的形式是否合法的一系列规则。系统建模通常会提供一套建模工具,使用这个工具可以设计和实现系统的建模模型。
本章介绍智能嵌入式系统的基本建模方法和技术,包括用于规范离散控制建模的有限状态机FSM、与数据融合的有限状态机FSMD、描述连续与离散的混成自动机HA以及系统级建模语言SysML。系统建模的基本目的是使用形式化方法无歧义地描述物理场景,掌握物理世界的真实知识。
智能嵌入式系统的重要功能之一就是控制离散事件,而控制的本质是系统由一个状态转移到另一个状态,如自动门在开和关状态之间进行转移,列车门自动控制系统也是在开和关状态之间转移,交通灯系统在红灯、黄灯和绿灯之间转移。这些具有有限个状态并进行状态间转移的智能嵌入式系统可以使用有限状态机进行建模。
有限状态机(Finite State Machine,FSM)也称有限状态自动机或有限自动机,是表示有限个状态以及在这些状态之间的转移等行为的形式化模型。有限状态机用于描写一个状态在何种条件下转移到另一个状态,描述状态控制流和转移流。
定义2.1(有限状态机) 有限状态机形式化地定义为4元组( S , I , f , s 1 ),其中 S 是有限状态集{ s 1 , s 2 ,…, s n },其元素称为状态; I 是输入集{ i 1 , i 2 ,…, i m },其元素称为输入; f 是状态转移函数( f : S × I → S ),一般是偏函数,即在一部分元素上有定义; s 1 是初始状态。
一个有限状态机可用带权值的有向图表示,如图2-1所示。
图2-1 有限状态机
图2-1中的有限状态机含有4个状态 s 1 、 s 2 、 s 3 和 s 4 ,2个输入0和1,以及4个状态转移: s 1 → s 2 、 s 1 → s 3 、 s 2 → s 4 和 s 3 → s 4 。这些状态转移与输入有关系,系统的输入触发了系统状态的转移,因此系统输入成了系统状态转移的触发因素。比如, s 1 是初始状态,在 s 1 状态下,当输入元素为0时,自动机从状态 s 1 转移到状态 s 2 ;而当输入元素为1时,自动机从状态 s 1 转移到状态 s 3 。
有限状态机的状态一般表示系统的功能,或者工作状态。如自动门的开状态和关状态,交通灯的红灯状态、绿灯状态和黄灯状态。输入是指有限状态机可以输入的元素,使系统与外界实现了交互,在不同的实际系统中表现形式是不一样的。如自动门的输入是控制信号,表示开信号或关信号;交通灯的输入也是控制信号,表示红灯亮、黄灯亮或绿灯亮。状态转移函数规定了在输入某元素情况后状态的转移情况。如自动门当前状态是关,当输入是开门信号时,状态转移到开。交通灯当前状态是红灯亮,当输入是绿灯信号时,状态转移到绿灯亮。
自动门是指在信号控制下能自动开和关的门。在现代日常生活中经常遇到,如高铁的车厢门、电梯门、地铁站出入口的栅门。
例2.1 旋转式栅门
旋转式栅门(turnstile)是由3个齐腰高旋转柄组成的门,其中一个旋转柄在进道口。旋转式栅门一般安装在地铁站出入口等公共场所的人行道,以控制行人的进出。
初始时旋转柄是锁住的,挡着进口,行人无法通过。当旋转式栅门上的刷卡机扫描交通卡(或投币)成功时,旋转柄就解锁了,可允许一个行人通过。在行人通过后,旋转柄又锁住了。
图2-2 旋转式栅门有限状态机
解:使用有限状态机建模。
状态集 S ={锁住,解锁}
输入集 I ={刷卡,通过}
状态转移函数 f : S × I → S :
(锁住,刷卡)→解锁
(解锁,通过)→锁住
初始状态=锁住
其示意图如图2-2所示。
例2.2 制热空调
制热空调是最简单的一款空调,只能制热不能制冷,而且一旦加热就不能停止,除非关闭空调。
解:使用有限状态机建模。
状态集 S ={加热,关闭}
输入集 I ={开,关}
状态转移函数 f : S × I → S :
(关闭,开)→加热
(加热,关)→关闭
初始状态=关闭
其示意图如图2-3所示。
图2-3 制热空调有限状态机
例2.3 餐巾纸售货机
一款餐巾纸售货机只接收5角和10角,1包餐巾纸价格为15角。
解:使用有限状态机建模。
状态集 S ={0角,5角,10角,15角,20角}
输入集 I ={5角,10角
初始状态=0角}
其示意图如图2-4所示。
图2-4 餐巾纸售货机有限状态机