基于UML的硬实时工作流建模技术

2015-12-23 01:11樊志强
计算机工程与设计 2015年11期
关键词:控制流实例约束

徐 珞,石 晶,樊志强,郝 博

(1.华北计算技术研究所,北京100083;2.中国电子设备系统工程公司研究所,北京100141)

0 引 言

实时系统中工作流的特殊性主要体现在时间约束上。国内外现有关于工作流时间约束的研究因应用情况的不同而有所差异,但基本上都认为要在活动上增加时间约束[1-7],严格限制活动的最短执行时间和最长执行时间,也有一些学者认为应该对迁移进行时间约束[3,5,6](前一活动结束到后一活动开始的时间),限制迁移的最短时间和最长时间。Hai等[6]还对活动增加了实际执行时间的属性,该属性的值在活动具体执行后才能确定,但要在最短执行时间和最长执行时间之间;Jin等[8]虽然也对活动增加了时间约束,但其将活动分为关键活动和非关键活动,对关键活动限制了执行时间的范围,对非关键活动进行不精确的时间限制;Du Yanhua等[9]提出一种对工作流进行模糊时间约束的方法。

按照对时间约束的严格程度,实时系统分为硬实时系统和软实时系统,硬实时系统要求必须在规定时间内完成活动,而软实时系统则没有这么严格[10]。对于硬实时系统中的工作流,除了上述文献中提出的应在活动和迁移有时间约束外,活动间传递的数据同样需要进行时间约束,用以表示数据的生命周期。因为在硬实时系统中,有些数据超过一定的时间后就会没有意义或失效,如一些设备的状态数据。此外,上述文献还缺乏对数据与活动关系的明确描述,如不能说明对数据实例是引用还是消耗。因此,提出一种基于UML的硬实时工作建模技术以解决这些问题。

1 硬实时约束的工作流元模型

Chang E等[11]提到的大型复杂实时系统工作流描述需要考虑的5个因素:①可以预计环境的变化;②异常处理;③工作流的动态改变;④工作流的可组合性;⑤时间约束。结合硬实时系统中工作流的特点,给出如图1所示的硬实时约束的工作流元模型。

图1 硬实时约束的工作流元模型

1.1 基本元素

(1)活动:活动是工作流中最基本的元素,可以分为4种类型:①执行活动:是不可再分的原子活动,代表一个具体的业务操作;②工作流:表示工作流的组合关系 (体现工作流的可组合性);③标志活动:标志工作流的开始和结束,包括开始活动和结束活动;④逻辑活动:工作流管理联盟定义了6 种基本逻辑关系,分别为串行、与分支(并发)、与连接 (同步)、或分支、或连接及循环,为了更好的表示这些逻辑关系,我们给出4种逻辑活动,分别是与分支活动、与连接活动、或分支活动及或连接活动,这些逻辑活动的组合能够更好的表现工作流的动态情况 (体现对环境变化的预计及工作流的动态改变)。

(2)数据:数据是指工作流中的执行活动产生的信息,根据不同的用途,分为应用数据和控制数据,应用数据在其它执行活动执行时使用,而控制数据在或分支活动执行时使用。

(3)数据池:数据池是工作流中应用数据实例存储的地方,可以存储多种类型的数据实例,当数据实例到达生命周期的时间约束后将被删除。

(4)控制流:控制流是连接活动的有向线,表示了活动的执行顺序。控制流可以携带多种类型的控制数据实例。异常流 (体现异常处理)作为一种特殊控制流,表示发生异常时活动的转移情况,本文只考虑了超时异常。

(5)对象输出/输入流:对象输出流是连接执行活动至数据池的有向线,对象输入流程是连接数据池至执行活动的有向线,二者都携带了一种或多种类型的应用数据实例。对象输入流又分为对象引用流程和对象消耗流,分别表示对应用数据的引用和消耗。

(6)应用系统:应用系统是指参与工作流执行,完成执行活动的硬实时系统。

(7)硬实时约束:元模型中对活动、控制流和应用数据增加了硬实时约束 (体现时间约束)。时间约束的方式有6种[12]:①基本时序约束;②流延迟和时差;③有限延迟约束;④截止期限;⑤时间距离约束;⑥固定日期约束。相比而言,基本时序约束更适于表示硬实时约束,因此本文采用基本时序约束。

