第一范文网 - 专业文章范例文档资料分享平台

软件过程建模方法研究(22)

来源:用户分享 时间:2021-06-01 本文由明净日夜 分享 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

538

Development

Process Journal of Software 软件学报 Vol.20, No.3, March 2009

Fig.8 TRISO Model Fig.9 The dynamic semantics model of TRISO Model Model 动态语义[53] 图8 TRISO Model 集成示意图[49] 图9 TRISO integrationFig.10 Framework for the representation and analysis of TRISO/ML

图10 TRISO/ML表示和分析框架

关于TRISO/ML的详细定义可参见文献[47],下面将分别讨论TRISO/ML如何支持软件过程的文档化、执行、分析、演化以及分布式执行.

文档化.TRISO/ML采用面向行为(behavior oriented)的方式来描述软件过程,该语言提供了如图11所示的图形化符号用以描述行为间的并发、顺序和选择,基于通道的信息传递和同步.另外,可以通过注释(annotation)的方式表示其他信息.

执行.对于图形化的TRISO/ML过程,可以通过一系列的规则将其转换为多元π演算表达式.下面的规则说明了如何将一个包含活动和简单角色的TRISO/ML过程转换为多元π

演算表达式:

ParallelChoiceActivity

Fig.11 Notations of TRISO/ML

图11 TRISO/ML图形化表示符号

李明树 等:软件过程建模方法研究

539

规则1. 过程中人员的转换规则.假定一个角色或者执行人员用唯一的标识符ac来表示,则其对应的多元π演算表达式为

defAac ).=assignac(start,endstart.end.Aac|Aac.

上述规则表明:ac的初始状态为空闲,在被分配任务时将得到与任务相关的两个通道start和end,而所要执行的任务何时开始将取决于ac,当其向start通道发送启动信号后,相应的活动将开始被执行,而在该任务完成后,ac将从end通道接收到任务完成的信号,从而ac将再次恢复到空闲的状态.

而对于表示活动的节点,其π演算进程是由分别表示输入、输出和执行的3个子进程并发组成.若I表示输入子进程,O表示输出子进程,E表示执行子进程,则规则2~规则6描述了如何表示TRISO/ML中的一个活动 节点.

规则2. 活动的转换规则.对于一个活动节点a,若其从通道chi1,…,chil分别接收到{b11,…,b1m},…,{bl1,…, bln},从通道exap_a接收(p1,…,pu),然后通过通道cho1,…,chor分别将{c11,...,c1s},...,{cr1,...,crt}发送出去,并且将 {r1,...,rv}通过通道exa_ap返回给其父节点ap,则活动a的π-演算表达式为

defAa=(νi1,...,il,io)(Ias i1,...,il |Ea i1,...,il,io |Oa io ),

Ia=(i1,...,il).chi1(b11,...,b1m1b11,...,b1m |...|chil(bl1,...,bln).lbl1,...,bln .exap_a(p1,...,pv), def

Oa=(io).io(c11,...,c1s,...,cr1,...,crt,r1,...,rv).cho1 cr1,...,crs .....chor cr1,...,crt .exa_ap r1,...,rv ,

其中,执行子进程Ea与活动的类型相关,一个非终端活动可以细分为按如下时序组合的多个子活动:顺序活动、并行活动和选择活动,另外,终端活动也可以对其自身的Ea进行定义.规则3~规则6分别讨论了这几种活动的defEa的转换细节.

规则3. 顺序活动的表示.若a为一个非终端活动且其被拆分为w个顺序执行的子活动a1,…,aw,每个子活动都可能与父活动进行信息交换,比如第w个子活动从父活动a接收到(pw1,…,pwj)并将(rw1,…,rwk)返回给a.同时,该活动被分配给人员ac,则活动a的执行子进程可以描述为 Ea=(i1,...,il,io).i1(b11,...,b1m)...il(bl1,...,bln).exap_a(p1,...,pu).triggera.assignac starta,enda ,

starta.exa_a1 p11,...,p1h .triggera1.exa1_a(r11,...,r1i).triggereda1...exa_aw pw1,...,pwj .triggeraw,

exaw_a(rw1,...,rwk).triggeredaw.aaoc11,...,c1s,...,cr1,...,crt,r1,...,rv .

在上面的规则中,由于活动a是非终端活动,执行进程Ea从进程Ia接受输入,然后按顺序关系触发a的子活动,执行完毕后将活动执行所得到的数据通过进程Oa输出.

规则4. 并发活动的表示.当非终端节点a被拆分为t个并发的子活动时,则其Ea子进程表示为

Ea=(i,q,i1,...,il,io).(νka1,...,kaw)i1(b11,...,b1m)...il(bl1,...,bln).exap_a(p1,...,pu).

triggera.assignac starta,enda .starta.(E1|E2),

E1=(exa_a1 p11,...,p1h .triggera1.exa1_a(r11,...,r1i).triggereda1.ka1.ka1 r11,...,r1i )|...|

(exa_aw pw1,...,pwj .triggeraw.exaw_a(rw1,...,rwk).triggeredaw.kaw.kaw rw1,...,rwk ),

E2=ka1.ka1(r11,...,r1i)...kaw.kaw(rw1,...,rwk).aao c11,...,c1s,...,cr1,...,crt,r1,...,rv ,

进程E1触发执行所有的子活动,而E2进程从各个子活动收集活动的执行结果并输出到进程Oa.

规则5. 选择活动的表示.若非终端活动a通过选择关系被拆分为t个子活动,则其Ea子进程被描述为

搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究软件过程建模方法研究(22)全文阅读和word下载服务。

软件过程建模方法研究(22).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/wenku/1191573.html(转载请注明文章来源)
热门推荐
Copyright © 2018-2022 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top