2,...,pm}是一个库所的有限集合,表示系统的状态;
T={t1,t2,...,tn}是一个变迁的有限集合,表示系统的事件P∪T≠Φ,且P∩T=Φ;
I:(PxT)->N是一个连接库所到变迁有向箭头的有限集合,表示系统的输入;
O:(PxT)->N是一个连接变迁到库所的有向箭头的有限集合,表示系统的输出;
M0:P->N是一个初始标记,用来标记库所中的令牌。
以往petri网建模实时系统是对标准Petri网进行时间上的扩展,以适合实时系统建模的需要。Petri网的扩展可以有多种方法,这里我们定义了一种定时约束Petri网(Timing Constraint Petri Net)。
定义2[44]. 定时约束Petri网(TCPN)是一个7元组(P,T,I,O,M0,C,D)。其中
(P,T,I,O,M0)是一个标准Petri网;
C是一个整数对(TCmin(ptj),TCmax(ptj))集,TCmin(ptj)≤ TCmax(ptj),ptj可以是一个库所(place)或一个变迁(transition);
D是一个点燃时段(firing duration)集{FIREdur(ptj)}。
一个具有时间对(TCmin(tj),TCmax(tj))的变迁tj,如果它对应的每个输入的库所至少都有一个令牌,那么它就是使能的。一个变迁是使能的,它就能在时间段(t+TCmin(tj),t+TCmax(tj))被点燃,但不能保证点燃顺利的完成,因为一个变迁的点燃需要花费FIREdur(tj)的时间。
2. 时间自动机
当实时系统是面向控制时,能用时间自动机TA(Timed Automata)建模。时间自动机TA是对有限状态自动机的扩展。
定义3[44]. 时间自动机TA是一个8元组A=(M,m0,C,D,X,E,T,R),其中
M是一个有限模式集合, m0∈M是初始模式;
C是一个时钟变量集合;
D是一个离散变量集合;
X:M->B(C,D)是一个标志模式状态为true的不变式;
E?MxM是一个迁移集合;
T:E->B(C,D)定义了迁移的触发条件;
R:E->2C∪(DxN)是一个分配函数,用于映射迁移到任务集。
实时系统经常用通信网络的时间自动机来建模。时间自动机共享包括时钟和离散的全局变量,时间自动机建模的实时系统的状态空间非常大,并且通过一个较大的时间常数和系统并发度以指数级增长。
3. 进程代数
1988年,P. Aczel等人首次使用共代数方法给出了CCS(Calculus of Communicating Systems)中进程代数(process algebra)的语义,进程代数是一种基于词汇的系统设计和分析的形式化规范语言。通过对CCS的扩展来实现实时系统的建模,产生了实时进程代数。一种实时动态优先级的CCS定义如下[44]:
p::=0 | X | a:k.p | p+p | p◇p | p|p | p[f] | p\L | μx.p ,其中
x是可计算领域V的一个变量;
a是一个动作;
k∈N,N为整数;
f:A→A是一个重新标记(relabeling);
L?A\{τ}是一个约束集合,A是所有动作的集合,τ是内部动作;
在二进制操作,'+'是不确定选择操作符;'◇'是失效(disabling)操作符;'|'是并行操作符;'\'是减操作符。
一般可以通过动作迁移和时钟迁移来定义语义。因此,在实时CCS中,a:k.p是指动作a有一个与它相关的k个时间单元的延迟,并导致进程P。在动态优先级CCS中,a:k.p是指动作有一个优先级k与它相关,并且优先级能被动态的改变。
一个进程p的迁移系统定义为一个4元组(P,A∪{1},→,p)。其中
P是状态集;
A∪{1}是字母表;
→是迁移;
p表示开始状态。
4. 面向对象模型
实时系统经常用面向对象方法建模。在实时系统中,每个过程的线程和资源都能够用一个类来建模,把数据和时间封装在一个类里面,能构造一个即容易升级又安全的系统。通过对标准的面向对象建模语言UML的扩展,实现对实时系统建模的支持。我们将在2.2小节对UML进一步说明。
2.1.5 实时系统的应用
目前实时系统已经渗透到了社会生活的各个领域,在工业、商业和军事等领域都有非常广泛的用途,如在工业控制、敏捷制造、核反应堆、数据通信、信息家电、航空航天、生物医学电子、船舶工程、计算机外设、电信设备、交通运输、国防武器控制和电讯业上都发挥了重要的作用。嵌入式计算机系统也是实时系统的一种应用,而信号分析仪、智能终端、飞机导航系统等都是嵌入式系统。实时嵌入式系统已经成为IT产业争夺的重点领域。
2.2 UML相关概述
2.2.1 UML简介
UML作为面向对象的标准建模语言,它统一了Booch、Rumbaugh和Jacobson的表示方法。UML的定义包括UML语义和UML表示法两个部分:
(1) UML语义:描述基于UML的精确元模型定义,支持对元模型的扩展定义。
(2) UML表示法:定义UML符号的表示法,在语义上它是UML元模型的实例。
UML有用例图、类图、状态图、顺序图、合作图、构件图、配置图、组件图和活动图9类图,能够很好的支持系统建模的各个阶段。一个UML框架包括[45]:
(1) 参考元模型中元素的选择。
(2) 扩展机制。
(3) 框架语义的描述。
(4) 相应的图形符号。
(5) 模型迁移、验证和表示的规则。
UML由上述的9类图和元模型组成,元模型定义UML对象模型的语义,图形表达对象的结构和行为。UML元模型的概念框架是一个基于四层的体系结构[24,46],如图2-2所示。其中元元模型(meta-meta model)层构成了元建模(meta modeling)体系结构的基础结构,主要责任是定义描述元模型的语言。元模型(meta model)层组成UML基本元素,包括面向对象和面向组件的概念,主要责任是定义描述模型的语言,一般在这一层扩展UML来定义特定领域的UML建模框架(例如实时UML等),同样,我们后面章节中所涉及的AOSDM-UML框架也在元模型层定义。模型(model)
图2-2 UML体系结构
Figure 2-2 Architecture of UML
层组成UML的模型,主要责任是定义描述信息论域的语言。用户模型(user model)层是UML模型的实例,主要责任是描述一个特定的信息论域。
2.2.2 UML扩展机制
UML非常适合于非实时软件系统的建模,但是它对于实时系统的某些方面缺少支持,例如对时间约束、信号和独立组件的建模。但是UML提供构造型、标记值和约束来增加新构造块、创建新特性和详述新语义的机制。因此,可以根据三个扩展机制进行实时扩展[47]:
(1) 构造型(stereotype):构造型可以为UML增加新事物和元模型,扩展UML的词汇,创建或者派生出问题域所特殊需要的新的构造块。
(2) 标记值(tagged value):标记值扩展UML元素的特性,允许在元素的说明中增加新的信息,为UML事物增加新特性。
(3) 约束(constraint):约束扩展了UML元素的语义,允许增加新的规则或修改已存在的规则。
这3个扩展机制允许你修改并完善UML以满足你的需要。但你可以不需要这些扩展机制而使用UML。事实上,通过把UML的构造块的变体处理为扩展,能使UML的内核变得更小、更简单。这些扩展是很常用的,目前许多实时UML就是通过上述扩展机制来提供对实时系统的支持。例如:本文通过UML元模型(metamodel)和框架扩展机制(Profile Extension Mechanism)来实现对UML的扩展,从而保证了实时系统及其特性的规范,实现了利用UML构建实时系统正确性的验证。
2.2.3 UML的实时扩展
标准UML没有定义精确的时间概念,并不能对实时系统的时间约束、信号和独立组件等的建模。目前已经有非常多的研究对UML的实时扩展,例如IBM Rational[49] 和Telelogix [50]分别通过把UML 与实时领域ROOM 和电信领域的SDL 结合来使UML 适用于实时系统中,前者被称为UML/Realtime,后者被称为UML + SDL。I-Logix [51]仍然使用标准的UML,但是对状态图的实现却提供了非常强大的功能[52]。这些扩展如图2-3所示[48]。但是这些扩展机制目前都还不是OMG标准的一部分,关于如何实现它还处于讨论之中。
图2-3 UML在实时系统中的各种扩展[48]
Figure 2-3 Real-Time Extensions of UML
图2-4 设置定时器的状态
上一篇:
基于PLC的立体车库控制系统的设计(word文档)
下一篇:
基于JSP邮件收发系统论文