没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记163(2007)3-17www.elsevier.com/locate/entcs可视化Web服务创建环境Mathieu Braem1 Niels Joncheere2 Wim Vanderperren3Ragnhild Van Der Straeten4 Viviane Jonckers5Vrije Universiteit大学系统与软件工程实验室Pleinlaan 2B-1050 Bogsel,Belgium摘要本文提出了一个高层次的,可视化的Web服务创建环境(SCE)。SCE引入了两个主要概念:服务和组合模板。组合模板是对包含多个服务占位符的可重用组合的抽象描述。 当服务被映射到组合模板时,服务被验证为与组合模板兼容。SCE支持使用通用AOP语言Padus和几种关注点专用语言的横切关注点的模块化。方面可以可视化地部署在目标组合模板或服务上,这会自动触发织入过程。关键词:面向服务的体系结构,关注特定语言,面向对象的软件开发,Web服务1引言在过去的几年里,Web服务[2]作为在新环境中集成现有软件的基本的Web服务可以通过使用XML前端将现有应用程序公开到Internet来创建。通过组合多个基本Web服务,可以创建提供更高级功能的新Web服务然后,这些复合Web服务可以被其他Web服务使用,进一步提高软件的可重用性。1 电子邮件地址:mbraem@vub.ac.be2 电邮地址:njonchee@vub.ac.be3 电子邮件地址:wvdperre@vub.ac.be4电邮地址:rvdstrae@vub.ac.be5电邮地址:vejoncke@ssel.vub.ac.be1571-0661 © 2007 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2006.10.0124M. Braem等人理论计算机科学电子笔记163(2007)3最初,组合Web服务的唯一方法是用C和Java等编程语言手动编写必要的粘合代码。然而,很快就清楚了,Web服务的组合由专用工作流语言[14]比通用编程语言更自然地捕获。今天,关于Web服务的组合,最流行的工作流语言是业务流程执行语言(WS-BPEL)[3]。WS-XML流程与平台和传输无关,并使用XML表示。最近,人们提出了一种更高级别的WS-XML可视化表示法,称为业务流程建模表示法(BPMN)[36]。与此同时,面向方面的软件开发(AOSD)已经被提出作为一种改进软件中关注点分离的方法[26]。 AOSD是基于对软件中的一些问题(如日志记录[18]和计费[13])不能使用面向对象的软件开发模块化:程序只能以一种方式分解(即,根据类的层次结构),与这种分解不一致的关注点最终分散在整个程序中,并且彼此纠缠在一起。这个问题被称为 AOSD允许表达这样的横切关注点在良好的模块化方面,因此添加,修改或删除这些问题不需要修改主程序。对AOSD的初步研究集中在将其原理应用于面向对象编程范式。Arsanjani等人[4]和其他人[10,12,35]已经表明AOSD在Web服务环境中也有很大的潜力尽管工作流语言比通用编程语言更适合Web服务组合,但它们仍然需要大量深入的技术知识。为了促进服务组合而不需要这种深入的技术知识,需要更高级别的抽象因此,我们提出了一个可视化的服务创建环境(SCE),它允许用户-使用可重用的组合TEM的Web服务组合的友好配置,板,并且支持使用通用和关注点特定方面语言封装横切关注点。这个环境是作为Eclipse平台的插件实现的[15]。本文的大纲如下:第2节解释了SCE的动机,第3节提供了SCE架构的概述。接下来,介绍SCE中对关注特定语言的支持。第5节描述了相关的工作,第6节陈述了我们的结论和未来的工作。2服务创建环境本文提出的研究是在WIT-CASE项目的背景下进行的,该项目部分由比利时阿尔卡特电信公司和法兰德斯科学技术促进创新研究所(IWT-Vlaanderen)资助。在电信界,服务交付平台(SDP)是一个中心ICT基础设施,旨在开发、部署和执行M. Braem等人理论计算机科学电子笔记163(2007)35网络运营商以及第三方服务提供商提供的增值电信服务我们的方法侧重于在可视化服务创建环境(SCE)中的服务组合的开发和配置。电信合作伙伴对这种环境提出的一些关键要求是:• 需要通过创新的服务创建机制更快地推出新服务,包括使用开放的信通技术编程环境、服务组合工具、重用共同组件以及将服务逻辑与业务应用程序相结合。• 需要快速轻松地修改服务和基线服务的业务逻辑。• 还需要有能力向客户提供服务包,作为应对竞争的战略举措。这一要求意味着必须提供服务包的这些服务可以依赖的公共能力,例如,通用计费和为分组的服务• 最后一项要求是减少服务提供者的业务费用。因此,不同的最终用户服务应该尽可能地基于通用的可重用构建块。此外,服务提供商希望在集成平台之上构建最终用户服务和应用程序,而不是部署一组开箱即用的最终用户服务和应用程序。集成平台可提供与传统网络基础设施集成的额外好处为了满足上述要求,SCE需要允许在高抽象级别上配置服务组合,以便在不深入了解所涉及服务的技术知识的情况下促进应用程序开发为了实现这一目标,努力实现以下目标• 一个可视化的SCE,可以轻松地即插即用地组合内部和外部服务。• SCE必须通过提供关于最终服务组合正确性的反馈来指导服务组合过程。• SCE必须允许描述管理问题(例如,计费)。目前的最新技术水平不足以支持设想的SCE。典型的工作流语言(如WS-XML)提供可视化GUI,以促进工作流的创建。然而,这些GUI只不过是语言之上的可视界面这类GUI的例子有BPWS4J [6]和Oracle Risk Designer [24]。不支持将服务组合过程引导此外,管理关注点仍然必须编码在工作流程本身中,这导致工作流程与几个次要关注点纠缠在一起,从而使最终的工作流程更加复杂。在下一节中,我们将介绍我们的SCE,并展示如何实现上述目标。6M. Braem等人理论计算机科学电子笔记163(2007)3Fig. 1. SCE架构3业务生成环境在本节中,我们首先介绍我们的可视化SCE的架构。其次,我们解释了SCE如何支持AOSD。接下来,介绍SCE的GUI,然后解释如何组合服务,如何验证服务组合,最后解释如何部署服务3.1SCE的架构图1给出了SCE体系结构的概述。SCE包含三个存储库:• 第一个存储库包含一组文档化的服务。此存储库中包含的服务是SCE的基本构建块。每个服务都由一个WSDL文件描述。此外,每个服务都由一个指定外部协议信息的WS-EJB流程和一个基本服务质量需求描述来记录。• 另一个存储库包含一组文档化的合成模板。这些模板在WS-EJB中指定。模板是Web服务组合的抽象描述,并且可以包含一个或多个服务占位符组合模板可以通过在占位符中填充不同的服务来实例化。当服务被添加到服务组合模板时,SCE检查服务的协议是否与服务组合模板的协议兼容• 第三个存储库包含不同的横切关注点,对应于人工关注点,如计费方案。横切关注点可以通过可视方式或切入点语言连接到服务和组合模板。M. Braem等人理论计算机科学电子笔记163(2007)373.2Aspects和PadusSCE通过Padus [7]语言支持横切关注点的模块化。Padus是我们基于WS-EJB的面向方面过程语言。对Padus的详细解释超出了本文的范围。我们只介绍和解释Padus与SCE和定义特定关注语言相关的特性。Padus是一种基于XML的语言,它引入了两个主要概念:方面和方面部署。方面是横切关注点的可重用描述,包含一个或多个切入点和建议。切入点在目标WS-EJB流程的执行中选择感兴趣的点(称为连接点),将目标对象暴露给通知。Padus的切入点语言是一种基于Prolog的逻辑语言,因此非常具有表达性[17]。完整的目标WS-10进程被具体化为一个事实集合,这些事实可以被切入点查询。通知语言是WS-SQL,扩展了一些AOSD特定的结构。Padus技术基于传统的静态编织器,该编织器处理目标WS-EJB进程,并生成包含可视环境中指定的通知代码的新WS-EJB进程。这种方法的主要优点是与现有基础设施的兼容性,因为输出可以部署在任何与WS-EJB兼容的引擎上。3.3SCE GUI图2提供了SCE界面的屏幕截图编辑器视图(在屏幕中间)用于编辑合成,由两个主要部分组成:一个大的绘图画布和一个较小的调色板。面板包含一些选择和连接工具,并在从库加载时显示可用的服务、组合模板和方面。通过双击实体,将启动该实体的配置文件编辑器。例如,为组合模板启动基于BPMN的图形编辑器.通过可视化编辑器所做的更改将被考虑到当前的构图中。因此,组合模板可以在Web上进行调整,并且比WS-EJB代码具有更高的抽象级别。outline视图(位于屏幕右侧)显示了基于树的合成状态概览,而properties视图(位于屏幕底部)显示了当前在编辑器视图或outline视图中选择的元素的属性。3.4组合物为了在SCE中创建一个组合,它需要在组合画布上拖动一个组合模板,并用具体的服务填充所有占位符。方面可以连接到服务,这意味着它们将仅应用于这些具体的服务,或者应用于完整的组合模板,以便将它们应用于参与此组合的所有服务8M. Braem等人理论计算机科学电子笔记163(2007)3图二. SCE界面截图图2 所示的组合包含一个名为“conferenceCall”的组合模板名为“agenda”和“messaging”的两个服务这个占位符应该在组合可以工作之前填充,例如使用库中可用的“b2b”服务。该组合还包含一个名为“logging”的方面,它连接到“messaging”服务。一个名为“diskWriting”的服务已经被添加到方面的唯一占位符中。 这种组合的结果将是电话会议应用程序使用所选的服务工作,并且调用磁盘写入服务的日志方面被部署到消息传递服务,以便记录方面的切入点所3.5验证SCE的一个重要要求是,它指导用户创建正确的组合,而不需要深入的技术知识。SCE通过在创建组合时验证组合是否正确来实现这一点:当服务被拖到占位符上时,SCE检查服务的协议是否如果服务不兼容,则生成一个报告,向用户提供不匹配的反馈基于协议而不是普通API的兼容性检查是可能的,因为每个服务都明确记录了表示M. Braem等人理论计算机科学电子笔记163(2007)39在WS-SQL中。在文献中,存在大量关于方案验证主题的研究[9,21,33,27,38]。我们的验证引擎基于PacoSuite方法[37],该方法引入了基于自动机理论的算法来执行协议验证。为了在SCE中提供协议验证,每个服务、方面和组合模板的WS-EJB规范被转换为确定性有限自动机(DFA)。通过应用PacoSuite方法引入的算法,SCE可以判断服务的协议是否如果某个服务与某个合成模板占位符不兼容,则用户有两个选项:为该占位符选择另一个服务,或者如第3.3节所述在模板上编辑合成模板。3.6代码生成和部署当组合完成并经过验证后,用户可以选择生成结果组合并将其部署在WS-EJB引擎上。这将启动代码生成过程,该过程将绑定组合模板中未绑定的合作伙伴链接。方面部署是为组合中包含的方面自动生成的然后使用Padus编织器根据方面部署规范将方面编织到最终的WS-EJB流程生成的组合也可以作为新服务导入到库中。然后,生成的WS-EJB流程将作为新服务的文档。除了指定名称和一些其他属性外,此过程也是自动化的。SCE还包括一个内置的WS-EJB引擎,可用于立即执行合成结果。此功能旨在能够快速评估结果,而不是成为真正的部署目标。我们目前正在努力改进这个引擎的集成,以便它可以通过直接向SCE提供反馈来用作合成4关注特定语言SCE通过使用Padus面向方面的编程语言来支持面向方面的原则。一个或多个方面描述一个关注点,并以Padus编写。如果SCE的用户想要表达方面,唯一的可能性是在Padus中指定这些方面,这需要深入了解Padus语言。这与我们的研究目标相矛盾,该目标指出SCE应该允许以直观、简洁和声明的方式描述管理问题。因此,我们需要能够在更高的抽象层次上可视化地指定关注点。最早的面向方面的编程语言都是为特定的横切关注点而开发的;我们将这些语言命名为关注点特定语言(CSL)。这些早期CSL的例子是COOL [19,20],一种用于表达Java程序同步方面的语言,以及RIDL [19,20],一种语言。10M. Braem等人理论计算机科学电子笔记163(2007)3用于表示分布式环境中的数据可串行化方面。最近的一种关注特定语言是KALA[16]。KALA是一种功能强大的方面语言,用于描述应用程序对高级事务模型的使用,如果需要,还可以定义新的模型。然而,由于必须为每个关注点设计一种新的语言,因此构建特定于关注点的语言很快就被认为成本太相反,更多的方法选择了通用方面语言,如ApplyJ [18]。我们的目标是在Padus技术的基础上定义特定关注的语言,并将其集成到SCE中。因此,横切关注点的实现要将关注点应用于服务流程或服务组合流程,用户可以选择相关方面,将它们添加到服务流程并将其具体化本节的其余部分包含一个关注特定语言的示例首先,我们定义这种语言,然后,我们展示这种语言如何集成到SCE中,以及如何在具体的服务组合中使用4.1对计费语言的需求计费是在许多系统中发生的问题。它可以像执行操作后从客户的帐户中扣除固定费用一样简单我们认识到计费问题中的两个重要模式。一方面,存在计费何时开始和结束的问题。另一方面,还有一个问题是应该收取什么费用。在我们的方法中,我们将这两个部分分开。我们专用的计费语言选择流程执行中的点,开始和结束,并允许我们在每个点添加额外的行为。通常,我们将有关操作和相关时间戳的信息传递给专用的计费服务。此服务保留所有收费事件的完整日志。稍后,程序可能会收集这些日志并为客户创建账单,这可能会受到业务规则的约束。这是应该被指控的问题,并且可以根据事件的背景而有很大的不同。因此,BillingCSL在很大程度上公开了流程事件的上下文。4.2计费的定义计费语言允许在专用的基于XML的模块中表达计费问题,这些模块与服务组合的主要功能分开指定。清单1提供了这样一个模块的示例。Billing模块的主要元素是concern元素。它的属性指定模块的语言和类型在我们的示例中,第1行指定模块是使用计费语言指定的,并且其类型是时间。使用另一种关注特定语言表达的模块也将包含关注元素,但其语言属性将指示使用另一种语言,因此其内容与BillingM. Braem等人理论计算机科学电子笔记163(2007)3111234567891011121314清单1:账单示例module.存在三种类型的计费模块:基于事件的模块用于基于在服务的执行期间发生的事件(例如,当已经发送文本消息时),基于时间的模块用于基于两个事件之间已经过去的时间来执行计费在电话呼叫的开始和结束之间),并且基于数据的模块用于基于在两个服务之间交换的数据量来concern元素的子元素指定何时应该进行计费,以及应该收取什么因为我们的例子是一个基于时间的模块,它指定了计费何时开始(使用第4行中的start元素)和计费何时结束(使用第5行中的end元素)。start和end元素的when属性是Padus切入点,用于选择服务执行中的每个模块都指定了在建议元素中应该收取的费用。这个元素有四个子元素:begin元素指定当关注被激活时应该做什么,success元素指定当关注成功终止时应该做什么,fail元素指定当关注处于活动状态时抛出异常时应该做什么,finally元素指定当关注终止时应该做什么,不管是否它是否成功终止。这四个元素中的每一个都可以包含常规的WS-EJB代码,以便执行计费。或者,可以使用Billing语言的专用chargeelement来执行计费,而不需要在我们的示例中,第9行向计费服务发送一条消息,该消息指定:用户已经开始连接,并且线路10向计费服务发送消息,该消息指定用户已经结束具有特定持续时间的连接在通知代码中,可以使用Padus切入点中绑定的变量。此外,我们通过$Time变量公开流程的一些上下文在本例中,调用的持续时间是使用$Time变量从关注点的上下文中检索的为了执行实际的计费,每个计费模块都包含一个隐式的涉及计费服务的伙伴链路当在模块的通知中使用收费元素时,将使用此合作伙伴链接<关注语言=“账单”类型=“时间”名称=“billcall”><!--指定何时应进行计费:--><建议> charge type=“setup”context=“User”/>/begin>chargetype=“timee“context=“User,$Time“/>/success><<!-- do nothing -->/fail><终于>!--什么都不做-->/最后>咨询>关注>12M. Braem等人理论计算机科学电子笔记163(2007)3图三.一个包含特定关注点的成分使用SCE接口的具体服务如果想要使用另一个或多个合作伙伴链接,这可以在concern元素的可选using子元素4.3计费可视化在第3节中,我们将说明如何使用SCE来创作新的作品, 通过在画布上拖动组合模板,用服务填充其占位符,并将方面添加到服务。这个方面是从横切关注点的存储库中获取的,并使用Padus语言实现。使用SCE,可以直接更改这些方面何时适用或方面使用哪些服务。然而,改变方面实际上做什么(即,改变方面的建议)需要深入了解Padus语言。因此,SCE还允许添加关注特定的方面,这允许在不深入了解Padus的情况下指定建议。图3提供了包含这种关注点特定方面的组合的示例。该示例与图2中的示例相同,但是日志方面已被特定于关注点的计费方面所取代。调色板包含一个关注特定方面的模板库,可以通过在画布上拖动它们来实例化。示例中的调色板包含三个这样的模板,即,“billing (time)”, “billing (event)” and“billing (data)”,M. Braem等人理论计算机科学电子笔记163(2007)313每个Billing方面至少有一个占位符,它允许将上面提到的隐式合作伙伴链接绑定到具体的Web服务。当在编辑器视图中选择特定关注点方面时,其属性将显示在属性视图中。例如,基于时间的计费方面有五个属性:“语言”、“类型”、“开始”、“结束”和“建议”。前两个属性分别简单地显示了体的语言和类型。然而,其他属性可以改变,以便定义在执行组合计费时应在哪两个点之间发生,以及应如何实现此计费根据这些信息,SCE生成相应Billing模块(如清单1中的模块)的大部分信息当编辑器视图中的组合完成时,任何关注特定的方面都被转换为Padus方面,然后将其应用于适当的服务和/或组合模板,类似于常规组合。5相关工作在基于组件的软件开发(CBSD)的背景下,已经存在几个可视化组件组合环境。CBSD提倡可重用和松耦合的组件,以实现可扩展的即插即用的现成组件组合[31]。CBSD中的主要问题是将组件连接在一起需要手动编写粘合代码,以解决语法和语义不兼容的问题。可视组件组合环境允许可视地组合组件,并支持实现组合的粘合代码的目前的实践组件组合环境,如IBM的VisualAge for Java、Borland的JBuilder和Sun的BeanBuilder,已经允许从给定的组件组合中自动生成某种形式的粘合代码。除了关注组件而不是Web服务之外,我们的方法的主要区别在于它们不支持组合逻辑的可重用封装。此外,除了从语法上检查消息和参数之外,不支持验证某个组合是否可能。另一个缺点是它们不支持横切关注点的模块化。在文献中已经对使用协议文档记录组件进行了充分研究Campbell和Habermann[9]在1974年就提出了用序列约束扩充接口描述的想法最近的工作包括Rapide系统[21]或PROCOL系统[33]。在基于构件的软件开发研究领域中,已有几种构件组装环 境 , 它 们 提 高 了 构 件 组 装 的 抽 象 层 次 。 例 如 , Yellin 和 Strom [38] ,ReussnerPacoSuite是最先进的组件组合环境之一,支持基于序列图的高级组件组合。与其他协议验证工作相比,PacoSuite的主要优势在于它支持多方连接器,而其他方法通常只支持二进制连接器。的14M. Braem等人理论计算机科学电子笔记163(2007)3然而,PacoSuite方法依赖于域,并且仅针对简单的JavaBean组件模型。BPMN是一种用于指定工作流的图形化表示法,旨在成为事实上的图形化标准,类似于工作流语言的WS-XML。与WS-UML相比,BPMN为流程提供了更高级别的图形化符号,实际上是对我们方法的补充。一个基于BPMN的编辑器能够导入/导出WS-EJB,例如可以用来编辑组合模板的规范。一旦有了BPMN的标准化文件格式,SCE也可以直接支持BPMN来编写服务和组合模板的文档,而不是WS-XML或与WS-XML相邻。有几种方法专注于构建关注特定语言,也称为领域特定语言。注意,这些语言没有封装横切关注点的功能,因此不是独立的语言。这些方法为更高效和可扩展的语言构建提供了环境,这些语言适合表达特定领域的概念例如Draco [23]、GenVoca[5]、Babel [8]和Intentional Programming [28]。Agarwal等人 [1]提出了一种基于Web服务端到端组合的服务创建环境,但这种环境不允许可视组合也没有使用面向方面的技术分离关注点6结论和今后的工作在本文中,我们提出了一个高层次的服务创建环境组成的Web服务。我们的方法通过Padus方面支持横切关注点的模块化。Padus方面可以可视化地部署到组合模板或服务上。此外,Padus之上还支持特定于关注点的语言。在抽象尺度上,我们将SCE与BPMN和Padus语言放在同一级别上。SCE是一种高级工具,用于配置服务组合,并通过Padus方面或更高级别的关注点特定语言,使用分离的关注点对其进行扩充我们的工作仍处于早期阶段,因此有可能进行以下几项改进• 我们的方法支持可视化地将方面部署到具体的服务上。切入点仍然需要在Padus中以编程方式定义。在更高的抽象层次上描述切入点将是对我们工作的重要贡献。我们正在试验现有的切入点可视化,如- me/UML [11],连接点指定图[30,29]和AOSF [22]来解决这个问题。• 一个方面可能适配现有服务的外部协议(例如,通过添加调用),使得它变得与合成模板的协议不兼容。目前,我们的工具无法解决这个问题。为了解决这个问题,我们计划包括方面协议文档和组合适配器提出的验证算法[34]。M. Braem等人理论计算机科学电子笔记163(2007)315• 目前对特定关注点语言的集成支持非常有限。除了一组通用工具(如XML解析和转换工具)和一个简单的可视化模板之外,定义和实现一种新的关注点特定语言仍然主要以一种特殊的方式发生。基于现有工作(如Babel)的更深入的解决方案取决于未来的工作。• 可用组合模板、服务和方面的存储库是一种定制解决方案,仅限于本地文件。在未来,我们计划研究对用于发现Web服务的工业标准的支持,该标准被称为Web服务发现标准[32]。致谢该研究部分由Alcatel Belgium和法兰德斯科技创新促进研究所(IWT-Vlaanderen)通过WIT-CASE项目资助。引用[1] Agarwal,V.,K. Dasgupta,N. Karnik,A.库马尔A.昆杜河Mittal和B. Srivastava,A service creationenvironment based on end to end composition of web services , in : Proceedings of the 14thInternational World Wide Web Conference(WWW 2005)(2005),pp. 128比137[2] 阿隆索,G.,F.卡萨蒂,H. Kuno和V. Machiraju,编辑,[3] 安德鲁斯,T.,F. Curbera,H.多拉基亚岛Goland,J.克莱因,F.Leymann,K.Liu,L.Roller,D.史密斯先生,S.萨特岛Trickovic和S. Weerawarana,Web服务的业务流程执行语言,版本1.1(2003)。URLhttp://www.ibm.com/developerworks/library/ws-bpel/[4] Arsanjani,A.,B. Hailpern,J. Martin和P. Tarr,Web服务:承诺和妥协,队列1(2003),pp. 48比58[5] Batory,D.,V. Singhal,J. Thomas,S.达萨里湾Geraci和M. Sirkin,软件系统生成器的GenVoca模型,IEEE Software11(1994),pp. 89-94.[6] BPWS4J。网址http://www.alphaworks。IBM. 文书主任(机电工程)[7] Braem,M.,K. Verlaenen,N. Joncheere,W.范德佩伦河Van Der Straeten,E. Truyen,W. Joosen和V.Jonckers,使用Padus隔离流程级关注点,在:第四届业务流程管理国际会议(BPM2006)(2006年)的会议记录。[8] Brichau,J.,“程序生成器的集成组合”,博士。论文,编程技术实验室(PROG),自由大学,布鲁塞尔,比利时(2005年)。[9] 坎贝尔河,巴西-地和A. Habermann,通过路径表达式,在:1974年,国际操作系统,pp。89-102.[10] Charfi,A.和M. Mezini,使用 AO 4引擎 进行面 向AOC的Web服务 组合, 在:L.- J. Zhang, editor,Proceedings of the 2nd European Conference on Web Services(ECOWS 2004)(2004),pp. 168-182.[11]Clarke,S.和E.Baniassad,[12] Cottenier , T. 和 T. Elrad , Dynamic and decentralized service composition with Contextual Aspect-Sensitive Services, in:Proceedings of the 1st International Conference on Web Information Systemsand Technologies(WEBIST 2005),Miami,FL,USA,2005,pp. 56比63[13] D'Hondt,M.和V. Jonckers,Hybrid aspects for weaving object-oriented functionality and rule-basedknowledge,在:K. Lieberherr,editor,Proc. 3rd Int132-14016M. Braem等人理论计算机科学电子笔记163(2007)3[14] 杜,W.和A.Elmagarmid,工作流程管理:最先进的与最先进的。产品状态,技术报告HPL-97-90,Hewlett-Packard Labs,Palo Alto,CA,USA(1997)。[15] Eclipse平台。网址http://www.eclipse.org/[16] Fabry,J.,“模块化高级事务管理-处理混乱的方面代码”,博士论文,编程技术实验室(PROG),自由大学,布鲁塞尔,比利时(2005年)。[17]Gybel s,K. 和J。 Brichau,Ar rang i n gin g ingeeature e r e r es forpaten-basedcroscuts,in:M. Aksit,editorr,Proc. 2nd Int60比69[18] Kiczales , G. , E. Hilsdale , J.Hugunin , M.Kersten , J. 棕 榈 和 W.G. Griswold , An overview ofAwesome J,in:J. L.Knudsen,editor,Proc. ECOOP 2001,LNCS 2072(2001),pp. 327-353[19] 洛佩斯角,西-地五、D:A Language Framework for Distributed Programming(分布式编程语言框架)论文,计算机科学学院,东北大学(1997年)。[20] 洛佩斯角,西-地V.和G. Kiczales,D:分布式编程的语言框架,技术报告SPL-97-010,Palo Alto研究中心(1997)。[21] Luckham , D.,肯尼湖Augustin ,D. Vera ,D. Bryan 和W. Mann ,Specification and analysis ofsystem architecture using Rapide,IEEE Transactions on Software Engineering21(1995)。[22] 马 奥 尼 , M. , A. Bader , T.Elrad 和 O.Aldawud , Using aspects to abstract and modularizestatecharts,in:O. Al dawud,G. Booch,J. 很好,J。 Ki enzl e,D. 斯坦,M。 好的,弗。AkkawiandT. Elrad,editor s,第五届面向抽象的建模研讨会与UML 2004结合,2004年。[23] 邻居们,J.M.,Draco:一种可重用软件系统的工程方法,在:软件可重用性- Concepts and Models,ACM Press,New York,NY,USA,1989 pp. 295-319.[24] Oracle Process Manager。URLhttp://www.oracle.com/technology/products/ias/bpel/index.html[25] Osher, H.和 P. Tarr, 使 用 面 向 主 题 的 编 程 来 克 服 面 向 对 象 的 软 件 开 发 /演 化 中 的 常 见 问 题 , 在 :Proc.21stInt687-688.[26] Parnas,D. L.,关于将系统分解成模块所用的标准,Comm. ACM15(1972),pp. 1053-1058[27] 罗伊斯纳河H、使用CoCoNut工具套件的自动组件协议适配,Future Generation Computer Systems19(2003),pp. 627-639[28] Simonyi,C.,编程语言的死亡,意图编程的诞生,技术报告,微软公司。(1995年)。[29] Stein,D.,S. Hanenberg和R. Unland,Query models,in:UML98-112.[30] Stein,D.,S. Hanenberg和R. Unland,Expressing Different Conceptual Models of Joint Point Selectionin Aspect-Oriented Design,in:AOSD15-26[31] Szyperski,C.,“Component Software: Beyond Object-Oriented Programming,” ACM Press and[32] - 是的网址http://www.uddi.org/[33] van den Bos,J.和C. 1991年,《PROCOL:A concurrent object-oriented language with protocolsdelegation and constraints》,Acta Informatica28(1991)。511-538[34] Vanderperren,W.,D. Suvee和V.Jonckers,通过侵入式合成适配器和JAsCo在PacoSuite中组合AOSD和CBSD,在:网络会议论文集。ObjectDays 2003国际会议,2004年,pp. 35比50[35] Verheecke , B. , W. Vanderperren 和 V. Jonckers , Unraveling crosscutting concerns in web servicesmiddleware,IEEE Software23(2006),pp. 42比50[36] 怀特,S。一、Business Process Modeling Notation(BPMN),1.0版(2004年)。网址http://www.bpmn.org/M. Braem等人理论计算机科学电子笔记163(2007)317[37] Wydaeghe,B.,PacoSuite:基于组合模式和使用场景的组件组合,博士论文,系统软件工程实验室(SSEL),自由大学,布鲁塞尔,比利时(2001年)。[38] Yellin,D. M.和R. E. Strom,Protocol specifications and component adaptors,ACM Transactions onProgramming Languages and Systems19(1997),pp. 292-333。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最优条件下三次B样条小波边缘检测算子研究
- 深入解析:wav文件格式结构
- JIRA系统配置指南:代理与SSL设置
- 入门必备:电阻电容识别全解析
- U盘制作启动盘:详细教程解决无光驱装系统难题
- Eclipse快捷键大全:提升开发效率的必备秘籍
- C++ Primer Plus中文版:深入学习C++编程必备
- Eclipse常用快捷键汇总与操作指南
- JavaScript作用域解析与面向对象基础
- 软通动力Java笔试题解析
- 自定义标签配置与使用指南
- Android Intent深度解析:组件通信与广播机制
- 增强MyEclipse代码提示功能设置教程
- x86下VMware环境中Openwrt编译与LuCI集成指南
- S3C2440A嵌入式终端电源管理系统设计探讨
- Intel DTCP-IP技术在数字家庭中的内容保护
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功