没有合适的资源?快使用搜索试试~ 我知道了~
面向通用组件体系结构的多路访问抽象框架及其应用
理论计算机科学电子笔记176(2007)25-45www.elsevier.com/locate/entcs面向通用组件体系结构的多路访问1M. Klein,J. Padberg2在Softu?rtechnikundTheortischeInformatik,TechischeUniversit?tBerlin,GermanyF. Orejas3DepartamentedeleLeleinguagesistemesInforma`tics,UniversitatPolit`ecnicadecatalunya,Barcelona,Spain摘要本文介绍了一个抽象框架,用于指定具有多个require和provide接口的组件,该框架允许指定对单个provide接口的多个访问。该框架可以看作是抽象层次和基于连接器的组件指定方法的推广。主要思想在一个示例规范中阐明,这是一个Web浏览器套件的组件架构。对于这一点,基本网的应用,并显示为抽象框架的实例。保留字:构件体系结构、约简语义1介绍到目前为止,基于组件的软件开发几乎已经成为大规模软件工程的标准(参见例如,[21,22,33,34]),原因如下:例如,一次实现的组件可以很容易地集成到需要相同功能的其他项目中。可以购买具有明确定义的接口的组件,因此,可以通过支付快速集成到项目中的代码来缓解软件项目开发的时间压力。组件主体的更改,甚至是完整的交换,都可以被封装处理,即1鸣谢:这项工作得到了TMR网络SEGRAVIS的部分支持2电子邮件:[klein,padberg]@cs.tu-berlin.de3电子邮件:orejas@lsi.upc.edu1571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.02.03026M. Klein等人/理论计算机科学电子笔记176(2007)25保留相应的接口。参见[24]对基于组件的软件工程的调查。但是,尽管基于组件的软件开发方法被广泛接受,仍然缺乏适合于基于组件的设计的规范技术特别是形式化规范技术的应用几乎不支持以一种连续的方式,包括组件和组合以及架构。但是,当验证或检查实现相对于规范的正确性很重要时,例如,在安全相关软件的情况下,与不太正式的技术相比,配备有数学语义的正式技术在[20] D.Garlan列举了令人信服的使用形式化技术、体系结构描述语言的论据在[31]中,给出了关于使用形式化技术描述软件体系结构的调查(德语)举例来说,有:进程代数用于各种体系结构描述语言,例如,DARWIN[27,28],WRIGHT[2,3]或AEMILIA[4],但这些特异性都没有组件本身。SARA [17]是一种使用Petri网描述操作行为的早期架构描述语言。在[9,10]中提出了二元Petri网。它们使用并行进程对象的抽象表示来描述体系结构在ZCL [11]中,它是基于Z [36]的一种集合论规范语言。Z方案用于描述体系结构以及动态变化。COMMUNITY[18]和COOL[23]是建立在图变换基础上的架构描述语言。但在COOL中,没有给出明确的组件指定。但是,只有少数其他方法旨在将基于组件的体系结构和形式化规范技术结合起来,以获得连续的形式化技术。与我们的通用方法相比,这些方法只检查特定的规范 技 术 。 例 如 [7] 使 用 集 成 形 式 规 范 技 术 Korrigan 来 指 定 组 件 及 其 组 成 。COMMUNITY[8,19]是一种基于图转换的架构建模原型语言。在[13]中,提出了一种基于转换的分层组件概念,该概念对于所使用的规范技术和所应用的转换概念这是缩小正式规范技术和真实组件架构之间差距的第一步,之后是使用泛型规范和转换的另一个在[16,12]中,引入了基于连接器的架构,以实现具有多个提供接口的组件的规范,这些接口由具有多个需求规范的连接器协调。这两种方法都已成功地实例化为各种具体化技术[14,15]。本文介绍了一种新的、更通用的方法,它允许指定具有多个require和provide接口的组件,其中require接口对应于先前基于转换的方法中的导入接口,provide接口对应于导出接口更重要的是,该方法允许不同需求的连接-M. Klein等人/理论计算机科学电子笔记176(2007)2527,,、、、、Web浏览器组件邮件组件文件浏览器组件文本编辑器组件Fig. 1. 使用多路访问的一个或多个具有相同部件的部件规格提供规格。这是软件开发过程中非常常见的场景。图1示出了一个小型架构,其包含web浏览器、邮件程序、文本编辑器和文件浏览器,该文件浏览器由web浏览器和邮件程序两者访问。在第2节中,我们展示了两种访问都在相同的provide specification上操作,以及如何在新方法中处理这一点。作为上述通用的基于转换的方法,本文集中在架构的静态视图见第5讨论处理动态体系结构的由于组件架构的形式化方法的主要动机是启用验证和模型检查,因此有必要计算给定组件规范集的公共规范,即。给定的架构。这个过程中,在节详细解释3、适用于多种规格技术和应用场景。2示例:Web浏览器套件在本节中,将详细解释图1我们使用基本网作为规范技术。在第4节中,我们概述了这种技术的通用框架的正式实例化。COMP WB,,,,,,, COMP,M,,、、、、、、、zz zCOMP FB COMP TE图二. Web浏览器套件在一般情况下和示例中,每个组件都由一个主体和一组provide和require规范组成。例如,给出了组件Web浏览器通过COMP WB =(COMP WB→BODWB→PRVWB),其中指定所需接口,BOD WB为主体,PRV WB为内部提供-界面。每一个这些规格都给出了一个基本网。图2示出了作为组件及其连接的架构图。图中更详细的说明7显示了示例组件的所有规格连接转换和嵌入。该体系结构的组件索引集由I={WB,M,FB,TE}给出,其是组件名称的缩写集:Web Browser、Mail、File Browser、Text Editor。28M. Klein等人/理论计算机科学电子笔记176(2007)25Web浏览器组件的规格如图所示3包含两个provide接口和一个require接口。Web浏览器组件的提供接口声明该组件最初处于称为空闲的状态,并且可能发生两种不同的事件:简单加载网页(加载页面)或加载并将文件存储到磁盘。这两个事件导致相同的状态,即空闲状态。提供的规范网络由组件的主体网络细化。空闲位置(表示组件的初始状态)和加载页面转换保持不变。下载和存储转换被一个子网所取代,该子网包含三个位置:控制、等待和文件,以及转换存储文件、下载!浏览文件。此子网模型,每次发生下载后!事件,用户必须启动文件浏览器以确定文件的存储区域和保存名称。在此选择之后,执行实际下载和文件保存。place控件确保所选文件是已启动的浏览过程的结果。这个文件浏览过程和相关的地方是在组件的唯一要求规范。组件COMP WB还包含其提供和要求接口与主体之间的连接。对于require接口的情况,相应的嵌入非常明显,因此被省略了。图4提供接口与组件COMP WB的主体连接。 唯一的地方 被映射到身体网络中的同一个地方。由于转换加载页面在主体中保持不变,因此它被映射到包含转换加载页面的子网以及连接到转换的唯一位置。转换下载和存储被映射到一个包含除转换加载页面之外的整个主体的网络。邮件组件的规格如图5所示。除了一个body net,它还包含一个provide接口和两个require接口。最初,这个组件的provide接口允许两个事件:读邮件和写邮件。当一封邮件被写好后,网络就可以发送这封邮件了。两者都是,COMP_WBPRV_WB样本1空闲下载并存储PRV_WB样本2空闲加载页面BOD_WB空闲加载页面store_file下载!等待控制文件浏览文件中文(简体)浏览文件等待档桉图三. Web浏览器组件M. Klein等人/理论计算机科学电子笔记176(2007)2529PRV_WB样本2空闲加载页面prv_WB1,PBOD_WB空闲prv_WB102,Pprv_WB102,T加载页面下载!prv_WB1,T等控制文浏览文件存储文件PRV_WB样本1空闲下载并存储见图4。 转换prv WBCOMP_MPRV_M准备阅读邮件写邮件发送邮件准备发送BOD_M准备阅读邮件编辑初始化发送邮件编辑就绪创建文本准备发送依恋!附加文件等控制文件浏览文件单位:平方米创建文本编辑就绪就绪发送单位:平方米浏览文件等待档桉图五.邮件组件发送邮件和读取邮件的转换导致初始状态,该初始状态由位置就绪标记指定。在组件的主体网络中,编写邮件的过程被细化。首先,邮件发送者启动一个文本编辑器,然后用它来编写电子邮件的内容。然后,用户可以发送邮件或在邮件上附加文件,后者包括浏览合适的文件。电子邮件内容的创建和附件的浏览都将由组件的环境提供30M. Klein等人/理论计算机科学电子笔记176(2007)25、、、COMP_FBPRV_FB浏览文件等待档桉BOD_FB等待选择文件change_dir文件COMP_TEPRV_TE创建文本编辑就绪文本BOD_TE输出文本编辑就绪文本write_char del_char见图6。 文件浏览器和文本编辑器组件这通过在require接口中出现两个转换来表示。图6显示了组件文件浏览器和文本编辑器。两者都不包含require接口。简单的文件浏览器只有两个过渡,即改变目录和最终选择文件。文本编辑器主体由三个转换指定,表示写入字符,删除字符和最终导出写入文本的可能性。PRV WB伪WB czPRV Mprv M czBOD,W,BBOD,M,,,re,qMrm2请求WB中国银行conWB,FB要求Mrm1Mrm1conM,rm1,FB、、200平方米conM,rm2,TEczZPRVFB公司简介 czczPRV TE伪TEczBOD FB BOD TE见图7。 Web浏览器套件图7示出了web浏览器套件的架构图。它涉及所有的规范、变换和嵌入,但它忽略了图3-6中给出的所有特殊基本网。该图的抽象是图11中的体系结构图。二、在这个示例架构中,除了一个连接转换之外,所有的连接转换都是恒等转换,即我们拥有相应的require和provide接口的相等性。图8所示的变换conM,rm2,TE是不同的,因为它实际上应用了沿着标记的基本网的变换重命名位置的可能性。一般来说,我们的框架允许通过细化转换来连接需求和提供接口。对于基本网的情况,这包括用递归代替变迁的可能性。由于将形式化技术应用于软件工程的主要动机是验证,因此我们需要从给定的组件构建一个单一的规范M. Klein等人/理论计算机科学电子笔记176(2007)2531创建文本创建文本空准备加载页面阅读邮件编辑初始化发送邮件编辑就绪文控制下载!依恋!附加文件等控制文件change_dir选择文件存储文件输出文本del_char写字符单位:平方米准备发送编辑就绪conM,rm2,TE,PconM、rm2、TE、TconM,rm2,TE,PPRV_TE编辑就绪文本图8.第八条。转换conM,rm2,TE这可以用该技术的相应工具进行验证。在下一节中,我们将定义如何将组件组合成更大的组件。在我们的示例架构中,重复应用组合操作会产生一个包含浏览器套件整个行为的组件图9示出了所得部件的主体。见图9。 组合浏览器套件在推导出完整的规格说明之后,我们现在可以分别针对给定的需求规格说明开始验证或模型检查,但这不在本文的范围内3通用框架这项工作的一个中心目标是定义能够处理多个访问场景的组件和组合操作的通用概念,如前一节的示例所示。在[13]和[16,12]的方法中,这项工作应用了通用规范,嵌入和转换来形成组件。由于不是所有的嵌入和变换类都适合于这个目的,我们必须首先说明一些一般性的要求。这些需求的有效性需要在实例化通用概念时在具体的规范技术中得到证明。32M. Klein等人/理论计算机科学电子笔记176(2007)253.1总要求我们的通用技术需要一个定义的规范类,相应的变换和嵌入。由于转换在框架中用于建立提供接口和实际组件规范(组件主体)之间的连接,因此假设转换为规范定义了一类精化是合理的。由于存在如此多的精化概念,即使对于单一的具体化技术,这个假设也不应该在抽象层次上进一步形式化--但是当概念被实例化时,它必须被澄清。在第2节中,我们对基本网应用了一个精化概念,它允许将单个变迁映射到整个网络(见第2节)。4详情)。对于转换和嵌入,我们需要一个复合操作和一个特殊的身份实例。 此外,嵌入类必须定义变换的子类,即我们需要映射trafo:EMB→TRAFO,为每个嵌入选择一个转换[12][13][14][15][16][17][它指出,单个过渡可以应用于更大的上下文。定义3.1扩展性质给定嵌入e:SPEC R→SPEC和变换t:SPEC R = SPECJ。现在有一个选定的变换tJ:SPEC=RSPECJ和一个选定的嵌入eJ:SPEC RJ→SPECJ,使得图10中的图(1)成为扩展图。 如果t也是一个嵌入,我们需要存在一个唯一的扩张图(2),称为互扩张图。技术参数技术参数技术参数t(1)tJ公司简介t(2)tJJ JSPECRJeJSPECJ规格RJeJSPECJ见图10。延伸下面定义的多重扩展表达了在单个转换中将一组转换应用于更大上下文的可能性。它与[16]和[12]中使用的并行扩展不同,只允许具有相同余域的给定变换,并且它包含上面定义的扩展作为特殊情况。一般来说,这种构造并不适用于所有的嵌入族和相应的变换。直观地说,如果所有嵌入的边界被保留,即,这样的族允许多个扩展。转换不删除或重写维护格式良好的规范所需的部分,并且关于嵌入的所有映射都被唯一地转换定 义 3.2 多 重 扩 张 给 定 一 个 指 标 集 I , 一 个 相 应 的 嵌 入 族 e = ( ei : SPECRi→SPEC)i∈I和一个变换族tr =(tri:SPEC Ri= SPEC R)i∈I。现在e和tr允许多重 扩 展 , 如 果 存 在 一 个 选 定 的 变 换 t : SPEC=SPECJ 和 一 个 嵌 入 eJ : SPECR→SPECJ。我们称图(1i)i∈I为多重扩张图.M. Klein等人/理论计算机科学电子笔记176(2007)2533我JJJJ我SPECReiSPECtri(1i)i∈It公司简介规格ReJSPECJ见图11。 多个扩展定义3.3嵌入与多重扩张的相容性一个嵌入族(ei:SPEC Ri→SPEC)i∈I与多重扩张相容,如果对于每个多重扩张图(1),有一个变换族-对于嵌入 族(ej:SPEC Rj→SPEC)j∈I\C,我们有一个选定的嵌入族(eJ:SPECRj→SPEC)j∈I\C,SPECJ)j∈I\C。SPEC RieiSPECe,,SPEC Rj(二) . . . . .特里(一)t. . . eJczc z,. S. J规格ReJSPECJ见图12。 嵌入的兼容性我们要求所有嵌入族的子类D的存在使得该子类中的所有元件与多个扩展兼容。 此外,我们要求D在多重扩张下是闭的。即,如果图12中的(ei:SPEC Ri→SPEC)i∈I在D类中,并且(1)是扩张图,我们有嵌入eJ则(eJ:SPEC Rj→SPECJ)j∈I\C{eJ:SPEC R→SPECJ}属于D类。在相应的实例化中,这可以通过定义D非重叠嵌入来实现。请注意,实例化必须定义哪些转换和嵌入构成多扩展图。此外,我们假设多个扩展图的水平和垂直组合:给定图13中的图(1),(2),(3),其中i∈I和j∈J。 现在,如果(1)和(2)是多个,则(1+3)和(2+3)必须是多个扩展图(3)是可拓图。SPECReriSPEC规格C特里ecj cz(1)不二江池JTRJ cz(二)欧共体和日本J规格RTJ cz(三)埃尔杰杰SPECJtJJ cz规格CSPECRJSPECJJ34M. Klein等人/理论计算机科学电子笔记176(2007)25图十三. 扩展图M. Klein等人/理论计算机科学电子笔记176(2007)25353.2组分和组成基于上面解释的要求,我们现在能够定义组件规范和相应的组合操作。定义3.4组件一 组件 规格COMP=(BOD,由主体规范BOD、针对某个指标集I的需求规范族BOD=(REQi)i∈I、针对某个指 标 集 J 的 提 供 规 范 族 PRV= ( PRVj ) j∈J 以 及 嵌 入 规 范 族 req= ( reqi :reqi→BOD)i∈I和变换prv=(prvj:PRV=reqBOD)j∈J组成,其中我们要求嵌入规范族在类D中,因此在某种意义上与多重扩张相容的def。三点三请注意,我们在第2节中的例子中的成分符合这个抽象的定义。图3中的Web浏览器组件包含两个provide规范,一个body规范和一个require规范。提供接口的相应转换如图4所示。接下来,我们总结了确保给定的连通分量集 可以简化为一个组件。 根据[16,12]我们把这样的一个集合叫做架构。 一个架构A是一组组件,元素COMPS(A)=(COMP i)i∈I和相应的连接变换CONS(A),它们满足下面列出的性质。每个架构A可以是图示的。由架构图GA(例如,对于图2中的web浏览器套件)来绘制,通过将A收缩为包含由组件名称标记的节点和由连接变换标记的边的• 架构中没有孤立的组件• 每个需求规范最多是一个连接转换的来源。• 对于每个组件,我们要求其嵌入的需求接口和连接的实现转换允许多个扩展。(即: (prv 2y∈ con1,j,2,y)j ∈I 1,y ∈J C2,con1,j,2 ∈CONS(A)允许多重扩张)• 图中没有圈,这些圈是通过用节点表示单个规范,用非有向边表示变换和嵌入而得到的在[16,12]中已经表明,如果应用的组合操作产生独立于其应用顺序的唯一结果,则架构可以简化为单个组件。下面定义的操作就是这种情况下面定义的具有多个接口的分层组合将单个提供组件连接到单个请求组件,可能通过不同的提供和请求接口。直观地说,需求组件通过需求组件访问的提供接口与提供组件粘合在一起定义3.5具有多个接口的给定一个 需要的组件COMP R=(BOD R,CORR,PRV R,req R,36M. Klein等人/理论计算机科学电子笔记176(2007)25zzzprv R)和一提供组件COMP P=(BOD P,BQP,PRV P,req P,prvP),其中索引集IR,JR和IP,JP分别用于需求组件和提供组件的需求和提供接口。我们将实际连接到PRV Rj请求Rprv RjreqRiczreq RzR我conBOD R,,zCccPRV Px、、、PRV我czPl(i)xconJCccCcc要求RJ,prvP(1i)C,xprv Pl(i)cc,z_czJCccPyreqPyBODPreqR中国BOD G图十四岁多需求层次组合由CRI R提供组件。给定相应的连接变换con=coni:<$Ri=<$PRVPl(i),其中i∈CR <$IR , l(i )∈JP , 使得嵌 入族req R 和合 成变换 族xconi= ( prvPl ( i )<$coni)i∈CR允许多重扩张. 映射l:IR→JP必须是单射的。所有分量的指标集是不相交的.在第一步中,我们可以导出一个多重扩张图(1i)i∈CR,其中选择了变换xconJ和嵌入req RJ。 的相容性由分支定义给出的关于多重扩张的嵌入(req Ri)i∈I产生一组嵌入(req RJ)z∈IR\CR,使得(req RJ)z∈IR\CR <${reqRJ}再次在类D中,因此关于多重扩张是相容的。 现在我们定义层次结构的结果使用多个接口(简称:组合),COMPP=COMP G=(BOD G,BOD G,PRV G,req G,prv G),其中,新组成部分的要求和规定的索引集分别定义为IG=(I R\C R)IP和JG=JRJ P我们有:G=(req G=(req RJ)z∈I R\C R<$(req RJ<$req Py)y∈IRPRV G=PRV RPRVPprv G=(xconJ<$prv Pj)j∈JR<$(trafo(req RJ)<$prv Px)x∈JP请注意,嵌入族(req Gi)i∈IG也属于类D。 在图15中,详细描绘了所得部件的元件zCM. Klein等人/理论计算机科学电子笔记176(2007)2537BOD_M准备阅读邮件发送邮件编辑就绪prv_Mreq_Mrm2,P准备发送req_Mrm2,Treq_Mrm2,P单位:平方米创建文本等待控制文req_Mrm1编辑就绪准备发送单位:平方米浏览文件等待档桉conM,rm2,TE,Pcon M,rm2,TE,TconM,rm2,TE,PXcon'req_MrBOD_MTE准备编辑就绪文编辑初始化发送邮件prv_TEPprv_TETprv_TEP编辑就绪编辑就绪文本请求文等控制文件del_char写字符输出文本BOD_TE写字符创建文本阅读邮件PRV_TE依恋!创建文本编辑初始化浏览文件附加文件输出文本del_char浏览文件附加文件PRV RjPRVP,xPRVPl(i)xconjprv RjRz,p,rvPx. .. .、、prv Pl(i). . . .J,z_czreqRJ. .req Rz要求PyREQPyBODPc z,s.BOODGtrafo(req RJ)图15. 组成结果PRV_M准备阅读邮件写邮件发送邮件准备发送附着门特!图16. 邮件和文本编辑器由于我们允许不同的组件访问同一个provide接口,所以所有的provide接口都被组合保留下来。图16显示了第2节示例中邮件程序和文本编辑器组件的组成。注意,仅详细示出了变换prv TE、conM、rm2、TE和嵌入req Mrm2具有多个接口的层次组合与其应用顺序无关由于两步合成有三种可能性,本文提出了三个不同的定理:合成的结合性,合成Ⅰ和Ⅱ的相容性。38M. Klein等人/理论计算机科学电子笔记176(2007)25当我们有两个连接跨越给定组件体系结构的同一层时,我们也可以并行组合,它在一个步骤中构造两个组合的结果在定理3.8和3.9中就是这种情况。Comp 1con 1czComp 2con 2cz化合物3图十七岁架构图GA1定理3.6给定三个复合的结合性组件COMP i=(BOD i,BDI,PRVi,reqi,prv i),对于i∈ {1,2,3},如架构图GA1所示,以及变换族con 1 =(con1i:BDIi= BDIPRV 2l(i))i∈C1,con 2 =(con 2k:BDI 2kBDIPRV 3l(k))k∈C2,对于某些C 1 BDI 1,C 2 BDI 2,其中I 1和I 2表示组件COMP i的索引集。需要COMP 1和COMP 2的接口,使得族对(prv 2l(i)con 1i)i∈C1,req 1和(prv 3l(k)con 2k)k∈C2,req 2允许多个扩展。我们有以下结合律:(COMP 1压缩机1COMP 2)压缩机2COMP 3=COMP 1浓缩物1(COMP 2浓缩物2COMP 3)证据图18详细显示了给定的组件和连接变换,其中我们有:j∈J1,l1:C1→ J2内射,i∈C1<$I1,k∈C2 <$I2,iJ∈I\C1,kJ∈I 2\C 2,且JJ∈J2\l(C1),m∈ I3,x∈J3.由于这些假设,我们能够构造多重扩张图(1)和(2)。扩展图(3)存在,因为这种构造不需要任何属性。 我们方程左边的主体,(COMP1)COMPCON1COMP 2)COMPCON2COMP 3,通过以下步骤构建:首先,我们必须构造扩展图(1)来解决con 1。 我们知道(2) 和(3)是多重扩张图,因此我们可以构造(2+3)并重新求解con2。为了构造方程左侧的主体,COMP 1<$con1(COMP 2<$con2COMP 3),第一步是使用多重扩张图(2)求解con 2,然后使用多重扩张图(2)求解con 1。M. Klein等人/理论计算机科学电子笔记176(2007)2539xcon请求1JIJcz,s我我,,,得双曲余切值.、、、1iPRV1jPRV1jreq1czreq1JBOD1,,1iJ2kJ,PRV2jJPRVcon1icz2l1(i)(一),,,,,,,,,,prv2J......,jprv2l(i)200万美元、、、req2k,z,zczB OD2B OD 12PRV3,,,,,,,,,PRVcon2kcz3l2(k)(二)(3),,,,,,,公司简介公司简介123米要求3BOD3BOD23BOD123图18. 组合的结合性扩展图(1+3)。由于延伸产生唯一的结果规范和变换,我们得到一个唯一的身体BOD 123。Q3.3组合物的相容性为了确保一个独特的减少架构,我们需要证明,对于所有类型的组件的组合的结果,几个组成步骤是独立的顺序组成步骤。在Thm。3.6这显示了沿层次结构的分层。本节介绍合成步骤,其中包括相同层次结构级别的组件的合成。图19示出了这样的架构。对于这种情况,给定组合物的结果可以在一个并行步骤中构造。我们可以证明,这种并行合成的结果是等于顺序合成无关的顺序。Comp1,c,在1、、Comp 2con 2,......,z,o化合物3图十九岁架构图GA2定义3.7并行合成给定三个分量COMP i =(BOD i,RPMI,PRVi,req i,prvi),i∈ {1,2,3}和变换族con 1=(con 1i:1i=PRV 3l(i))i∈C1,con 2=(con 2k:对于某些C1<$I1,C2 <$I2,使得对(prv 3l(i)n(con 1i)i∈C1,req 1和(prv 3l(k)n(con 2k)k∈C2,req 2)都允许多重扩张.然后我们构造了多重扩张图(1)和(2)、、M40M. Klein等人/理论计算机科学电子笔记176(2007)25J一、在图20中。图(3)是相互延伸的图,包括生成体BOD 123。并行合成的结果由下式给出:(COMP 1,COMP 2)n(con 1,con 2)COMP 3=COMP 123=(REQ 123,PRV 123,请求123,PRV 123),哪里123=(req 123=(req 2JJ<$req 1J)iJ∈I1\C1<$(req 1JJ<$req 2J)kJ∈I2\C2,iJkJPRV 123=(PRV 1j)j∈J1<$(PRV 2jJ)jJ∈J 2<$(PRV 3x)x∈J3,prv 123=(trafo(req 2JJ)<$xcon 1J<$prv 1j)j∈J1<$(trafo(req 1 JJ)(prv 3x)x∈J3.PRV 1jPRV 1jREQ1Jcz,,REQ1REQ 2PRV 2jJPRV 2Jcz,R,EQ2JiBOD 1(一)我con 1iczcon2kK(二)cz生化需氧量2kPRV 3l(i)......PRV 3xprv 3x PRV 3l2(k). . . .请求2JKprv3,. . . . . .公司简介l1(i)、、、... . 立法会第312(k)号决议BOD 13,,zc,zscz,c,req 1J生化需氧量请求2J生化需氧量23、、、、、、、、req2,JJ,(三)JJ,,z__,,.、req 1BOD 123图20. 并联组成定理3.8复合的相容性I给定与上述定义中相同的分量和连接变换,则我们有以下相容性定律:COMP1和COMP 2的浓度分别为1和3,COMP 2-con2(COMP 1-con1COMP 3)=(COMP 1,COMP 2)-con 1,con 2 )COMP3请求1JJ 我JM. Klein等人/理论计算机科学电子笔记176(2007)2541第2节中介绍的Web浏览器套件涉及这样一种情况:Web浏览器组件和mailer组件访问文件浏览器组件,如图2和图7所示。42M. Klein等人/理论计算机科学电子笔记176(2007)25我K12、、、、证据图20详细示出了给定的设置,其中映射l1:I 1→J 3和l2:I 2→J 3各自是单射的,但是它们的上域不被假设为不相交的。 首先,我们构造并行组合的结果,两个连接在一个步骤中。在这种情况下,我们从计算多重扩展图(1)和(2)开始,这是由于假设prv 3l1(i)con 1i和req 1以及prv 3l2(k)con 1k和req 2具有多重扩展而存在的。图(3)被构造为包括结果的相互扩展图123. bodybodybod 在第一次只处理沿着con 2的合成的情况下,REQ1req1iBOD1con 1iREQ2req2kBOD2con2kczPRV 3l1(i)trafo(req 1J)(1J)czPRV 3l2(k)trafo(req 2J)(2J)czreq 1JJcz czreq 2JJcz生化需氧量23BOD231生化需氧量13BOD132图21.逐步合成在这里,我们得到了扩展图(2)。然后,我们构建如图21所示的多扩展图(这个图是由与上面解释的并行组合情况下的图(1+3)相同的给定变换和嵌入构造的。这意味着BOD 231=BOD 123。类似地,我们在多重扩张图(1)中构造BOD 13。然后我们构造了平行合成中等于(2+3)的扩张图(2 ')。这意味着BOD 132=BOD 123=BOD 231。此外,在所有三种情况下,我们获得了相同的provide和require接口族以及相应的连接,因为给定组件的不相交索引集意味着组合顺序的独立性。QCOMP,1,con 1,,,,、,o,c,on2、、 zCOMP 2 COMP 3图22岁架构图GA3定理3.9组合物II的相容性给定三个组分COMP i=(BOD i,RPV i,req i,prv i),i∈ {1,2,3},变换族con 1 =(con 1i:n 1i= nPRV 2l(i))i∈C1,con 2 =(con 2k:n 1k= nPRV 3l(k))k∈C2,对于某些C1,C2n1,使得对(prv2l(i)ncon 1i)i∈C1,req 1和(prv 3l(k)ncon 2k)k∈C2,req 1允许、、M. Klein等人/理论计算机科学电子笔记176(2007)2543多个扩展,每个。 我们有以下相容性定律:(COMP1压缩机1COMP 2)压缩机2COMP 3=(COMP 1-COMP1-COMP 3)-COMP 2)=COMP1(con1,con2)(COMP 2,COMP 3)在我们第二节的例子中,这种情况也发生了。图2和图7显示了mailer组件访问文件浏览器组件和文本编辑器组件。在[26]中给出了定理的充分证明。在这里,我们只勾勒出它的主要思想。在[16]中,引入了并行扩展图,它将独立的转换嵌入到一个公共的更大的上下文中。此外,它还提供了一种特殊情况,即除了一个变换之外,所有变换都是恒等式。这里也是如此,因为COMP 1的require接口是不相交的。组成这些图产生了身体构造的预期独特性。4实例化到基本网络在本节中,我们将展示基本网的具体化技术[35]适合我们的一般框架。这包括嵌入和转换的定义,以及基于此的多重扩展的构造。[13]中基于层次变换的概念和[16]中的连接器组件框架已经用各种规范技术实例化:[25]中的HLR系统和代数规范,[15]中的Petri网和[12]中的UML图。由于我们的方法是这两个概念的推广,因此可以很容易地将实例化应用于新概念。基本变迁系统是Petri网的一个特殊概念,它只允许弧和权值为1。我们使用[29]中给出的Petri网的代数概念,并通过初始标记对其进行扩展。这使我们能够使用基于集合的表示网络转换的前和后函数一个基本网N=(P,T,pre,post,m)由一组位置P和一组变迁T组成。函数pre,post:T→ P(P)表示连接弧,集合mP包含所有初始标记的位置。基本网之间的普通态射f:N1→N2是位置fP:P1→P2和变迁的映射fT:T1→T2,它们与前和后相容,即fPpre1(t)=pre2fT(t),对于后也类似。映射必须保持和反映初始标记,即fP(m1)<$m2和m2\fP(m1)<$P2\fP(P1)。此类别ENplain具有推出。嵌入是单射态射。以下基本网的变换概念是对[30]中的位置/变迁网的替换态射的修改。这些态射用目标网中的整个子图替换原始网的变迁,并注入地映射位置。再次,标记被保留和反射。更准确地说,替换态射s=(sP,sT):44M. Klein等人/理论计算机科学电子笔记176(2007)25eNeJJeeNJ对于(i=1,2),N1→N2(其中Ni=(Pi,Ti,prei,posti,mi))由位置sP:P1→P2的内射映射和映射sT:T1→ P(N2)(其中sT(t):=Nt=(Pt,Tt,pre2,post2,m2)<$N2其中pre2,post2和m2限于2 2 2转换子集Tt和位置子集Pt。我们又有了保护,2 2标记位置的反射,即sP(m1)<$m2和m2\sP(m1)<$P2\sP(P1)。”[30]这是一个很好的比喻。所以,我们有EN类别。与[30]类似,普通态射是替换态射的一个特例。我们具有定义3.1中所要求的扩张性质,因为在范畴EN中既有带替换态射的嵌入的推出,也有纯态射的推出。抽象框架需要一个D类,它兼容多个扩展的嵌入(见Def3.3)。为此用基本网实例化一族嵌入ei:Ni→N没有如果嵌入ei(Ni)的余域是成对不相交的,则为零。然后我们有了定义3.2中所要求的多个扩展。基本上,我们通过将NRi的嵌入替换为它们在NR中的替换子树i(NRi)来将NR与N粘合在一起。在详细的证明[26]中,我们根据EN中的以下图表给出了分类项的构造:N RieiN特里 (一)cztcri^czN RJ我NiebiNEENJ首先,我们构造i推出图(i)。接下来,我们构造星推出N RieJ−→i^ebii−→N是一个简单的函数,它的值等于Nebitcri ˜=e−→N。我们已经得到了uniqueeJ=e^ieJ和uniqueetr=e^it^r我们进去我我[26]这个星coequalizer存在,eJ是一个定义良好的嵌入。嵌入与多重扩张的相容性如定义3.3所要求的,对于没有重叠的嵌入族(e i:Ni→ N)i∈I,我们有,因为推出和余均衡器构造保留了不在余域(e i(N R i))i∈C<$I中的那些部分不变,特别是(e j(N R j))j∈I\C的余域。因此,存在嵌入族(eJ:NRj→NJ)j∈I\C,其保持非-见[26]。N RieiN,N Rj特里 (一)TCRIJcz^czJN RJ我NiebiNeeNJ5结论在本文中,我们提出了一个通用组件的概念,能够处理多个提供和要求接口和多个访问。这包括通用组件的定义和多个接口的层次组合操作eJ
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- 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
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功