硬实时约束有4个属性:最短持续时间 (Tmin)、最长持续时间 (Tmax)、实际持续时间 (Trun)及时间单位(Unit)。其中,Tmin、Tmax 和Trun 为大于零的实数,Unit为枚举类型 (有毫秒、秒、分、时等)。Tmin、Tmax、和Unit在工作流建模时确定,Trun在工作流执行后才能确定,但Tmin≤Trun≤Tmax。需要特别说明的是应用数据的硬实时约束表示数据实例的生命周期,即数据实例产生后在多长时间范围内有效,用Tmax来表示,对于应用数据,Tmin和Trun没有意义。

1.2 约束规则

元模型有几点约束规则:①工作流中至少要有一个初始活动和结束活动,当有多个开始活动和结束活动时,工作流从所有的开始活动开始,到所有的结束活动结束为止;②工作流中所有的活动都通过控制流连接在一起,不能存在孤立的活动;③工作流中若存在循环的逻辑关系,则要通过控制流的 “条件信息”保证不存在死循环的情况;④只有或分支活动后引出的控制流才有条件信息,并且有且仅有一个控制流的条件能满足。

2 硬实时约束的工作流建模方法

工作流的主要建模理论有流程图、状态图、活动网络图、IDEF、Petri网[13]及UML 活动图[14]。流程图、状态图、活动网络图的优点是简单、直观、易理解,但却难以表达较复杂的逻辑关系,IDEF、Petri网和UML 活动是3种常用的过程建模方法,IDEF和UML 简单、易懂、容易使用且可以表达复杂的逻辑关系,但不支持不确定信息的表示,Petri网在这方面有明显的优势,但其可读性较差,不利于理解和交流。鉴于本文的目的是提供一种简单、直观、易理解的工作流描述方法,且UML 活动图与IDEF相比,UML具有良好的扩展机制,并在实时系统的建模中得到认可[12]。因此,本文选用UML 活动图作为基础。通过UML的Profile机制对UML元素进行扩展,定义硬实时约束的工作流建模语言 (hard real-time constrained workflow description language,HRT-WDL)。

2.1 HRT-WDL

HRT-WDL首先利用了UML的<<Merge>>关系重用了UML2.0中活动图和类图的部分元素,然后使用Profile机制进行扩展。HRT-WDL中包含Data和Workflow 两个子包,分别定义了数据和工作流的建模元素。Data包中的元素有应用数据、控制数据、泛化关系、聚合关系、组成关系。Workflow 包中的元素有工作流、开始活动、结束活动、与分支活动、或分支活动、与连接活动、或连接活动、执行活动、数据池、控制流、异常流、对象输出流、对象引用流、对象消耗流和应用系统。

表1给出HRT-WDL的建模元素对应的扩展型、基元素及扩展属性。扩展分为两部分:工作流的扩展和数据的扩展。工作流的扩展主要体现为硬实时约束,工作流、执行活动、开始活动、结束活动、与分支活动、或分支活动、与连接活动、或连接活动、控制流和异常流都扩展了硬实时约束的4个属性。此外,控制流、对象流输出流、对象引用流、对象消耗流还扩展了DataType属性,用来表示携带的数据实例的类型。应用数据和控制数据的元类是Class,但约束二者没有操作,应用数据还扩展了硬实时约束的Tmax和Unit两个属性。

表1 硬实时约束工作流的扩展型

2.2 HRT-WDL多视图建模

使用HRT-WDL可以从数据和工作流两个视角进行建模。采用UML的类图来描述工作流中使用的数据及数据之间的关系,称为数据视图;使用UML的活动图来描述有硬实时约束的工作流,称为工作流视图。两个视图通过控制流、对象输出/输入流和数据池中的DataType属性联系起来。

此外,在多视图建模中,工作流中使用的数据类型必须要在数据视图中有描述。

3 应用实例

船舶指控系统是一种对实时性要求较高的系统,很多任务有严格的执行时间限制,我们选取对空作战中的部分流程,使用HRT-WDL进行描述。如图2所示。具体执行过程如下:对空指挥系统下达舰空弹目指命令 (舰空弹目指活动),输出应用数据TargetIndication,舰空弹系统根据接收到的目指数据对目标进行解算 (舰空弹目标结算活动),并输出控制信息TargetResolve,若结算成功,对空作战指挥系统下达舰空弹允许发射命令 (舰空弹允许发射活动),舰空弹系统发射舰空弹打击目标 (舰空弹发射);若解算失败或结算超时,则工作流结束。图3是工作流中使用到的应用数据和控制数据的模型,表2是工作流中部分元素扩展属性的值。

