没有合适的资源?快使用搜索试试~ 我知道了~
----理论计算机科学电子笔记114(2005)119-136www.elsevier.com/locate/entcs一种基于面向对象的生成式领域建模的构件组装方法放大图片作者:Fei Cao.作者:Carol C. 伯特1阿拉巴马大学伯明翰分校计算机与信息科学系拉吉夫河作者:Andrew M. 奥尔森2印第安纳大学普渡大学印第安纳波利斯分校计算机与信息科学系Mikhail Auguston3美国加利福尼亚州蒙特雷海军研究生院计算机科学系摘要本文提出了一种基于面向方面的生成领域建模的构件自动装配方法。它涉及到覆盖组件规范生成的生命周期,以及随后组装实现组件以生成最终软件系统。面向对象的技术被应用于捕获在组装过程中出现的横切关注点。随后,这些关注点被编织以生成用于组装异构组件以构建单个集成系统的粘合/包装代码。关键词:构件组装,生成式编程,生成式领域模型,构件规范,面向方面,统一框架,两级语法。1 电邮地址:caof,bryant,cis.uab.edu2 电邮地址:rraje,cs.iupui.edu3电子邮件地址:auguston@cs.nps.navy.mil1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.02.070120F. Cao等人理论计算机科学电子笔记114(2005)1191介绍随着软件构件开发技术的日益成熟,通过组装商用现成构件(COTS)(实现于COM4、DCOM5、EJB6、CCM7等模型中)来开发软件系统的思想,不仅在理论上是合理的,而且在实践中也是可行的。基于组件的软件组合提供了一种开发范式,减少了上市时间和成本,同时提高了生产力,质量和可维护性[3]。但组件组装仍然主要是手工艺或专有的方法[28]。当组件以可能需要二进制代码适配的二进制形式交付时[17],或者当底层实现语言、部署环境是异构的时,这将成为一个更加困难的问题。对于后一种情况,通常看到的是中间件方法,如CORBA,它允许组件跨语言和平台边界协同工作。然而,这种方法也可能增加额外的复杂性,使分布式系统的构建更加困难[9]。UniFrame8是一个异构分布式组件无缝互操作的框架。它的目标是使集成异构组件的过程自动化,以创建符合质量要求的分布式系统。通过基于开发人员的功能和非功能规范([ 2 ],[ 26 ])自动生成胶水/包装器代码在本文中,我们提出了一种方法来支持自动组件组装的UniFrame应用面向方面的生成领域建模。第二节介绍了UniFrame的背景知识。第3节和第4节介绍了我们使用面向方面的生成式领域建模进行组件组装的第5节介绍了一些讨论,随后是相关工作的描述以及第6节的结论。4Comp onen t ObjectModel,http://www.micros of t.com/c om5D列出了C omp o nen t O bjectM odel,http://www.mic ros o ft.com/co m/te ch/dc o m。阿斯普6E nter priseJ avaBean ns,http://java. 南联盟c m/produc ts/e j b7CORBA接口(C ommonO bjecttRequestBr o kerArchitectur re,http://www. 哦,天哪。C)公司简介,网址:http://www. 哦,天哪。o rg/c gi-bin/do c?orb o s/99 - 07-018异构分布式软件组件无缝集成的统一框架-http:www.cs.iupui.edu//www.example.com/uniFrameF. Cao等人理论计算机科学电子笔记114(2005)1191212背景2.1生成式编程如[10]中所介绍的,生成式编程(GP)是一种基于建模软件族的软件工程范例,使得给定特定的需求规范,高度定制和优化的中间产品或最终产品可以通过配置知识从。需求规范有时被称为产品的排序;用于指定家族成员的术语被称为问题空间;实现组件及其可能的配置形成了解决方案空间。问题空间和解决方案空间,以及相关的配置知识,构成了生成域模型(GDM)[10]。GP的独特属性是,它不仅是一个关于重用的开发,为软件系统族建立一个GDM,而且是一个关于重用的开发,使用GDM生成具体的系统;它专注于系统族的生成,而不是一个独一无二的系统。2.2链环随着网络技术的发展,软件系统正从封闭的集中式体系结构向开放的分布式体系结构转变,从实现上的同构向采用异构组件来构建整个系统转变。为了在分布式系统中利用无处不在的组件,同时必须解决这种范式的固有复杂性,组件的功能和非功能属性必须被正式捕获,并且需要一种方法来确保由组件组装的系统的特定QoS(服务质量)9UniFrame是解决这些问题的框架[26]。它使用统一元组件模型(UMM)[25]来编码组件的元信息,作为功能属性、实现技术和协作属性。在UniFrame中,GDM也被用来捕获领域知识和提取组装规则。但是GDM的使用9在本文中,122F. Cao等人理论计算机科学电子笔记114(2005)119供应商,并受到分布式资源发现服务的定位[27]。此外,UniFrame中的GDM用于捕获所发现组件的组装规则。图1展示了UniFrame的全貌。带注释的数字表示处理顺序。从领域专家开始,GDM将被创建(1.1),并将与一些领域标准(1.2)一起使用,作为组件开发人员在解决方案空间中实现组件的指南(2.1,2.2)。这些实现组件在用一些QoS参数量化之后(3),将被暴露给分布式资源分布服务(5)。此后,系统集成商将查询GDM的问题空间以获得可用/部署的组件信息(6),然后命令资源发现服务(7)获取所需的组件(5,8)用于组装。组件组装基于特定的QoS要求进行验证(9)如果它没有被验证(11),那么集成器必须迭代地启动查询和集成过程。从上面可以看出,GDM是UniFrame的重要组成部分,如何表示GDM以便于组件组装至关重要。我们称之为表示GDM生成域建模的方法,这将在下一节中进一步详细介绍。3方法概述3.1Uniframe GDM解空间中组件的规范UniFrame中的组件使用两级语法(TLG)的形式化来指定[4]。TLG中的规范提供了将TLG规范转换为其他表示的灵活性,例如其他形式规范语言,如维也纳开发方法[21]或应用程序代码[6]。TLG包含两个上下文无关文法,一个描述类型域,另一个描述这些域上的规则和操作。请注意,不需要两个级别都有。下面是一个模板TLG规范。类标识符-1标识符-1,标识符-m1::DataType 1; DataType2;...; DataType-n1。函数签名1,. Function-signature-m2:function-call-1,function-call-2,.,function-call-n2.结束类标识符-1。包含“::“的行F. Cao等人理论计算机科学电子笔记114(2005)11912385分布式资源发现组件部署组件质量措施36查询7修改查询2.1组分显影剂2.2系统集成商911没有生成域模型1.11.2标准质量确认是10部署(结束)领域专家(开始)Fig. 1. UniFrame的过程而左侧提供变量名称。请注意,右侧可能同时指定多个类型,这些类型由“;"分隔。左侧也可能有多个变量,由“,”分隔,它们与右侧定义的元类型相同。还注意,元类型可以形成层次结构(元类型层次结构)。例如 ,BankOperation可以是Withdraw操作的元类型,而Service可以是BankOperation的元类型。因此,服务也被视为撤回的元类型。包含“:”的行“;”可以在“:“的右侧使用,以分隔在左侧共享相同函数签名的多个规则。请注意,第一级和第二级都可以包含多个(包括零个)句子,而不是上面描述中的每个句子只有一个句子。3.2生成式领域建模中的关注点分离考虑GDM问题空间中的以下两个组件规范(请注意,这个简单的示例仅用于激励目的4124F. Cao等人理论计算机科学电子笔记114(2005)119组件描述语言的定义在第4.2节中提供)。组件BankServer提供AccountManagement:适用于控制端部部件组件BankClient需要AccountManagement:使用应用QoSMonitor端部部件在BankServer规范中,所提供的服务AccountManage-ment使用了AccountControl。但是,由于业务规则可能会发生变化,BankServer可能会取消BankServer Control或强制执行其他类型的控件,这两种情况都会降低原始BankServer实现组件的可重用性在BankClient规范中,服务器端AccountManagement服务所需的这会使BankClient组件变得混乱,并且随着粘合/包装需求的变化,也会降低其可重用性。面向方面的编程(AOP)[18]提供了一种以模块化的方式用新的语言结构捕获横切方面的方法,还提供了一个连接点模型来这是用面向方面来扩充组件规范方法的基础,以便分离组件的横切组装相关方面。这些方面不需要由供应商执行。这种分离将细化GDM的粒度,并有助于最大化组合,最小化冗余和最大化重用,这是GDM解决方案空间中实现组件的期望属性。因此,组件组装过程演变为方面编织过程。表1提供了组装相关问题的暂定目录。图2说明了上述想法。以菱形结尾的箭头表示标准UML10符号中的包含关系关注点分离[23]被引入到领域分析阶段,其输出是GDM。GDM包括在领域分析阶段确定的关注点(也称为早期方面11),这些方面被集中存储到称为方面的存储库10UnifiedModelinggLanguage,http://www. 哦,天哪。o rg/uml11http://early-aspects.nett/F. Cao等人理论计算机科学电子笔记114(2005)119125功能业务规则实施特殊技术仪器仪表前/后条件...非功能轮廓QoS验证QoS工具...表1组装相关方面图书馆这个方面库对应于第2.1节中指出的配置知识。GDM还在其问题空间部分中包含了组件描述语言(CDL,实际定义将在第4.2节中提供);CDL也被用作不同供应商实现组件在GDM问题空间上的排序请求后,问题空间中的CDL将与所涉及的组装方面一起编织到胶水/包装器代码生成的规范中,通过引用实现组件,该规范将用于生成最终胶水/包装器代码以连接组件。4多阶段组件组装在4.3节中详述组件组装过程之前,我们在4.1节和4.2节中提供相关的规范定义。4.1Aspect的定义和用法在AOP语言中,如ANOJ [19],方面的定义方式与基本程序密切相关(连接点在语法上基于基本程序)。相反,在图2中,方面被单独存储为一个库。因此,需要一个连接点模型来将方面挂钩到目标程序,以便应用方面中提供的相关建议Aspect Description Language(ADL)的定义如下:aspect aspectname>建议:Meta-type>.126F. Cao等人理论计算机科学电子笔记114(2005)119图二.面向对象的生成式领域建模[before:.][after:advice]end aspect aspectname>“>“中包含的名称<“[]”用于分隔可选部分。这些符号也适用于以下方面使用语言(AUL)和CDL。的定义如3.1节所述,用于指定此方面可以应用的域服务的类型。在指令before/after之后的通知提供了要在域服务之前/之后执行的前/后操作或要在域服务之前/之后强制执行的前/后条件,其可以用于时间依赖性规范和跟踪。ing/QoS代码插装。例如,在[30]中,before/after建议用于指定模型检查的规则。因此,方面库表示组装规则的集合。AUL的定义如下:apply aspectname> on type> [when relational-expression>]GDM方面库韦弗构件库选择/参考编织规格域分析Glue/Wrapppperer码CDLF. Cao等人理论计算机科学电子笔记114(2005)119127对应于与汇编相关的方面,其已经提供了指定如前一段所述的汇编规则的手段。类型>必须与aspectname>的ADL中适用的元类型>一致。通过一致性,我们的意思是元类型>(如aspectname>的ADL中)应该位于某个元类型层次结构的根位置(定义见3.1节),其中type>是层次结构的一部分。 AUL中的when指令进一步指定了使用关系表达式,在其下可以应用这个方面;除了基本程序导向的编织,如在ANOJ [18]中,建议量化[12]这里也是面向用户的。很注意ADL和AUL的定义受到[11]的启发,其中非功能方面与组件本身分离以增加组件(和非功能方面)的重用,并且非功能方面使用与这里描述的ADL和AUL类似的语言结构进行处理。4.2组件描述语言CDL在GDM的问题空间中用于指定组件,它们所需的和/或提供的服务,以实现最大组合,最小冗余和最大重用(如3.2节所述),作为面向方面的生成域建模的结果。CDL在TLG中定义,如第3.1节所述。组件组件名称>,..& lt;DomainVariable-m>::<域类型-1>;域类型-2>;;域类型-n>。[requires Domain-Specific-Service>:function-call-11,function-call-12,,function-call-1n.][提供特定于域的服务>:function-call-21,function-call- 22,,function-call-n.]end component componentname>CDL的第一层提供了域变量的类型层次结构需求/提供规范构成第二层。对于需求规范,右侧详细描述了需求;对于提供规范,右侧进一步规范了所提供服务的语义。128F. Cao等人理论计算机科学电子笔记114(2005)1194.3面向方面的构件组装如图2所示的Aspect Library根据与组装相关的关注点捕获一般业务和技术需求,并且单个AUL表达式解决单个关注点。相比之下,组件捕获行为组,组件组装捕获混合场景的关注点组AspectualComponent在这里用于解决组件组装场景中出现的关注点组方面组件12的概念首先在[22]中提出,通过将方面定义为通用的方面组件,将方面与基本程序解耦,稍后使用连接器构造在具体的数据模型上实例化。方面组件和连接器规范的示例将在下面的部分中提供空间构件的概念促进了AOSD(面向对象的软件开发)和基于对象的软件开发(CBSD)之间的集成([8],[29])。方面组件模型也将在这里用于组件组装。然而,最初的方面组件是在Java中,而在这里它是TLG中的语言独立规范。连接器规范基于元类型将服务器组件的相关服务分类为一类。连接器规范还包括与元类型相关联的相关操作。元类型可以被看作是AOP中的一种连接点,而连接器规范中的相关操作提供了建议。方面组件中的元类型是客户端和服务器组件连接的基础;要使用的连接点模型也是基于类型的,如4.1节所示。我们在4.3.1节中将这些想法整合到一个过程图中,并在4.3.2节中通过一个例子来具体化。4.3.1整体画面图3提供了多阶段组件组装过程。第一阶段主要是介绍GDM(来自领域分析),包括问题空间中的CDL和作为配置知识的Aspect Library阶段2涉及将方面规范织入组装过程中涉及的每个组件 阶段3说明了基于方面构件模型的构件组装规范生成过程。 这个阶段涉及到一个连接器存储库,连接器规范将在其中注册,而方面组件将发起对连接器存储库的查询以查找匹配[12]请注意,在我们自己的上下文中,体成分的定义相对于[22]中的原始定义有所F. Cao等人理论计算机科学电子笔记114(2005)119129基于元类型一致性的连接器规范,并在此后应用相关建议。连接器规范是从服务器组件(服务提供者)的CDLs转换而来的,而方面组件规范是从客户端组件(服务消费者)转换而来的。在生成完整的组装规范之后,通过引用组件存储库(其存储由UniFrame中的发现服务检索的组件UMM规范的集合),将在最后步骤中生成粘合/包装器代码。4.3.2例为了帮助阐明上述过程,下面提供了一个简单的示例,演示了方面组件方法如何适用于组件组装过程。假设组件A是一个用Java RMI编写的银行域客户端组件,它向服务器请求某些银行服务。以下是A的CDL的部分规格A.0 组分AA.1 银行操作::服务。A.2 银行::BusinessDomain.A.3 平台::TechDomain.A.4 需要B a n k O p e r a t i o n :Platform=“RMI”。A.5 结束组分A。下面是存储在方面列表中的QoS测量方面的ADL和使用该方面的AUL。方面QoSMeter建议:银行操作。setBeginTime()。following:EventTrace.端方面QoSMeter在A.BankOperation。上述与QoSMeter方面交织在一起的组件A的规范将被转换为以下方面组件规范:B.0 AspectualComAB.1 银行业务::服务。B.2 银行::BusinessDomain.130F. Cao等人理论计算机科学电子笔记114(2005)119GDM1<<客户服方面库阶段1:GDM的生成(从域分析)AUL 1AUL2编织编织阶段2:将方面织入组件规范连接器规范方面组件规范寄存器查询连接器储存库编织构件库选择/参考阶段3:通过方面-组件编织生成组件组装胶水/包装代码阶段4:生成胶水/包装器代码组装规范CDL 1CDL 2图三. 多阶段胶合/包装B.3 期待银行业务。B.4 expect wrap参数。//使用接口B.5 replace Bank操作://修改接口B.6EventTrace.setBeginTime(),F. Cao等人理论计算机科学电子笔记114(2005)119131B.7expected().wrap(Platform=''RMI''>>),//每...>> 对应于每个//在A4的“:”右侧的表达式B.8System.out.println().B.9 端AspectualComAB.6和B.8是从代表客户端关注点的QoSMeter方面编织而成的。请注意,以expect为前缀的那些行表示期望提供通知的操作签名(实际上对应于所请求的服务器端服务),而expect-directive对应于AOP中的连接点在方面组件定义中,预期的操作要么被使用(使用接口),要么被修改(修改接口,前面加上替换)。这个过程类似于[22]中描述的过程。假设组件B是一个用CORBA实现的银行域服务器组件,提供一些银行服务。C.0 组分BC.1 取款、存款::端口;银行操作。C.2 银行:域。C.3 平台::TechDomain.C.4 提供银行操作:Platform=“ C O R B A ” 。C.5 结束组分B。注意C.1行,“::“右边表示的两种类型下面是方面库中访问控制方面[5]的ADL控制建议:服务。before:Log.Check().末端方位控制这方面可以应用于任何服务(元类型,因此适用于提款)。因此,在每次调用Service之前,都会调用Log.Check()来验证凭据。以下规范将从组件B规范转换而来,并具有前一个方面“控制”的AUL。D.0 连接器A-B132F. Cao等人理论计算机科学电子笔记114(2005)119--D.1B.提款,B.存款是银行业务。 //连接点D.2 wrap(Argument):D.3对B.提款,B.存款,D.4在以下情况下对BankOperation应用RMIAspectD.5参数.getnameD.6 端连接器A-B注 意 , D.2-D.5 行 进 一 步 实 现 了 连 接 点 的 通 知 部 分 ( 这 里 是Withdraw 和Deposit 操作)。 wrap 的主体是用RMI 特定代码包装BankOperation。这类似于[24],其中CORBA相关操作被模块化为方面,然后编织到应用程序代码中以派生CORBA实现。这里的区别在于,这些RMI或CORBA相关方面是预先构建的,并从方面库中检索,并且它们是用高级规范(在ADL中)表示的,而不是在应用程序代码级别。在第4阶段织入之后,连接器规范中的wrap例程将被织入方面组件规范。本节所示的示例表明,两个组件的与组装相关的关注(功能性和非功能性)可以在与组件规范本身不同的模块中处理(这里是方面组件定义和连接器规范)。ADL和AUL为组装过程本身提供了杠杆作用,使其易于指定和管理。因此,可以通过使用编织器将特定于组装的建议与组件规范编织在一起来实现组装。5讨论UniFrame是构件组装方法的推动者,其目标是实现异构构件集成过程的自动化,生成式编程(GP)是实现这一愿景的基础解决方案。为了实现GP对最高自动化水平的愿景,在领域工程阶段,可以使用模型集成计算(MIC)[20]来创建领域模型,这是一种使用特定领域建模和基于模型的生成器来组成各种形式的系统的技术。MIC已被应用于创建通用特征建模环境(GFME)[7]来建模系统族并自动生成可重用资产。基于本文提出的组件组装方法,表2描述了UniFrame中的生成式编程。F. Cao等人理论计算机科学电子笔记114(2005)119133生成式编程链环特征造型GFME组件在域实现阶段生成组件由供应商实施。仅在系统级生成配置知识方面库问题空间到解空间资源发现服务,用于根据组件规范领域专用语言(DSL)CDL、AUL、ADL发生器Aspect Weaver表2UniFrame中的生成式编程还要注意,4.3节中描述的组装范例遵循客户机/服务器架构,其中客户机组件(服务消费者)规范转换为方面组件规范。如果要组装的组件不遵循这种体系结构,则可以将排序规范本身转换为方面的组件规范,然后可以应用图36相关工作和结论最近,已经有关于将AOSD应用于CBSD的工作。一个值得注意的工作是方面组件[22],如4.3节所述,它提供了一种语言方法来重用方面的分类。本文对方面化构件模型进行了调整,并将其用于构件组装。Grundy进一步引入了面向组件的组件工程(AOCE)的概念([13],[14],[15],[16])。AOCE中的各个方面具有广泛的定义,包括用户界面、协作工作、分布、持久化、内存管理、事务处理、安全性、数据管理、组件相互关系和配置特性。AOCE作为一种工程方法,涵盖了组件工程的生命周期,从组件需求和规范到实现,134F. Cao等人理论计算机科学电子笔记114(2005)119部署和测试。与高度依赖于代码编织的AOP相反,AOCE旨在使用方面编码的能力来支持组件提供和以一般方式请求与方面相关的服务。从这个意义上说,AOCE可以应用于方面库的构建。 然而,相关的工作从来没有考虑过应用AOSD来辅助组件装配。本文提出了一种在生成领域建模阶段应用面向方面的方法,然后利用方面编织器帮助组件组装,特别是用于组装客户机/服务器体系结构的组件使用了两个存储库(方面库、连接器存储库),这与分布式组件组装风格一致。采用基于类型的连接点模型,有效地将方面定义和方面使用解耦,促进方面的重用。与[1]中描述的侵入式组合方法相比,我们将与组装相关的关注点编织到最终生成用于粘合/包装组件的存根/骨架代码,而原始组件(表示业务逻辑核心)及其对存根/骨架代码的引用将不会被删除。这对于不允许侵入性方法的黑盒组件是必要的未来的工作包括方面库的发展、MIC在领域工程中自动生成CDL的应用以及织入器的开发。基于使用发现组件的UMM规范生成的程序集规范的胶水/包装器代码生成的实现也必须集成到该过程中。7确认我们 这项研究得到了美国政府的支持。S.海军研究办公室,编号N 00014 -01-1-0746。引用[1] Amannn,U. ,“InvasiveS oftwarecomposit ion,“S pringer-V erlag,2003.[2] Brahnmath,G. J.,拉热河R.,奥尔森,A. M.,Auguston,M.,布赖恩特湾R.,伯特角C.的方法, AQuality of Service Catalog for Software Components,Proceedings of theSoutheastern SoftwareEngineering Conference((SE)22002),pp.513-520,2002年4月。[3] Bro n,A. W. ,“大规模组件-基本设计“,Prentic e Hall,2000.[4] 布赖恩特湾R.,李湾美国,作为面向对象需求规格说明语言的两级语法,第35届夏威夷国际系统F. Cao等人理论计算机科学电子笔记114(2005)119135科学,2002年,http://www.hicss.hawaii.edu/HICSS35/STSSpapers/PDFdocuments/STDSL01.pdf。[5] 伯特角C.的方法,布赖恩特湾R.,拉热河R.,奥尔森,A. M.,Auguston,M.,模型驱动的安全性:细粒度访问控制的授权模型的统一第七届IEEE国际企业分布式对象计算会议论文集(EDOC 2003),pp。159-171,2003年9月。[6] Cao , F. , 布 赖 恩 特 湾 R. , 伯 特 角 C. 的 方 法 , 拉 热 河 R. , J. J. M , J. M. M. , ATranslationApproachto ComponentSpecification,OOPSLA' 0 2 Com p a n io n , pp.54-55,November,2002.[7] Cao,F.,布赖恩特湾R.,伯特角C.的方法,黄志,拉热河R.,奥尔森,A. M.,Auguston,M.,自动化面向软件工程的领域分析,2003年软件工程研究与实践国际会议论文集(SERP 2003),pp。944-949,2003年6月。[8] 崔杰P.,使用企业JavaBean进行面向对象编程,第四届IEEE国际企业分布式对象计算会议论文集(EDOC 2000),pp. 252-261,2000年9月[9] Colyer,A.,布莱尔,G.,Rashid,A., 管理中间件的复杂性,第二届AOSD基础架构软件方面、组件和模式研讨会(ACP4IS)会议记录,2003年3月。[10] Czarnecki,K. 、 我是说,联合W. 、Programming: 我是说, 但是,和应用,”Addison Wesley,2000年。[11] Duclos,F.,Escherlier,J.,Morat,P,在基于组件的应用程序中描述和使用非功能方面,第一届面向组件的软件开发国际会议论文集(AOSD 2002),pp. 65-75,2002年。[12] Filman,G.,Friedman,D.,面向对象的编程是量化和遗忘,OOPSLA高级关注点分离研讨会论文集,pp。 168-177,2000年10月。[13] Grundy , J.C. 的 方 法 , Multi-perspective Specification , Design and Implementation ofComponents usingAspects , International Journal of Software Engineering and KnowledgeEngineering,10(6):713- 734,December 2000.[14] Grundy,J.C.的方法,面向并行的组件工程的实现体系结构,2000年并行和分布式处理技术与应用国际会议论文集,pp. 249-256,2000年6月。[15] Grundy,J.,帕特尔河,巴西-地用UML开发软件组件,Enterprise Java Bean和Aspects,2001年澳大利亚软件工程会议论文集,第100页。127-136,2001年8月。[16] Grundy,J.C.的方法,丁,G.,使用Aspects自动验证部署的J2EE组件,第17届IEEE自动软件工程国际会议论文集(ASE 2002),pp. 47-58,2002年9月。[17] 凯勒河,H?olzle,U. [1]见《面向对象程序设计》(ECOOP'98),北京:清华大学出版社,1998年版,第1445页。307-329,1998年。[18] Kiczales,G.,Lamping,J.,Mendhekar,A.,Maeda,C.,洛佩斯角,西-地五、Loingtier,J.- M., 欧文J.,面向对象编程,欧洲面向对象编程会议论文集220-242,1997年。[19] Kiczales,G.,Hilsdale,E.,Hugunin,J.,Kersten,M.,Palm,J.,Griswold,W.,2001年,面向对象程序设计国际会议论文集(ECOOP[20] L'adeczi,A'. ,Bakay,A. ,Maroti,M. ,Volgyesi,P. ,Nordstrom,G. ,Sprinkle,J. 和d。 Karsai,G.,组成特定领域的设计环境,IEEE计算机,34(11):44-51,2001年。136F. Cao等人理论计算机科学电子笔记114(2005)119[21] 李 湾 美 国 , 布 莱 恩 特 B. R. , AutomatedConversionfromRequirementsDocumentation to an Object-Oriented Formal Specification Language,Proceedingsof ACM Symposium on Applied Computing(SAC 2002),pp.932-936,2002。[22] Lieberherr,K.,Lorenz,D.,Mezini,M.,用方面组件编程技术报告,NU-CCS-99-01,1999年,http://www.ccs.neu.edu/research/demeter/papers/aspectual-comps/aspectual. ps。[23] Parnas,D.,关于将系统分解成模块的准则Communications of the ACM,15(12):1053-1058,December 1972.[24] Pulvermuller,E.,Klaeren,H.,Speck,A., 分布式环境中的方面,基于生成的软件工程(GCSE 99),Spinger-Verlag,LNCS 1799,pp。37-48,1999年9月。[25] Raje河,UMM:开放分布式系统的统一元对象模型第四届IEEE并行处理算法和体系结构国际会议论文集454-465,2000年。[26] 拉热河R.,Auguston,M.,布赖恩特湾R.,奥尔森,A. M.,伯特角C.的方法, 一个基于服务质量的分布式异构软件构件创建框架,并发与计算:实践与经验,14(12):1009-1034,2002.[27] Siram,N. N.,拉热河R.,Auguston,M.,布赖恩特湾R.,Olson,Burt,C. C.的方法,A. M.,AnArchitecture for the UniFrame Resource Discovery Service,Proceedings of3rd InternationalWorkshop on Software Engineering and Middleware(SEM 2002),Springer-Verlag,LNCS 2596,pp. 2002年第22-38号[28] 萨瑟兰,J.,Heuvel,W.J. 诉d.将所述第一和第二组数据进行比较,企业应用集成和复杂适应系统,ACM通信,45(10):59-64,2002年10月。[29] 好 的 , D 。 , Vand er perre n , W. Jon cker s , V. , JAsCo : AnApect-Orientedapproachtalordfor convenent-based Software Development,Proceedings. 第二届面向软件开发国际会议(AOSD 2003)2003年3月21日至29日[30] Ubayashi,N.,Tamai,T.,面向对象的编程与模型检查,第一届面向对象的软件开发国际会议论文集148-154,2002年4月。
下载后可阅读完整内容,剩余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直接复制
信息提交成功