没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记187(2007)161-172www.elsevier.com/locate/entcs一种基于Petri网的面向对象系统规约K.S. Cheung1香港浸会大学K.O. Chow2香港城市大学香港摘要在面向对象的系统设计中,需求以对象交互场景的形式作为用例给出。人们需要从这些对象交互场景中推导出基于对象的行为规范,以便实现。在本文中,基于Petri网的方法提出的细化过程。 该方法首先将对象交互场景指定为标记网络。这些有标签的网然后将其合成为一个完整的网络。消除重复的标签,以获得唯一标记的网络,在该网络上获得基于对象的行为规范作为投影。关键词:Petri网,精化,面向对象系统,面向对象设计,用例。1介绍在过去的二十年里,面向对象已经成为软件工程中的一门重要学科。根据面向对象的原则,一个系统被认为是一个对象的集合,这些对象与其他对象进行交互,以完成系统的功能。从概念上讲,对象是封装状态和行为的实体。它可以从结构和行为两个方面进行分析。[1][2][3][4]在前者中,具有相同属性的对象在后者中,对象在与其他对象交互时表现出不同的行为,从而展示了不同的对象交互场景。本文主要研究面向对象系统的行为方面。1 电子邮件地址:cheungks@hkbu.edu.hk2电子邮件:cspchow@cityu.edu.hk1571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.08.050162K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161在面向对象的系统设计中,系统的功能需求是以一组用例的形式给出的,这些用例是关于如何使用系统的典型案例或场景。[5] [6] [7] [8]这些用例以对象交互场景的形式表示,并正式指定为UML序列图和协作图。[9][10][11]系统设计者必须从这些对象交互场景中创建基于单个对象的规范,以描述单个对象的行为在这一过程中,至少要解决以下三个问题。对象交互场景的规范构造过于原始。UML序列图和协作图缺乏表示对象交互场景中每个事件发生的前置条件和后置条件的形式。然而,在推导对象规范时需要这些,其中需要明确说明条件、事件及其因果关系。对象内生命周期和对象间交互之间的不同抽象由于抽象的不同(对象内与对象间),从对象交互场景(在多个交互对象之间)导出单个对象行为(在对象生命周期内)非常困难 在面向对象系统设计的文献中,缺乏系统的方法来圆满地解决这个问题验证对象行为规范的正确性的困难这样得出的对象行为规范应该是正确的,因为它们准确地反映了对象交互场景。[12] [13] [14]不应该有非预期的交互场景。在实践中,如果没有一个正式的方法,设计师需要通过所有可能的对象交互场景。这个过程很耗时.基于我们早期的相关工作,[15] [16] [17]在本文中,我们提出了一种形式化的方法,用于将给定的对象交互场景细化为基于对象的行为规范,以便于实现,其中可以有效地解决上述问题。所提出的方法是基于Petri网。所提出的方法包括以下步骤:步骤1:每个对象交互场景被指定为一个标记Petri网(标记网)。然后将这些标记的网络合成为一个集成网络。步骤2:从集成网络中消除重复标签,同时保留触发序列(事件序列)。步骤3:获得基于单个对象的规格,作为集成网络在单个对象上的投影本文的其余部分组织如下。在第2节中,我们展示了将对象交互场景规范为标记网以及这些标记网的合成(步骤1)。第3节描述了消除这样获得的集成网络的重复标签(步骤2)。在第4节中,我们展示了如何通过投影(步骤3)获得单个对象的行为规范。 第五部分是结论。应该指出,本文的读者应该有K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161163关于Petri网的知识 [18][19]第十八话在本文中,一个办公室访问控制系统(OACS)用于说明。OACS用于一家高科技公司,用于控制其30多个办公室和实验室的工作站。在该等办公室及实验室中,部分办公室及实验室可供所有工作人员使用,而部分办公室及实验室则仅可供获授权工作人员及╱或于指定时间内使用。对于访问控制,每个办公室/实验室入口都配备了读卡器,紧急开关和电子锁,所有这些都由中央系统服务器连接。系统服务器维护访问权限并验证对办公室/实验室的每次访问。基本上,每个访问请求都有三种可能的情况(用例)。U1:会员通过读卡器出示会员卡。允许进入。门被解锁五秒钟,然后重新锁定。U2:会员通过读卡器出示会员卡。不允许访问。门仍然锁着。U3:一名乘务员按下紧急钥匙,门立即打开.在由安全监察员重置后,门被重新锁定。从面向对象的角度来看,服务器和门是系统的对象。用例可以被详细描述为服务器对象和门对象之间的对象交互场景,并被指定为UML序列图和协作图,如图1所示。条件标签被附加到这些图中,以表示每个事件发生的前置条件和后置条件。2将对象交互场景作为标记网络在本节中,在介绍了标记Petri网(标记网)之后,我们将展示如何将对象交互场景指定为标记网。然后,我们展示了这些标记网的集成。2.1标记Petri网(或标记网)是一个7元组N =Lp,T,F,C,E,Lp,Lt,其中Lp,T,F是一个普通的PT网,C是一组条件标签,E是一组事件标签,Lp:P→ C是一个为每个位置分配条件标签的函数,Lt:T→ E是一个为每个变迁分配事件标签的函数定义2.2设N= P,T,F,C,E,Lp,Lt是一个标号网。 称一个位置p在N中唯一标号当且仅当<$p称变迁t在N中是唯一标号的当且仅当nt= Lt(t))(t' = t)。称N是唯一标号的,当且仅当所有的位置和变迁都是唯一标号的。图2显示了一个带标签的网络。位置p3,p4,p5,p6,p9和p10是唯一标记的。位置p1,p2,p7和p8不是因为,例如,条件标签c1出现在p1和p7中,c2出现在p2和p8中。另一方面,转换t3,t4和t5164K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161唯一的标签。转换t1,t2,t6和t7不是,例如,事件标签e1出现在t1和t6中,e2出现在t2和t7中。标记网不是唯一标记的。对于指定为标记网络的对象交互场景,事件发生的位置由转换表示,条件的位置由位置表示。条件和事件的语义分别由对应的处所和变迁的标签表示一个事件要发生,有些条件必须事先满足,有些条件必须事后满足。这些前置条件和后置条件由表示事件的转换的前置集和后置集表示。所提出的方法的步骤1是指定对象交互场景作为标记的网络。这些标记网通过融合那些指向相同初始状态或条件的位置而合成为一个集成网。使用OACS示例,对象交互场景U1、U2和U3被指定为标记的网(N1,M10)、(N2,M20)和(N3,M30),如图3所示。然后,通过融合那些引用相同初始状态或条件的位置,将标记的网络合成为集成网络:p11,p21和p31融合为一个位置p41,p15,p24和p34融合为p42。图4显示了综合网络(N,M0)。3消除集成网络本节介绍如何消除集成网络的重复标签。这涉及所提出方法的步骤2。通过合并对象交互场景,从步骤1获得的集成网络用于将系统表示为整体。一般来说,它不一定是唯一标记的。如图4所示,位置p12和p22具有相同的条件标签s. c12,转换t11和t21具有相同的事件标签e1。这反映了执行同一事件的位置和条件在不同时刻可能不同的事实。然而,每个条件最终都是作为一个唯一的子状态实现的因此,为了使集成网络有效地用于实现目的,必须消除重复的条件标签和事件标签。这种消除的直接策略是将具有相同条件标签的每一组位置融合到单个位置中,并将然而,这并不起作用,因为产生的网络可能会表现出与原始网络不同的触发序列。换句话说,系统行为可能会被扭曲。因此,基本上要求在融合之后可以保留原始击发序列。所提出的方法的步骤2是消除这些重复的标签,同时保留原始的触发序列(事件序列)。定义3.1设S是标号网N的唯一标号子网N中S的模式表示为Patt(N,S),它是一个条件-事件网,具有与S相同的结构和标号分配,但忽略了S的库所和变迁的恒等式。K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161165图1.一、对象交互场景被指定为序列图(左)和协作图(右)。为了说明,图5显示了标记网络的唯一标记子网,而图6显示了它的模式。定义3.2设Lx和Ly是一个标号网中的连通模式。 Lx<$ Ly和Lx<$ Ly分别表示Lx和LyLx\Ly表示Lx从Ly的位移。Lx和Ly称为不相交的,当且仅当Lx<$ Ly =<$。166K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161图二. 标签Petri网(Labeled Petri Net)定义3.3对于标号网N,唯一标号的子网S称为公共子网,当且仅当至少存在一个唯一标号的子网SS设S是公共子的模式网在N. [N,L] ={S |Patt(N,S)= L}表示具有相同图案L的公共图案的组。定义3.4对于PT网的子网S= PP(T' \ P ')称为S的前集,P ost(S)=(P '\ T ')P(T '\ P')称为S的后集,Head(S)= Pre(S)·•后(S)尾(P定义3.5PT网N =P,T,F的子网S称为PP型,当且仅当头(S)P且尾(S)P。我们建议通过融合公共标签来消除重复标签消除过程概述如下。确定用于融合的常见故障组。由于两个原因,这些公共群需要最大化和不相交。 首先,融合后得到的网络将被唯一标记。第二,用于融合的公共群的数量可以减少到最小,因为它们是最大的。常见的变形。为了保持转换的可靠性和令牌的可扩展性,在融合之前对公共令牌进行转换。基于有色Petri网,[20],为每个公共子网分配唯一的颜色(其传入和传出弧的颜色标签)。进入公共子网的令牌根据进入弧的颜色标签着色。当它通过相应的颜色标记的出射弧流出时,它的颜色被重置。此外,通过附加虚拟位置和转换,将这些转换器转换为PP类型K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161167图三. 图1中标记的网络表示对象交互场景。转化的共同体的融合然后,每个组的转换后的公共子网被融合成一个单一的子网。融合后得到的标记网成为唯一标记的。算法1将消除过程正式描述为算法。我们应用图4中的算法来消除集成网络(N,M0)的重复标签。图7示出了这样获得的唯一标记的网(4通过投影本节显示了我们提出的方法的第3步,以获得作为集成网络投影的基于单个对象的行为规范。投影是通过忽略那些与所关注的对象无关的位置、过渡和弧来进行的。以OACS为例,对于对象s(服务器对象),我们保留那些带有对象标签s的位置(包括虚拟位置)和那些转换168K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161见图4。 通过合成图3中的标记网获得的集成网(N,M0图五. 标号网的唯一标号子网S。具有至少一个由s标记的输入位置或输出位置对于对象d(door对象),我们保留那些带有对象标签d的位置(包括虚拟位置)和那些至少有一个输入或输出位置被d标记的转换。图8示出了通过将图7中的网(N',M 0 ')分别投影到对象s和d上而获得的投影(Ns,Ms0)和(Nd,Md0由于((Ns,Ms0)和(Nd,Md0)分别用于指定单个对象s和d的行为。规范明确规定了K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161169J见图6。 图5中的子网S的模式算法1消除重复标签步骤1:确定公共节点的最大不相交组,如下所示:1.1 从N中找出所有可能的公共点。令={L1,L2,...,Ln}是他们的模式。1.2 只保留最大模式:如果存在Lj∈使得Li是L j的子模式且<$Si∈ [N,Li],<$Sj∈ [N,Lj]:Si是Sj的子网,则从中移除任何L i。1.3 使重叠模式不相交:对于每个Li,Lj∈,其中Li/=Lj且Li和Lj不相交,集合=(-{Li,Lj})<${Li<$Lj}<${Li\Lj}{L j\L i}。1.4 将N的公共群划分为{[N,Li],Li∈}。步骤2:对于每组公共的n[N,Li],执行以下操作:2.1 如果S不是PP类型,则转换每个子网S∈[N,Li2.1.1 对于每个过渡ti∈ Head(S):(a)创建具有唯一标签εi的伪过渡ti',具有标签ε i的伪位置p i ',以及弧(t i ',p i ')和(p i ',t i)。(b)对于每个位置p ∈·ti:移除arc(p,ti),然后创建arc(p,ti ')。(c)通过包括位置p i '和弧(p i ',t i)来重新定义S。2.1.2 对于每个转移tj∈ Tail(S):(a)创建具有唯一标签εj的伪转移tj',具有标签ε j的伪位置p j ',以及弧(t j,p j ')和(p j ',t j ')。(b)对于每个位置p∈t·:移除arc(tj,p),然后创建arc(tj ',p)。(c)重新定义S,包括位置pj'和弧(t j,p j ')。2.2 为每个子网S∈[N,Li]分配唯一的颜色标签κ2.2.1 对于每个弧(ti,pi),使得ti∈Pre(S)和pi∈Head(S):将颜色标签κ分配给弧(ti,pi)。2.2.2 对于每个弧(pj,tj),使得pj∈Tail(S)和tj∈Post(S):将颜色标签κ分配给弧(pj,tj)。2.3 将[N,Li]中的公共子网划分为一个子网。事件发生的地点和条件保持的位置。条件和事件之间的因果关系由地点和过渡之间的顺时针关系清楚地描绘出来Petri网的活性、有界性、安全性和可逆性等许多理想的性质可以通过许多著名的分析技术有效地分析。此外,由于规范是唯一标记的净,因此条件可以很容易地实现为唯一的子状态,事件可以实现为唯一的操作。170K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)1615结论在本文中,我们提出了一种基于Petri网的方法,用于将给定的一组对象交互场景细化为单个基于对象的行为规范,并使用OACS示例进行说明。所提出的方法具有数量有明显的特征。首先,给定的对象交互场景被正式指定为无歧义且语义丰富的标记网。其次,基于对象的行为规范是通过合成和投影从对象交互场景中严格推导出来的。它们准确地反映了对象交互场景的功能。第三,理想的属性,如活性和有界性,可以通过许多著名的分析技术的Petri网进行分析。第四,规范不包含重复的标签,因此它们可以很容易地用于实现目的。该方法具有较强的Petri网理论基础,可以有效地用于面向对象的系统设计,用于从以对象交互场景的形式给出的一组用例中导出基于对象的规范。它解决了许多困扰面向对象系统设计者的问题,如对象交互场景的规范缺乏形式化,缺乏严格和系统的方法来推导见图7。从图1中的积分网(N,M0)中去掉重复标号后得到的唯一标号网(四、K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161171基于对象的行为规范来自对象交互场景,并保证导出规范的正确性。作为进一步的步骤,所提出的方法可以在面向对象的CASE工具中实现,以支持面向对象的系统设计和用例驱动的系统设计。见图8。通过将图7中的积分网(N',M 0 ')投影到对象s和d上而获得的网(Ns,Ms0)和(Nd,Md0引用[1] Yourdon,E.,面向对象系统设计:一种集成方法,Yourdon出版社,1994年。[2] 张国胜和Chow,K.O.,”Comparison of Object-Oriented Models by Views and Abstraction 335-342,莱昂,西班牙,1996。[3] 布鲁湾例如,UML的系统、视图和模型在:Schader,M.和Korthaus,A.(编),统一建模语言:技术方面和应用,物理出版社,1998年。[4] 格雷厄姆岛,面向对象方法:原理与实践,Addison-Wesley,2001。[5]施耐德湾,澳-地温特斯,J.P.,应用用例,Addison-Wesley,1998年。[6] Kruchten,P.,Rational Unified Process:An Introduction,Addison-Wesley,1999年。[7] 罗森伯格,D.,用UML进行用例驱动的对象建模:实用方法,Addison-Wesley,1999年。172K.S. Cheung,K.O.Chow/Electronic Notes in Theoretical Computer Science 187(2007)161[8] Rosenberg,D.和Scott,K.,用UML应用用例驱动的对象建模,Addison-Wesley,2001年。[9] Booch,G.,Rumbaugh,J.和Jacobson,J.,统一建模语言:用户指南,Addison-Wesley,1999年。[10] 雅各布森岛,Booch,G.和Rumbaugh,J.,统一的软件开发过程,Addition Wesley,1999年。[11] Rumbaugh,J.,雅各布森岛和Booch,G.,统一建模语言:参考手册,Addison-Wesley,1999年。[12] 张国胜,Chow,K.O.和Cheung,T.Y., 在:Rolland,C. Grosz,G.(编),面向对象的信息系统,pp。427-441,Springer,1998.[13] 张国胜,Chow,K.O.和Cheung,T.Y.,”Deriving Scenarios of Object Interaction through Petri 118-125,IEEE计算机协会出版社,1998。[14] Glinz,M.,”A Lightweight Approach to Consistency of Scenarios and Class Models”, 49-58,IEEE计算机协会出版社,2000年。[15] 张 国 胜 , 张 泰 源 和 Chow, K.O., ”A Petri-Net-Based Synthesis Methodology for Use- Case-DrivenSystem Design”, 772-790,2006年。[16] 张国胜和Chow,K.O.,“A Synthesis Approach to Deriving Object-Based Specifications from ObjectInteraction Scenarios”。在:Nilsson,A.G.等人(Eds.),信息系统开发的进展:弥合学术界和工业界之间的差距。647-656,Springer,2006。[17] 张国胜和Chow,K.O.,”Elimination of Duplicate Labels in Petri-Net-Based System Specification”,932-936,IEEE计算机协会出版社,2006。[18] Reisig,W., Petri Nets:An Introduction,Springer-Verlag,1985.[19] Murata,T.,”Petri Nets : Properties, Analysis and Applications”,[20] 詹森,K.,着色Petri网:基本概念、分析方法和实际应用,第1卷,Springer-Verlag,1992.
下载后可阅读完整内容,剩余1页未读,立即下载
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![.pdf](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- 基于Springboot的医院信管系统
- 基于Springboot的冬奥会科普平台
- 基于Springboot的社区医院管理服务系统
- 基于Springboot的实习管理系统
- TI-TCAN1146.pdf
- 基于Springboot的留守儿童爱心网站
- S32K3XXRM.pdf
- Ansible Automation Platform 快速安装指南 v3.8.1
- Ansible Tower 发行注记 v3.8.1-76页
- C语言笔记-考研版(进阶)
- Design_of_Analog_CMOS_Integrated_Circuit20200602-85440-9wt61m-with-cover-page-v2 (1).pdf
- Ansible Automation Platform 安装和参考指南 v3.8.1-59页
- 浅析5G技术在工业互联网领域的应用研究
- 查重17 岑彩谊-基于otn技术的本地承载网-二稿 .docx
- 自考计算机应用基础知识点.doc
- 数据库系统安全、技术操作规程.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)