没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记180(2007)107-121www.elsevier.com/locate/entcs具有异构协调模型的系统的可视化规范1DavidSafra'nek2捷克布尔诺马萨里克大学信息学院计算机科学系摘要本文提出了一种用于具有异构协调模型的并发系统高级设计的可视化规范语言原型--可视化协调图(VCD)。VCD的关键属性是行为方面与协调方面的分离。我们还强调了VCD的异质性,它有两个层次。 首先,它允许在特定规范中混合不同的协调模型。其次,不同的形式主义可以被纳入到VCD中,用于行为方面的具体化。本文概述了该语言及其形式定义。并给出了一个使用该语言的例子。关键词:视觉协调图,视觉规范,并发系统,外生协调模型1介绍可视化形式主义在软件和硬件系统的规范和设计中非常流行其中最广泛的包括在统一建模语言(UML)中。其他的例子有Statecharts [6],Message Sequence Charts[7],Petri Nets [12]。. .可视化语言的优点是易于系统设计人员使用。一个困难的问题是在语法结构的丰富性和视觉语言的可理解的形式语义之间找到一个妥协。理想情况下,可视化语言应该能够适当地处理并发系统的协调和行为方面通用建模语言(如UML)的重要性在软件工程领域非常重要。这样一个通用设计语言,这将是适用于并发系统的理想属性,异构性,层次结构和基于组件的结构。如今,典型的计算机系统是1这项工作得到了捷克共和国赠款机构的支持。201/03/0509和FRVS批准号第504/2004号来文。2电子邮件地址:xsafran1@fi.muni.cz1571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.10.048108D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107由具有不同计算模型的硬件和软件组件组成我们把这种复杂的系统称为异质系统。在本文中, 我们提出了可视化 协调图(VCD )- 请注意,这 不是Linda 、Manifold或其他协调语言意义上的编程语言。VCD旨在成为一种设计形式主义。VCD采用协调模型,其中协调方面在语义上与行为方面分离。这就是所谓的外生模型[4]。VCD也可以被看作是指定组件之间连接的静态架构图。VCD的关键特性是其两级异构性。这种异质性的第一个层次是基于在特定系统规范中组合各种协调模型(同步和异步)的可能性。第二个层次的异质性是行为方面具体化的可变性。这可以用各种符号来完成,这些符号必须在某种定义良好的意义上与语言支持的协调模型兼容1.1背景及相关工作有一组并发系统的可视化语言,其中经典的状态转换图已经扩展到满足复杂系统设计的需要将几何包含的概念与超图的概念相结合,增加了状态的层次结构,导致HarelStatecharts语法丰富性的复杂性表明,为这样一种强大的语言实现组合形式语义是乏味的。Statecharts的各种子方言已经被定义,以实现其形式语义的所需属性[9]。Statecharts的概念也被纳入UML [14]。另一组视觉语言是基于消息流图的概念。它们被用来可视化地描述并发进程间的部分消息传递交互。称为消息序列图的高级消息流程图就是基于这个概念[8]。这种形式主义不支持分层设计。由于其简单的性质,它被广泛应用于电信它也是UML的一部分通信系统的图形演算(GCCS)[5]及其同步扩展SGCCS [15]采用进程代数方法作为形式化的底层语义模型。这些语言具有基于组件的层次结构。由于与底层进程代数语义模型的关系过于紧密,协调层和行为层的异构性受到限制。还有另一种架构语言,类似于VCD,基于GCCS的思想。它被称为架构交互图(AID)[13]。VCD和AID都通过避免与CCS进程代数的紧密关系来实现一定程度的异构性。这两种形式主义之间的一个重要区别在于底层的语义模型。援助旨在用于D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107109在VCD中,交互方面可以另外与反应性混合。在行为层,VCD比AID支持更多的表达形式,因此在这个层次上允许更多的异构性。另一方面,AID比VCD允许在协调层进行更多的非确定性建模在协调语言的社区中,有一个很大的语言组这个领域中最重要的语言是Manifold [10]和ToolBus [2]。这些语言支持控制驱动的外生协调。与VCD相比,这些语言是复杂的编程语言。VCD的目标是成为一个简单的可视化形式主义的并发系统的高层设计此外,与Manifold不同,VCD目前不支持组件连接的动态更改静态协调器在VCD中表示为总线。与Manifold和VCD相似的是端口的概念。此外,在某种意义上,流形协调器层次结构在VCD协调层层次结构中具有其对应物。我们开发VCD的主要原因是我们相信构建的重要性,使用一个框架来协调各种Statecharts和其他可视化形式主义,以指定组件行为。我们想建立一个简单的语法视觉符号与适当的基础形式语义。所选择的语义模型是基于局部转换系统的组成,这些局部转换系统表示特定的组件,从而产生全局转换系统。2VCD概述VCD的目标是成为一种形式化语言,用于描述基于组件的并发系统中的通信关系。一个简单的VCD专用系统如图所示1.一、该语言的基本元素是组件接口。一个特定的接口包含输入和输出端口,这些端口充当封装组件的门,从而将其服务提供给环境。接口被分组为网络,并且可以用总线互连。总线用于指定各种类型的协调机制。不同类型的总线可以混合在一个特定的网络。因此,具有异构协调机制的系统可以使用单一的统一形式有效地具体化。从语义的角度来看,总线是基于类似的状态转换范式作为计算组件。与计算组件相比,总线不能用网络来细化。请注意,使总线可扩展的事实并不限制从Manifold构建元协调器的可能性。总线的目标是封装各种协调媒体的行为的主动性。通过将总线与一些简单的组件混合在一起,我们可以制作网络,然后代表更复杂的协调介质。但是,不像在流形中,这些VCD的核心概念是它的分层网络结构,这使得协调层。这是通过将网络作为110D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107出来B在C2C1B2B1b我in out in出来C2C3C1在外层Fig. 1. 通过总线B互连的组件C1和C2a O图二. 网络层次其他网络的组件(更高级别的网络)。图中给出了网络嵌套的示例。二、VCD的语义基于状态转换模型。通过遍历网络层次结构,它依赖于一种形式化的机制,将组件状态转换模型组合成最顶层网络的一个结果状态转换模型。这是针对网络中总线指定的通信关系进行的。特定总线类型的语义表示特定通信介质的行为。我们可以把一个特定的VCD网络想象成一个图,其中子系统接口创建顶点,带有链接的总线创建边。 任何这样的图都可以被划分成强连通的分量。VCD语义将这些强连接组件的同步(乘积)或异步(交织)子系统转换组合异步或同步协调模型源于包含总线的语义由不同的强连接网络组件组合而成的变迁之间的语义关系总是异步的。在最底层,系统组件的行为可以用任何VCD兼容的形式来指定。这被称为VCD的行为层。行为层背后的语义模型是一个输入/输出标记转换系统(LTS),其中输入和输出动作集作为标签。 这允许任何具有在LTS域中导出的语义的语言用于系统组件的自动指定。这个属性使得VCD在行为层也是异构的。行为层的异质性是相对于一组语义上兼容但符号上不同的语言来实现的,这些语言用于行为描述。作为支持的语言的例子,我们可以提到Statecharts或Petri-Nets的变体。图3是一个更复杂的网络的例子。它是硬件加速网络路由器设计规范的抽象简化[1]。这D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107111摆出硬件输打开分组输出开放标题输入BUFparsed_in出标题输出在BCparsed_in表中config解析出RFU下午PEU摆入PPU帕克 t_inpm_config硬件输入图三. 路由和防火墙系统的这个例子很有趣,因为它突出了VCD的一些特点。该系统是为可编程硬件平台而设计的,因此可以将其视为软件体系结构。图中的网络描述了路由器系统的基本组件以及它们之间的连接。整个系统的作用是在其硬件输入(端口hw in)上接收输入网络数据包,在其软件输入(端口sw in)上读取路由和防火墙表,并在hw out输出端口上根据这些表生成修改后的数据包。此外,系统还管理并统计通过它的数据包。为了实现此功能,它在其pm配置端口上进行一些软件配置,并在sw输出端口上生成相关软件输出。将系统细化为组件,有四个不同的单元通过两个总线互连。单元PPU(数据包解析单元)从输入数据包中识别对路由和防火墙重要的信息。提取的信息被同步发送到其他三个单元。注意,同步通信由广播总线BC建模。在PEU(分组编辑单元)单元中,发送的信息被存储在某种存储器中以供以后使用。在PM(数据包管理器)单元中,它用于计算一些统计数据。 最后,在RFU(路由和防火墙单元)中,它与表中的信息进行比较,修改并异步发送到PEU单元。这里,使用异步消息传递总线BUF来对该异步通信进行建模。在图4中,有状态图,它模拟了各个单元的行为。为了简单起见,我们稍微抽象了它们的复杂状态空间。 我们还从数据流中提取并仅对二进制信号流(事件的存在或不存在[3])建模。在本例中,PM和RFU单元的状态图具有112D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107−/count在/−−/输出configure/−下午−/header_outparsed_in/−tables_in/−RFU见图4。 组件的状态图建模行为并发复合状态的形式,在Statechart术语中称为AND状态更具体地说,在RFU的情况下,这意味着该单元可以接受输入表的任何状态的正确子状态图。 因此,从该状态图的初始状态开始,有三种可能的转换-- tables in / −,parsed in / −或tables in,parsed in / −。其中一个(选择w.r.t.)输入事件中存在表格)可以通过BC总线与PEU和PM单元同步请注意,RFU状态图中的所有事件都通过其名称与RFU接口的相关输入和输出端口相这不是PM状态图的情况,PM状态图可以执行内部输入事件配置。PM单元的接口从该事件中提取。3格式化VCD在这一部分中,我们给出了VCD的视觉结构的形式化语法,这些结构在前一节中已经介绍过了。在本节的后面,将定义VCD的结构化操作语义。3.1语法VCD网络的正式名称是VCD术语。在我们定义它们之前,我们建立一些基本的符号。3.1.1端口和接口协调层最基本的元素是端口。我们固定W为写端口的可数集合,R为读端口的可数集合。我们需要WR=。接口I于是被定义为任何非空的端口集合IW R。记为IR={r∈I|r∈R}读接口,IW={w∈I|w∈ W}写接口。3.1.2总线和总线类协调层的关键构造是总线。正如在前一节中提到的,总线代表协调机制。它们用于建模各种类型的协调模型,例如双方握手消息传递,同步广播或异步类型的组件协调。不同的总线可以在特定网络的规范中混合使用,D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107113使得协调层异构。特定类型的协调机制被表示为总线类,其被正式定义为输入/输出标记状态转换系统(I/O LTS)。定义3.1总线类B是一个元组,其中• Q是状态的有限集合•q0∈Q是初始状态,• T<$Q×2W× 2R×Q是一个跃迁关系。任何总线类都可以实例化为特定的总线,并用于指定网络中组件的协调。总线接口总是由将总线连接到周围组件的端口的链路集给出。总线的正式定义,由其接口和类给出,如下所示定义3.2总线类B的总线B是一个元组B=I,B,其中I是接口,B是总线类。总线B的接口将表示为I(B),I(B)W R。3.1.3门、网络和叶现在我们定义正式表示VCD网络图的术语。注意,在图2中描绘的网络中,存在将子系统接口的端口连接到周围网络接口的端口的在本小节的后面,这些连接将被形式化为门的概念。定义3.3VCD术语为:(i) VCD leave--(ii) VCDnetworkN=C<$,M<$,L,where(a) C<$=C1, .. . ,Cn-(b) i:Ci=• 我.... VCD术语• 我.... I• Gi.. .门(见下面的定义)(c) M<$=M1, .. . ,Mk-(d) j:Mj=• 我.... 总线接口Mj• Bj。..总线类Mj(e) L{1,.,n}×(W <$R))×({1,. ,k}×(W <$R))一组链路满足:如果n ∈i,p1∈,n∈j,p2∈L,则:p1∈ W惠p2∈Rp1∈Iip2∈IW(Mj)<$IR(Mj)l,pJ=p11 1⟨⟨i,p1⟩,⟨l,pJ⟩⟩ ∈L⇔l=j∧pJ=p22 2所有VCD项的集合将由S表示。114D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107我我我们定义了一个函数WDR(WRW),它对任何VCD网络返回一组与任何总线都没有连接的所有读(写)端口。我们把这种港口称为自由港。为了克服网络环境中端口名称的歧义,我们用自然数标记网络中的每个端口。 这个数字是由indexofthecommponent(从commponentvectorC),以跟踪相关的elevantport属于定义3. [4] L etN=LC<$,M<$,Lbea network.• N={n,n,n,n}|w∈IWj,wJ:i,w∈/L}• R(N)={\displaystyle\pi,r\,}|r∈IRj,rJ:i,r,j,rJ∈/L}对于N的界面,我们将使用符号I(N)=R(N)。门被定义为将网络的端口与网络中特定组件的自由端口相关联的部分双射。该门将VCD中描述的端口映射形式化为虚线。为了简单起见,我们也为VCD叶定义了门。在这种情况下,它是将组件的端口映射到特定VCD离开的事件的标识。请注意,leave gate将允许嵌入到特定组件接口中的叶子集合限制为只有那些在转换标签中具有相关事件的叶子。类似地,网络门的定义限制了将网络嵌入其他网络的可能候选者。只有具有足够自由端口的网络才能嵌入。定义3.5设I_Wr_R是一个接口。(i) 设S为封装在接口I中的VCD。设port(S)W R是S的所有port的集合。我们定义左S的一个门为恒等函数G:I→ports(S),nx∈I。G(x)= x.(ii) 设S = S1,I1,G1,., Sn,In,Gn Mk,L是嵌入I接口的VCD网络. 我们将网络S的门定义为部分函数G:I→I(S),满足:• w∈IW。G(w)=i,wJi,wJ∈W(S)• r∈IR。G(r)=i,rJi,rJ∈R(S)在我们开始定义VCD的语义之前,我们建立一些符号。设N是一个只包含n >0个分量的网络。进一步设Ii是N的第i个分量的接口,并且Γ∈Ii是其端口的某个集合。我们将记为i,r={i,w|w ∈ Γ }是网络N中第i个组件索引的端口集合。注意,如果Γ =,那么也是i,Γ =。3.2语义在这里,我们给VCD术语一个精确的操作语义。作为一个语义域,我们使用L类的输入/输出标记的过渡系统(I/O LTS)的输入和输出事件的过渡标签集。在形式上,语义被定义为一个类型为S:S → L的映射,它为每个VCD项分配一个I/O LTSD. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107115CC首先,我们正式定义了I/O LTS,它为行为层和协调层提供了语义域。定义3.6设S为VCD休假。 I/O LTS是元组Q,T,q0,其中• Q是状态的有限集合•q0∈Q是初始状态,• T<$Q×2R× 2W×Q是一个跃迁关系。在行为层,状态转换语义捕获系统组件的动态。请注意,VCD不包括行为层的任何预定义语法结构,而是依赖于其他形式主义,这些形式主义尊重VCD叶的支持状态转换语义。处理协调层,我们想定义VCD网络的语义。原则上,VCD网络的语义被定义为全局I/O LTS,它结合了表示网络组件语义的本地I/O LTS的转换。这种组合是相对于在网络中使用的总线中编码的协调模型来完成的。一个网络项包含一个组件向量和一个总线向量。网络术语的语义遵循这种结构。代表网络项的I/O LTS的状态和转换是通过组合组件I/O LTS的状态和转换来构造的。为了正式构造产生的I/O LTS,我们定义了网络配置的概念。定义3.7设N = N,C1,.,Cn,M1,.,Mk,L是一个网络。我们定义其公司和业务部门的信息披露,第1章,. sn,b1,.,bn nn,其中ni∈ {1,...,n}。si是分量C i的状态,并且j∈ {1,.,k}。bj是总线Mj的状态。网络配置包含组件的当前状态向量和总线的当前状态向量。这样的网络配置使所得到的I/O LTS的状态。此I/O LTS的转换由本节剩余部分中给出的推理规则定义。L etN=NC<$,M<$,Lbea networkterm. 我们将其定义为一个简单的I/O对象(N)LTS<$(N)=<$QN,TN,Q0N<$∈ L其中• 状态集QN由所有网络配置给出• Q0N是一组初始状态• 转移关系TN<$QN× 2 N×R× 2 N×W× QN是使用Plotkin式推理规则定义的,它结合了子系统相对于网络层次的转移。设C= S,I,G,N是网络N的一个分支。 我们假设TS是VCD项S的一个跃迁关系。 我们定义了转换关系TCQ×2 IR ×2 IW ×网络分量C的Q。它是从T导出的,S关于接口I和门G。存在两种情况,子系统S可以是哪种类型针对这种情况,TC从TS116D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107Δ−−W−→∅−→×我我ΔCQS我由以下推理规则之一定义。1. 在S是VCD离开的情况下,S=<$QS,TS,q0S<$,TC直接从TS导出,如以下规则所述:TS:q−→ΓqJT:qIRrqJ我∩ΔTS和TC的唯一区别是TS中不在组件接口中的事件通过删除被抽象到TC中 注意这nter naveq−→n ternat er natr n a t e r n a tq j t r a n s i t i n s t i n t i n s t e r a n a n t i n s t i n s t i n t e r a n a n t i n s t i n s t i n s t er a n a n t i n s t i n s t i n t i n s t e r a n a n t i n t i n s t i n t i n s t e r a n t i n s t i n t i n s t i n t e r a n t i n t i n s t i n t i n t e r a n t i n t i n s t i n t i n t i n s te r a n t i n t i n t i n s t i n s t e r a n t i n t i n s t i n s t i n t i n s t e r a n t i n t i n t i n s t i n s t e r a n t i n t i n s t i n t i n s t i n s t e r a n t i n2. 对于S=NC<$,M<$,L,我们可以使用以下规则:T:s<$,<$br×s<$J,<$bJ<$Δ不:< $s<$,<$b<$G−1(Γ×)<$s<$[i:=qJ],<$b<$C−1−−→×iG(Δ)记法Γ ×{i,w}|,i∈ N,w∈ W}表示索引的输入事件的集合。类似地,Δ ×<${<$i,r<$i|i ∈ N,r ∈ R}表示索引输出事件的集合。 G−1(Γ ×)代表网络接口I中的端口集合,其中Γ ×中的事件通过门G与之相关。类似地,类似的符号也用于输入值Δx的整数倍。 s<$[i:=qJ]是这样一个向量,它可以通过使用该向量qJ 重 新填 充 该 组件 来 从 该向 量 中导 出。以与前面的规则相同的方式,该规则也传播内部事件,并从网络S的那些未分配给接口I的任何端口的事件中提取。现在我们要建立定义转移关系TN的规则。它将从部件转换关系TCi和总线的转换导出。这些规则的关键特征是构建网络配置(全局状态向量)。首先,我们添加到TN的所有组件转换是完全独立的,任何总线互连的。以下规则定义了网络N中组件的交织行为。TCi:3.s<$[i]−→ΓJi,ΓT:s<$,<$b<$−(−i→,<$s<$[i:=qJ],<$b<$N(i,ΔNiNotations[i]ete c o n e t ecorurat o tecot 内部组件事件也会被此规则解除。最后,我们正在接近最后一个推理规则,这是最复杂的一它把总线的转换和组件的转换放在一起,并评估它们之间由网络链路给出的关系根据评估结果,它可以通过与某些总线的转换同步地触发它们的转换来协调某些组件。在定义这种协调规则之前,我们必须深入研究网络的结构。设N = NC1,.,Cn,M1,.,Mm∈ N,L∈ N是一个网络. 与D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107117RR关于链接关系L,可以在网络中区分出对于每个这样的组件块,我们将定义一个同步协调规则。 从语义学的角度来看,任何这样的 分离的组件块可以在内部同步,而放在一起的不同块只能相互交错。换句话说,这些块是具有潜在同步行为的组件的最大组为了正式地捕捉划分的想法,我们定义一个关系R,R{1,., n} ×{1,., n}:DFi,j m},pi∈ Ii,pk∈ I(Mk),pj∈ Ij.⟨⟨i,pi ⟩, ⟨k,pk ⟩⟩ ∈L ∧ ⟨⟨j,pj ⟩, ⟨k,pk ⟩⟩ ∈L值得注意的是,R是等价的。我们将注意到{1,...,n}|2{1,.,n}在分量索引集合{1,...,n}。设Ω ∈ {1,.,n}|.我们将表示Ω J <${1,.,m}连接到由Ω索引的组件的总线的索引的集合。准确地说,Ω J={i ∈ {1,..., m}|k ∈ Ω,pk∈ Ik,pi∈ I(Mi). ⟨ ⟨k, pk⟩, ⟨i, pi⟩⟩ ∈ L}.Nowletqs,beanactualconfigurationofnetworkN. WedefineesetsETΩ ( q ) andETΩJ(q)of all transitions started inq and indeces by their component(respectivelybus)indeces:ETΩ(q)={i,t|i∈Ω。 t∈TCi,src(t)=s<$[i]}ETΩJ(q)={i,t|τi∈ΩJ, t∈T(Mi). src(t)=<$b[i]}符号src(t)表示转换t的源状态,T(Mi)表示总线Mi的转换关系。为了精确地描述所有可以与总线同步的组件转换的集合,从而导致一个全局网络转换,我们必须对ETΩ(q)和ETΩJ(q)施加一些约束。首先,我们要求每个源状态只包含一个转换形式上,我们说ETΩ(q)是相容的,当且仅当τi,j,t,tJ。其中,t∈ETΩ(q)<$i,t∈ETΩ(q)<$j,t∈ ET Ω(q)<$i/=j。此外,我们定义了当前网络配置的特定分区的组件和总线转换之间的触发关系。首先,我们从组件(总线)转换ETΩ(q)和ETΩJ(q)的集合中提取一些事件集合。在下面的定义中,符号Δ(t)和Γ(t)表示在转换t的标签中发生的所有输出(输入)事件。• EΔ(Ω)={Ωi,w}|<$<$i,t<$∈ETΩ(q).w∈ Δ(t)<$<$i,w<$∈<$W(N)}• EΓ(Ω)={Ωi,r}|<$<$i,t<$∈ETΩ(q).r∈ Γ(t)<$<$i,r<$∈ <$R(N)}• FΔ(Ω)={j,wJ|n∈ Ω,w∈ W,n ∈i,t∈ETΩ(q). ⟨⟨i, w⟩,⟨j, wJ⟩⟩ ∈Ln∈Δ(t)}• FΓ(Ω)={\displaystyle\,r\,j\,}|其中,r ∈ R,t∈ ETΩ(q). ⟨ ⟨i,r⟩,⟨j,rJ⟩⟩ ∈ L<$r∈Γ(t)}• AΔ(Ω J)={i,w| <$<$i,t<$∈ETΩJ(q).w ∈ Δ(t)}118D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107−E−→(Ω)N• AΓ(Ω J)={i,w| <$i,t<$∈ETΩJ(q).w∈ Γ(t)}我们说ETΩ(q)触发ETΩJ(q)i,满足以下两个条件(i) AΓ(ΩJ)=FΔ(Ω)(ii) AΔ(ΩJ)=FΓ(Ω)对于每个分区Ω,我们现在定义最终协调规则:ETΩ(<$s<$,<$b <$)和ETΩJ(<$s<$,<$b<$)可以同时存在,ETΩ(<$s<$,<$b<$)的取值范围等于ETΩJ(<$s<$,<$b <$)。4.其中:T:s <$,<$bE<$ (Ω)s<$J,b<$J<$Δs<$J[i]= sJ,if<$t∈TC. t∈ETΩ(<$s<$,<$b<$)sothattrg(t)=sJ我我我s<$[i],otherwiseb<$J[i]=bJ,if<$t∈T(Mi). t∈ETΩJ(<$s<$,<$b<$)sothattrg(t)=bJ我我[i]Otherwise符号trg(t)表示转换t的目标状态。4总线类和类的在本节中,我们将演示如何在VCD框架以及它们如何在系统规范的具体情况下实例化。配位层的异质性也被强调。图3中的模型的协调层包含两种类型的交互-因此,该网络的协调模型是异构的。这两个协调机制中的每一个在网络中表示为相关总线(BUF用于总线协调,BC用于广播)。在下面的小节中,我们将展示如何正式定义这些总线的类,以及如何在网络的其他组件的上下文中实例化它们。4.1同步组播协调模型在这一小节中,我们将集中在同步组播交互的VCD形式主义的协调层建模。更具体地说,我们将为这种组件交互机制定义一个总线类。首先,我们将回顾第2节中描述的情况。在图3中,存在总线实例BC。它的预期行为是接受解析出的事件,并将其同步重新发送到PM、RFU和PEU单元,以发送到它们的解析入端口(在PM单元的情况下)。我们可以将该总线的语义建模为图5中描绘的状态转换图。在总线的上下文中,通过对端口名进行索引,解决了端口名不明确的问题。形式上,在我们在3.2节中开发的语义框架中,网络中的组件和它们的端口都被索引。它们与沿着网络链路的相关总线端口的内射匹配避免了任何端口名称冲突。D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107119BCparsed_out/parsed_in1,parsed_in2,in图五. 多播总线实例通常,同步多播总线的作用是非确定性地选择在其输入端口之一上涉及的事件,复制该事件并将其同步地传送到其所有输出端口。请注意,此行为不依赖于连接到总线的组件数量因此,我们可以从总线接口中包含的端口数中抽象出来。这种抽象是允许我们构造总线类的关键知识。它的实例在总线接口中有一定数量的端口(因为到其他组件的链接数量是有限的)。实例化是根据总线实例所在的上下文来完成的。在前一段中提到的BC总线的示例中,BC总线是具有一个输入端口和三个输出端口的实例形式上,我们将同步多播总线的Bmc类定义为以下单态I/OLTS:Bmc={q0},T,q0转移关系T是由以下表达式定义的无限可数集:w∈ R,Δ<$q0,{w},Δ,q0<$∈ T4.2异步消息传递协调模型作为总线类定义的另一个例子,我们在这里提出了一个异步双向消息传递的协调这个协调模型的功能是从一个组件接收事件,并将其存储在内存中,直到它被另一个组件接收它可以作为一个单细胞缓冲器。请注意,为了简单起见,我们在本文中定义了VCD的非值传递版本,因此这里的内存只处理有关输入事件发生的信息。参见图3中的BUF总线。该总线的确切行为如图1中的状态转换图所示。六、利用VCD协调层的功能,我们现在想概括异步消息传递总线的概念更确切地说,与前一小节类似,我们为此定义了一个新的总线类在这个定义中,我们从输入和输出端口的具体数量中抽象出来,并将相关的无限状态转换模型建立在可能的异步双方交互的非确定性基础上在总线实例中,该数目然后相对于周围组件的数目被限定形式上,我们将B类异步消息传递总线定义为120D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107BUFheader_out/−−/header_in见图6。 异步消息传递总线实例I/O LTS:• Q ={qw|w∈ W}<$q0Bamp=Q,T,q0• T由以下表达式定义:w ∈ W。qx∈ Q. <$qx,<$,{x},q0 <$∈ T更复杂类型的总线类建模异步有界和无界协调模型可以按照上面给出的场景定义连同在特定网络的上下文中实例化不同总线类的可能性,它展示了VCD协调层的异构性5结论和今后的工作本文提出了一种语言VCD,用于具有异构协调模型的基于组件的并发系统的层次化规范化。该语言的关键概念是总线,它表示系统架构中使用的协调模型。由于其异构性,VCD既可以作为经典软件体系结构建模符号的扩展,也可以作为反应式系统中协调规范的框架我们从三个方面看到我们工作的主要贡献。首先,该语言的基于组件的特性及其以精确的操作语义为基础的分层结构允许将传统的软件和硬件设计方法与从进程代数理论已知的形式化方法(例如,精化、等价或模型检查)。另一方面,协调方面的建模与行为方面的建模在语法和语义上的分离使得可以独立于行为部分的建模来定义系统的静态通信基础设施最后,该语言的行为层和协调层都支持异构性,不仅允许在一个规范中混合各种协调模型,还允许使用不同的模型来描述组件的行为例如,可以将定义为Statecharts的组件与定义为Petri网的组件放在一起,并使用VCD协调层的结构指定它们之间的协调关系。我们目前正在实施一个图形工具,它允许VCD图表,D. Šafránek/Electronic Notes in Theoretical Computer Science 180(2007)107121简单地创建和修改。在我们未来的工作中,我们希望在VCD中增加类型化的值传递支持。我们的目标也是精确分析我们的语言与其他形式主义,特别是与进程代数的关系。这里要考察的关键我们想把过程代数理论中的等价概念引入VCD中。在未来的工具支持工作中,我们的目标是将VCD的编辑器与分布式验证环境Divine [11]连接起来。引用[1] BARNAT,J., T. 布拉兹迪尔山口 Kr c'al,V. 我的意思是,我的意思是,我的意思是。陈文龙,“智能电网的设计与应用”,国家电网公司,(2002).[2] Bergstra,J.A. 和p.Klint,The discrete time ToolBus-a software coordination architecture,Scienceof Computer Programming31,pp.205-229[3] Berry,G.,Esterel的基础,在:证明,语言和互动:纪念罗宾米尔纳散文(1998)。[4] Ciancarini,P.,作为软件集成器的协调模型和语言,ACM计算调查28(2)(1996),p. 三百[5] 克里夫兰河,X. Du和S. A. Smolka,GCCS:A Graphical Coordination Language for SystemSpecification,in:Proceedings of COORD[6] 哈雷尔,D.,Statecharts:A Visual Formalism for Complex Systems,Technical report,TheWeizmann Institute(1987).[7] ITU-TS,[8] Leue,S.,“电信系统工程的方法和语义学”,博士论文,伯尔尼大学(1994年)。[9] Maggiolo-Schettini,A.,A. Peron和S. Tini,A comparison of statecharts step semantics,Theoretical Computer Science290(2003).[10] 帕帕多普洛斯湾A.和F. Arbab,Coordination models and languages,in:761,Centrum voorWiskunde en Informatica(CWI),1998 p. 55个。[11]ParaDiSe实验室,Masaryk University Brno,“DiVinE项目主页”,(2004年)。网址http://anna.fi.muni.cz/divine[12] Pezze,M.和S. Shatz,Software Engineering and Petri Nets,in:Proceedings of the Workshop onSoftware Engineering and Petri Nets,2000。[13] 雷,A.和R. Cleaveland,Architectural Interaction Diagrams:Aids for System Modeling,in:Proc.of the 25th International Conference on Software Engineering(ICSE 2002)(2003).[14] von der Beeck,M.,Formalization of UML-Statecharts,in:Proceedings of UML 2001,LNCS(2001).[15] Safr'anek,D., SGCCCS:AGraphicalLanguageforore-TimeCocordinatitonin,inProoceedingofFOCLASA'02,ENTCS68(2002).
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 中文翻译Introduction to Linear Algebra, 5th Edition 2.1节
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功