图2 工作流模型

图3 数据模型

表2 扩展属性的值

4 结束语

针对实时系统中工作流描述需要考虑的因素,提出了一种硬实时约束的工作流元模型,并重点分析了硬实时系统中工作流的时间约束。在此基础上分析比较了多种建模理论,使用UML 的Profile机制对UML 的部分元素进行扩展定义了一种硬实时约束的工作流描述语言HRT-WDL。使用HRT-WDL可以直观、有效的对硬实时系统中的工作流进行建模,便于相关人员进行交流,为系统中工作流的设计和开发提供了基础。本文的研究是进行硬实时约束工作流时间分析以及工作流管理系统开发的基础。

[1]Lu B,Xin Z,Yu Z.A workflow model based on extended multi-dimensional workflow net and performance analysis[C]//International Conference on Earth Science and Remote Sensing,2012,291-296.

[2]Huaiqing W,Qingtian Z.Modeling and analysis for workflow constrained by resources and nondetermined Time:An approach based on petri nets [J].IEEE Transactions on Systems,Man and Cybernetics,Part A:Systems and Humans,2008,38 (4):802-817.

[3]Jianqiang L,Yushun F,Mengchu Z.Timing constraint workflow nets for workflow analysis [J].IEEE Transactions on Systems,Man and Cybernetics,Part A:Systems and Humans,2003,33 (2):179-193.

[4]Lin F,Hao J.Analysis of workflow schedulability based on time constraint petri nets[C]//10th International Conference on Computer Supported Cooperative Work in Design,2006:1-5.

[5]De Maria E,Montanari A,Zantoni M.An automaton-based approach to the verification of timed workflow schemas[C]//Thirteenth International Symposium on Temporal Representation and Reasoning,2006:87-94

[6]Hai Z,Pung HK,Cheung TY.Timed workflow:Concept,model,and method [C]//Proceedings of the First International Conference on Web Information Systems Engineering,2000:183-189.

[7]Tiplea FL,Macovei GI.Timed workflow nets[C]//Seventh International Symposium on Symbolic and Numeric Algorithms for Scientific Computing,2005.

[8]Jin HS,Jung HK,Myoung HK.Hard/soft deadline assignment for high workflow throughput[C]//International Sym-posium on Database Applications in Non-Traditional Environments,1999:359-365.

[9]Du Yanhua,Yushun F.Modeling and Simulation of extended fuzzy timing workflow nets based on possibility theory [C]//Fourth International Conference on Fuzzy Systems and Knowledge Discovery,2007:190-195.

[10]Ping Z,Fumin Y,Gang T.Fault-tolerant rate-monotonic compact-factor-driven scheduling in hard-real-time systems[J].Wuhan University Journal of Natural Sciences,2010,15 (3):217-221.

[11]Chang E,Gautama E,Dillon TS.Extended activity diagrams for adaptive workflow modelling [C]//Fourth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing,2001:413-419.

[12]LI Huifang,FAN Yushun.Overview on managing time in workflow systems[J].Journal of Software,2002,13 (8):1552-1558 (in Chinese).[李慧芳,范玉顺.工作流系统时间管理 [J].软件学报,2002,13 (8):1552-1558.]

[13]Guoyin J,Lihong D.Comparative research of modeling methods for workflow process[C]//International Symposium on Electronic Commerce and Security,2008:976-980.

[14]OMG.OMG unified modeling language (OMG UML),superstructure,V2.1.2[EB/OL].[2008-01-10].http://www.omg.org/docs/formal/07-11-02.pdf.

猜你喜欢
控制流实例约束
“碳中和”约束下的路径选择
抵御控制流分析的Python 程序混淆算法
工控系统中PLC安全漏洞及控制流完整性研究
抵御控制流分析的程序混淆算法
约束离散KP方程族的完全Virasoro对称
适当放手能让孩子更好地自我约束
基于控制流隐藏的代码迷惑
完形填空Ⅱ
完形填空Ⅰ
不等式约束下AXA*=B的Hermite最小二乘解