已阅读5页,还剩60页未读, 继续免费阅读
(计算机软件与理论专业论文)soa中服务与服务组合的形式化研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
福建师范大学朱恒亮硕士学位论文 一 坚二i丫nlllllijtf8lllllollll7lllloll117lll4iflll _ _ _ _ 。一v d n o a b s t r a c t s e r v i c e sa n ds e r v i c e sc o m p o s i t i o nh a v eb e e nar e s e a r c ht o p i c f o rm a n yy e a r s c u r r e n t l y , t h e r ea r cm a n yf o r m a lm e t h o d s f o rs e r v i c e sc o m p o s i t i o na p p r o a c h e s ,t h a tf r o m 协d l 塔t r i a ls t a n d a r d s ( s u c ha sb p e lo ro w l - s ) t of o r m a lm e t h o d s ,s u c ha sp e t r i n e t sa n d p r o e e s sa l g e b r a sa n da u t o m a t a h o w e v e r , t h e s em e t l l o d s a l en o tp e r f e c t , m a i n l yb e c a u s e n od i r e c tm e s s a g ep a s s i n gt od e s c r i b eo rr e a s o n i n g i nt h i sp a p e r , an e wm o d e li sp r o p o s e d ,c a l l e dm e s s a g es t r u c t u r e 似s ) ,w h i c h c o i 塔is t so f m e s s a g e s a n d m e s s a g ed e p e n d e n c i e s m e s s a g e s r e p r e s e n t t h e i n c o m i n g o u t g o i n gd a t ao rt h es t a t e so ft h es y s t e m ,a n dm e s s a g ed e p e n d e n c i e sr e p r e s e n t a c t i v i t i e so ra c t i o n st h a tt h es y s t e mm i g h tp e r f o r m m sc o n t a i n s f i v em e s s a g e d e p e n d e n c i e s :m e s s a g e c r e a t i o n ,m e s s a g et e r m i n a t i o n ,m e s s a g e c h o i c e ,m e s s a g e s y n c l l r o n i s m a n dm e s s a g et r a n s f o r m a t i o n w i t ht h e s e ,m sc a l l m o d e ls e q u e n c e , c o n c u r r e n c y , n o n d e t e r m i n i s mc h o i c ea n ds y n c h r o n i z a t i o nw a i t i n g s e r v i c e o r i e n t e ds y s t e m su s u a l l yb ee s t a b l i s h e db ym e s s a g e sp a s s i n g ,t h es e r v i c e i s b ys e n d i n ga n dr e c e i v i n gm e s s a g e s t oa c h i e v e ,a n ds e r v i c e sc o m p o s i t i o np r o v i d es e r v i c e s i n s i d ea n do u t s i d eb ys e n d i n ga n dr e c e i v i n gm e s s a g e s i nt h em e s s a g e s t r u c t u r e ,a s m e s s a g e sc a l lb eav a r i e t yo fd a t as o u r c e s ,s om e s s a g es t r u c t u r e sc a n b ed i r e c t l yu s e dt o d e s c r i b et h es e 】i c e sa i l ds e r v i c ec o m p o s i t i o nw i t h o u ta n yc o n v e r s i o n t h i sp a p e rp r o v i d e t h ed e f i n i t i o no fs e r v i c e sa n ds e r v i c er e q u e s t o r s ,f o l l o w e db ya d i s c u s s i o no ft h es e r v i c e c o m p o s i t i o n ,a n ds e r v i c e sb ea b s t r a c t e da st h em e s s a g es t r u c t u r em o d e l f i n a l l y , u s i n g m e s s a g es t r u c t u r et od e s c r i b et h ea c t u a ls e r v i c e - o r i e n t e ds y s t e m s ,a n d a l s ow ed i s c u s s e d t h er e f i n i n gs e r v i c ep r o b l e m s b e s i d e s ,w ed i s c u s st h e f i v em e s s a g ed e p e n d e n c i e s c o r r e s p o n d i n gc o d eg e n e r a t i o n ,a n dg i v ea u t o m a t i cm a p p i n gt r a n s f o r m a t i o nr u l e sf r o m t h em sm o d e lt os i m p l ec o d ef r a m e w o r k k e y w o r d s :s e r v i c e sc o m p o s i t i o n ,m e s s a g es t r u c t r e ,m e s s a g e d e p e n d e n c i e s ,c o d e g e n e r a t i o n i 福建师范大学朱恒亮硕士学位论文 i v b 一 , 一 一一 一一 中文文摘 中文文摘 面向服务的体系结构s o a ( s e r v i c e o d e n t e da r c k t e c t u r e ) 是一种进行系统开发的 新的软件架构。s o a 主要包含四个关键概念:应用程序前端、服务、服务库及服务 总线,其中s o a 的核心是“服务”的概念。s o a 涵盖了众多的理论、方法和技术, 自底向上划分为三个层次:服务基本层、服务组合层和服务管理层,其中服务组合 层是s o a 的核心层,起着承上启下的关键作用。服务是一种运行在不同平台上的、 自包含的、模块化的应用程序,它可以在请求中被查找和调用,从而实现了服务的 组合,进而扩展了应用程序的功能。 服务和服务组合作为一个研究热点问题已经有很多年。所谓服务组合是指一些 相互依赖的、相互作用的w e b 服务的集合0 当前,提出了很多的方法来建模服务组 合问题,从工业上的标准( 如b p e l 、o w l - s ) 到理论上的方法( 如p c t r i 网、进程 代数和自动机等) 。另外,目前服务组合主要有基于句法的服务组合( b p e l ) 和基 于语义的服务组合( o w l s ) 这两种,然而这些语言只有有限的能力来支持自动服 务组合,大部分主要是由于缺乏对现有服务的语义描述。理论界一般采用现有的模 型工具,如p e r t r i 网、进程代数和自动机等,研究主要集中在如何描述它们( 以形 式化的方法) ,如何自动组合它们。但这些工具没有考虑到面向服务系统的具体特征, 很难真正形式化描述面向服务的系统,以及把形式化规格完全的并且有效的自动生 成程序代码框架。 本文组织结构如下: 本文绪论和第一章简要介绍了服务和服务组合的研究背景和研究现状,并讨论 了常用的服务建模理论工具,并对这些建模工具作了简要的对比。 本文第二章中提出了一个新的模型,即消息结构模型,消息结构由消息集和消 息依赖组成。消息既可以是抽象的,也可以是具体的。消息可以表示输入、输出数 据、系统的状态、前置条件和后置条件,甚至是消息的组合。具体的消息可以是简 单类型的数据,以及视为动作或活动的请求数据,这些扩展增强了消息和消息依赖 的表达或描述能力。消息依赖用来表示系统可能执行的动作或活动。在此基础上定 义了五种消息依赖关系,分别是消息创建、消息终止、消息选择、消息同步和消息 v 福建师范大学朱恒亮硕士学位论文 变换;然后给出了消息结构的执行语义。消息结构不仅可以建模并发、非确定性选 择、同步等待,而且可以很容易的用来描述服务和服务组合。 本文第三章讨论了服务与服务组合的相关背景知识,然后借助消息结构这个模 型给出了服务和服务请求者的定义,接着讨论了服务之间的组合问题,把服务和服 务会话都抽象成消息结构模型,这样就使得实际的服务系统可以由消息结构的组合 来描述。然后我们给出了面向服务的系统的定义,并得出了一个重要的结论和两个 推论,即可终止的服务系统组合后依然是可终止的。这种面向服务的系统通常是通 过消息传递机制建立起来的,服务则是通过消息的发送和接收来实现,并且这些消 息的发送和接收也使多个服务组合在一起共同对内外提供服务。最后我们讨论了服 务细化的概念,以及服务组合和服务细化是否相关等问题。 本文第四章讨论了借助消息结构这个新模型自动映射成代码框架的相关问题。 首先介绍了一种新的软件开发方法即模型驱动框架( a ) ,它是o m g 定义的一 种软件开发框架,在软件开发过程中是由对软件系统的建模行为驱动的,可以融入 系统的整个开发生命周期中。m d a 不是强调创建可执行代码,而是强调对系统的 模型设计,这样就可以提供一些自动化工具来自动的检测模型正确性,生成代码框 架,以及整合代码等。借助这个思想,本文分别讨论了五种消息依赖关系对应的代 码生成语句,然后给出了消息结构模型自动生成代码框架的简单变换规则,最后给 出了一个用户注册登陆的完整示例。从中可以看出,消息结构模型比传统的建模方 法( 如p e t r i 网或进程代数) 更容易转化为程序代码框架,更适合描述面向服务的系 统。同时,与m d a 一样,消息结构模型也可以融入整个软件系统的开发生命周期 里,这和传统的生命周期并没有太大的不同,不同的是模型在开发阶段扮演了一个 非常重要的角色,即由代码设计转向为模型设计。 v i o - j ,k 目录 中文摘要。 目录 a b s t r a c t 中文文摘 目录 i i 。v v 绪论。+ 1 - 第一节研究背景 第二节s o a 中服务组合的研究进展 第三节研究内容、意义。 4 8 第一章服务建模理论知识。一1 1 - 第一节常用服务建模工具一1 l 第二节服务组合一1 5 一 第三节本章小结。- 1 6 - 第二章基于消息结构的形式化建模。- 1 7 一 第一节研究背景。一1 7 一 第二节消息结构模型定义。- 1 7 - 第三节系统建模。一2 4 - 第四节本章小结 2 6 第三章服务组合建模。一2 9 一 第一节服务。- 2 9 第二节服务组合。一3 1 - 第三节面向服务的系统。- 3 3 一 第四节本章小结。一3 6 - 第四章自动映射成代码框架。一3 7 一 第一节自动代码生成简介一3 7 第二节消息结构变换规则。3 7 一 第三节本章小结。一4 4 - 第五章结论。一4 5 一 v n 福建师范大学朱恒亮硕士学位论文 参考文献4 7 攻读学位期间承担的科研任务与主要成果5 1 致谢: 5 3 个人简历。5 5 v i l l 0 、 ,b 绪论 绪论 第一节研究背景 面向服务的体系结构s o a u ( s e r v i c e o r i e n t e d a r c h i t e c t u r e ) 就是一种面向企业级 服务的系统架构,简单来说,s o a 就是一种进行系统开发的一种新的软件架构。所 谓软件架构,很多软件著作中给出了不同的定义,b a s s 、c l e m c n t s 、k a z r n a n z e “s o f t w a r e a r c h i t e c t u r ei np r a c t i c e 中定义是:“计算机系统的软件架构是系统结构,由软件元 素、元素的外部属性及其元素之间的关系组成 2 1 。 b o o e h 、r u r n b a u g h 和j a e o b s o n 在“t h eu n i f i e dm o d e l i n gl a n g u a g er e f e r e n c em a n u a l ”中定义软件架构是“一系列的关 于整个软件系统组织的重要决策 3 1 。在基于s o a 架构的系统中,具体应用程序 的功能根据实际需求,通过网络对松散耦合的粗粒度应用组件进行分布式部署、组 合和使用( 也就是w e b j 艮务) 并构建起来的,其中w e b 服务是服务组合中用到的最重要 的技术手段和功能载体。因此,基于s o a 的架构也一定是从企业的具体需求开始构 建的。但是,s o a 和其它企业架构的不同之处就在于s o a 提供的业务灵活性f l 】。业 务灵活性是指企业能对业务变更快速和有效地进行响应、并且利用业务变更来得到 竞争优势的能力。对企业级架构设计师来说,创建一个业务灵活的架构意味着创建 一个可以满足当前还未知的业务需求的玎架构。 下面将首先介绍s o a 中的基本概念,如s o a 中的服务定义和基本组成等。另外, 还简单介绍了软件开发中的形式化建模方法。 1 1 面向服务( s o a ) 的体系架构 s o a 主要包含四个关键概念:应用程序前端、服务、服务库及服务总线1 4 1 ,其 中s o a 的核心是“服务”的概念,w 3 c 将服务定义为:“服务提供者完成一组工作,为 服务使用者交付所需的最终结果。最终结果通常会让使用者的状态发生变化,但也 可能使提供者的状态改变,或者双方都产生改变”。 服务可以看作是一个软件组织,它具有明确的一组功能,一般封装着相关的高 级业务概念。服务可以看成是一个五元组,包含下面几个部分:数据、业务逻辑、 福建师范大学朱恒亮硕士学位论文 实现、服务合约以及外部接口【4 】。如图1 1 所示。 图l 1 服务的构成 f i g 1 1s e r v i c ec o m p o s i t i o n ( 1 ) 数据:服务包括数据,如处理、检索和存储数据等。 ( 2 ) 业务逻辑:它由服务封装,是服务实现的一部分,可以通过接口访问业务 逻辑。 ( 3 ) 实现:在物理上提供所需要的业务逻辑和数据,并且对服务合约进行规定。 ( 4 ) 接口:服务请求者通过接口向服务提供者请求服务,而且服务接口的描述 在服务合约中有明确的说明,它是服务合约的组成部分。 ( 5 ) 服务合约:它提供一个信息说明,包括服务的功能、作用、约束以及使用 等。说明的格式因服务类型不同而异,服务合约可以是基于w s d l 或者i d l 等语言的 接口定义模式。 s o a 将异构平台上应用程序的不同功能组件封装成具有良好定义井且与平台 无关的标准服务,使得服务能够被部署、发现和调用,井使服务能够以松散耦合方 式进行再组合形成一个新的软件系统。因此,s o a 要求开发人员将应用设计为服务 的集合。s o a 要求开发人员跳出应用本身进行思考,考虑现有服务的重用,或思索 他们的服务如何能够被其他项目重用。“单独的”、“独立的”、“封装完善的”服务所 具有的一个关键的好处是,可以采用多种不同方法将它们组合成较大型的服务,由 此来实现重用。 需要说明的是,s o a 并不是一种现成的技术,而是一种架构和组织i t 基础结构 及业务功能的方法。s o a 是一种在计算环境中设计、开发、部署和管理离散逻辑单 元( 服务) 的模型。 绪论 1 2 形式化方法 并发分布式系统已经成为当前计算机科学前沿的研究热点,主要特征是并发性、 分布性、实时性、异构性和互操作性。由于并发分布式系统与传统的顺序计算有着 本质的不同,而且并发分布式系统具有很高的复杂性,所以开发过程不仅难度很大, 而且效率低、周期长,而且难以发现其中隐含的缺陷和错误。 解决上述问题的一个有效途径就是采用形式化方法,形式化方法是认识并发分 布式系统、提高并发分布式系统正确性和可靠性的行之有效的重要研究方法。形式 化规格精确地描述了用户的需求、软件系统的功能以及各种性质,排除了矛盾、二 义性、含糊性等情况,而且在对系统进行规格的过程中,有助于用户理解原本不够 明确的需求,从而形成一个完整的、正确的系统模型。 形式化方法的基本含义是通过使用数学的方法来研究计算机科学中的有关问 题,也就是说,在软件开发的全过程中采用严格的数学工具,具有精确的数学语义 的方法都可以看作是形式化方法。形式化方法用于软件开发的主要目的就是保证软 件系统的正确性,通过使用数学语言,就可以准确的表示系统规格中的抽象层次, 可以对规格中的矛盾性和不完整性进行严格的数学论证,最终获得精确的系统模型。 从形式化规格到目标软件系统的实现角度来看,目前的形式化方法可以大体上 分为三类【5 】: ( 1 ) 操作类 此方法基于状态和转移,通过可执行模型来描述系统,模型本身能够采用静态 分析和模型执行而得到验证,如有限状态自动机、状态图( s t a t ec h a r t s ) 、p e t r i 网等。 ( 2 ) 描述类 此方法基于严格的数学公理和数学概念,通过逻辑的或代数方法给出系统的状 态空间,明显具有高度抽象的特点,便于通过自动工具进行验证,基于不同的数学 基础,该方法可以细分为:基于代数的描述类方法,如z 语言、v d m 、l a r c h 等;基 于逻辑的描述类方法,如以时态逻辑为代表的命题线性时态逻辑、一阶线性时态逻 辑、计算树逻辑等。 ( 3 ) 双重类 福建师范大学朱恒亮硕士学位论文 此方法兼有前面二者的特点,既能够通过数学公理和概念来高度抽象的描述系 统,又具有状态和转移的可执行特征,如扩展状态机或实时时态逻辑等。 第二节s o a 中服务组合的研究进展 s o a 涵盖了众多的理论、方法和技术。s o a 涉及的问题、参与角色和支撑技术 自底向上划分为三个层次:服务基本层、服务组合层和服务管理层f 4 】,其中,服务 组合层是s o a 的核心层,起着承上启下的关键作用。如何对服务和服务组合进行建 模成为一个重要的研究问题,理论界中形式化方法被公认为是一种行之有效的减少 设计错误、提高系统可信度的重要途径,它能帮助发现系统中规格描述的不一致性, 不明确性或不完整性,有助于增加软件开发人员对系统的理解。其目标是希望能使 系统具有较高的可信度和正确性,并能使系统具有良好的结构,使其易维护,关键 是能较好地满足用户需求。目前面向服务的形式化建模可以采用现有的模型,如有 限状态机或自动机【6 1 、进程代数【7 1 、p e t r i 霞q t s l 。 2 1 国外研究现状 p e t r i 网是形式化建模中最强有力的工具,它是一种适合于并发、异步、分布式 软件系统规格与分析的形式化方法。n a r a y a n a n ,m c l l r a i t h l 9 1 采用p e t r i 网理论和情景 演算理论研究了o w l s ( w e bo n t o l o g y l a n g u a g ef o rs e r v i c e ) 的操作语义,在文中提 到了用情景演算理论研究o w l s 中原子服务描述的形式语义,并提出了原子服务 描述与情景演算之间的转换关系。为了研究语义w e b 服务的操作语义( a n a l y s i sa n d s i m u l a t i o no f w e bs e r v i c e s ) ,文中研究了将情景演算作为中间语言,通过把情景演 算转换为p e t r i 网,然后用p e t r i 网的理论来研究了语义w e b 服务的执行推理。 m a r t e n s 1 川为了验证b p e l 的全局抽象流程与各参与者的局部可执行流程之间的一致 性,即检验各局部流程能否在全局流程中正常交互,采用p e t r i 网对b p e l 进行建模, 并利用工具w o m b a t 4 w s 进行自动验证。h i n z ,s c h m i d t n l 等研究了以p e t r i 网为基础的 设计与验证的服务组合框架,并且可以用于可视化,创建和验证现有的b p e l 流程。 y i 、k o c h u t 1 2 1 为b p e l 提出了一个完整的形式化的p e t r i l 网语义模型,其中包括异常 处理机制。此外,他们提供的b p e l 2 p n 分析器可以自动的把b p e l 流程转换成p e t r i 绪论 网。h a m a d i ,b e n a t a l l a h t 乃】用p e t r i 网对服务进行建模,主要基于控制流,即把服务 的操作和服务输入输出分别映射至u p e t r i 网中的转移( t r a n s i t i o n ) 和位置( p l a c e ) ,并提 出了服务p e t r i 网模型。并且针对服务组合中的各种基本结构( 如顺序、互斥、并发 等) 和各种高级结构( 如并发同步) 进行形式化描述。另外,还有的研究者利用一类特 殊的p e t r i 网或扩展p e t r i 网对b p e l 进行形式化建模。如s c h m i d t 和s t a h 1 4 1 、r e i s i g t l 5 1 、 v e r b e e k 、a a l s 【】6 】、l o h m 锄n 【17 】它们都需要利用令牌机制来模拟系统的动态行为。 进程代数是一类使用代数方法研究通信并发系统理论的形式化方法,主要有 c c s 、c s p 、l o t o s 、刀演算和a c p 等,很多专家利用进程代数的描述能力来对服 务组合进行形式化建模。这些进程代数必须利用标记变迁系统来模拟系统的行为。 如,p u 、z h a o 、w m a g - 与q i u 1 钔、s a l a u n 、f e r r a r a 和c h i r i c h i e l l o 1 9 1 等。他们采用进程 代数的方法来研究w e b 服务的组合,并建立了进程代数与w e b 服务的商业流程执行 i 狺b p e l 4 w s 2 0 ( 甚0 b u s i n e s sp r o c e s se x e c u t i o nl a n g u a g ef o rw e bs e r v i c e s ) 的相互映 射( w e bs e r v i c e s :ap r o c e s sa l g e b r aa p p r o a c h ) 。b o r d e a u x ,s a l a u n l 2 1 从整体上研究了 如何利用进程代数来形式化描述w e b j 报务,文中还提到了w c b 服务组合的验证,以 及如何进行w e b 服务开发的意义,并提供了利用进程代数描述w e b 服务编排的示例。 s a l a u n 、b o r d e a u x 、s c h a e r f 2 2 】提倡用进程代数来描述服务组合,特别是它们之间的 交互,而且他们给出了一个案例研究,即使用c c s 把描述和组合服务作为进程。 也 a n d r e a 、f e r r a r a 2 2 】贝0 使用进程代数的方法来研究w e b 服务组合,并提出了进程代数 与w e b 服务的商业过程执行语言b p e l 4 w s 的相互映射。为了描述w s - - c d l 的语法 和语义,文献 2 3 ,2 4 】提出了一个类似进程代数的形式化语言c d l ,并且采用模型 检验工具s p i n 对服务之间交互过程的正确性进行验证。o v e r d i c k l 2 5 】采用万演算对 w e b 服务调用进行形式化描述,并对b p e l 描述的服务组合中的各种流程模式进行建 模。 有限状态机是有限计算的基本模型,也是许多形式化规格、验证方法的基础模 型。采用基于自动机理论对服务组合进行建模的有w o m b a c h e r 、f a n k h a u s e r 与 n e u h o l d t 2 6 和f u 、b u l t a n 与s u 2 7 】等,文献 2 8 3 0 】提出了一个框架用于分析和验证 b p e l 流程通信中的服务组合的属性,其中b p e l 流程是基于异步通信的x m l 消息, 即从服务之间的消息传递开始,将服务规格为一个非确定型的b t l c h i 自动机,它是一 福建师范大学朱恒亮硕士学位论文 个先进先出的输入消息队列,并将服务组合规格为服务之间通过异步消息通信的会 话协议。f o s t e r 【3 i 】使用有限状态机对服务组合流程进行建模,研究了检验业务流程 的安全性和活性等相关的属性,进而验证了服务组合的正确性。w o m b a c h e r 【3 2 】则使 用有限状态自动机对服务组合进行建模,并且对两个协作的服务之间的正确性进行 了验证。b e n a t a l l a h 【3 3 j 把时间约束信息加到了w e b 服务内部的业务流程中,并采用自 动机对其业务协议进行建模,然后验证带有时间约束的业务协议在进行交互时的正 确性和兼容性。 2 2 国内研究现状 郭玉彬【3 4 】提出了定义了一种基于有色p e t r i 网的w e b 服务组合模型,这一模型能 清晰表达服务组合中各组成部分之间的逻辑关系,并可模拟组合服务的执行,分析 其动态性质,而且给出了服务、服务组合运算的定义及性质、服务组合的建立与执 行算法。钱柱中瞄5 j 提出了w e b 服务被描述为面向消息的基于行为p e t f i 网模型,该模 型包括消息域和服务过程,定义了服务组合系统和服务的协同,给出了服务自动组 合规则,并证明了其有效性和完备性,并且给出了实例来描述了服务组合系统的工 作方式,这也为基于p e t r i 网进行服务组合验证奠定了基础。廖军【3 6 】研究了如何使用 7 演算对w e b 服务及其组合进行形式化描述和建模,文中分析了万演算应用于w e b 服务组合需要解决的问题,讨论了万演算与w e b 服务协议栈的对应关系,说明了利 用万演算建立w e b 服务组合模型的规则,并指出了如何寻找代理和通道,最后建立 了一个实际的模型,并利用形式化工具对建立的组合模型是否正确以及是否满足需 求进行了验证。蒋运承等【3 7 1 完善了o w l s 的形式语义。文中研究了w e b 服务描述 本体o w l s 中的形式语义存在的问题,并且用情景演算理论进一步研究了o w l s 中 的服务组合的形式语义。刘方方【3 8 】使用进程代数描述w e b 服务,对合成中的行为特 征进行推导,提出了关于服务合成正确性的一致性关系。郭小群【3 9 j 研究了从已有 w e b 服务构造新的增值性的正确的w e b 服务,文中主要是从进程代数的角度出发, 用万演算来描述服务和服务组合。 本文提出了一个名为消息结构的新模型来对服务和服务组合进行建模。消息结 构由消息集合和消息依赖组成,并定义了五种消息依赖关系,它们是消息的创建、 绪论 终止、选择、同步和变换。借助它们可以对系统的并发、同步和非确定性进行建模。 由于消息结构不涉及动作和状态的关联等关系,可以为面向服务的系统的框架提供 很好的形式化描述。根据消息结构模型的定义和构成,分别给出了五种消息依赖关 系对应的代码生成示例,并总结了从消息结构模型生成程序代码框架的一些简单规 则。 2 3 研究趋势 在学术界,已经形成了多个以面向服务的计算和面向服务的软件开发为主题的 专题国际会议,如i c s o c 、i c w s 、s c c 等,研究人员不断推出新的面向服务的计算 理论、方法和模型;与此同时,各种标准化组织,如o a s i s 、w 3 c 等也纷纷成立面 向服务计算的专题研讨组,不断推出s o a 相关技术标准和规范。另外,学术界和工 业界为了解决服务组合的问题,提出了两种方法:一种是基于句法的服务组合,比 如b p e i a w s ,这类方法的建模和验证常使用p e t r i 网和进程代数等形式化方法;另一 种是基于语义的服务组合,如语义w e b ,常基于时序逻辑等方法。如果采用时序逻 辑与进程代数相结合的方法来描述w e b 服务,将能够兼顾这两类服务组合语言。 作为一种构建软件系统的基础体系架构,s o a 能够彻底解决异构软件系统和组 件之间的无缝集成问题;作为一种新的面向服务的软件开发方式,s o a 使得软件开 发演变成由服务开发、服务部署和服务组装等构成的流程过程为特征的软件大规模 生成线,使得随需求而变的企业级应用系统的快速开发变得可行。s o a 由于其前所 未有的资源整合与互操作能力,成为软件产业的又一个革命性技术,将会把目前基 于互联网的知识经济推进到一个前所未有的新阶段。成功实施和部署s o a 的一个关 键取决于服务技术的发展,特别是服务组合技术,因此研究服务组合技术对于s o a 的应用与实施,对于推动软件产业新一轮的改革浪潮的到来具有重要意义。 2 4 主要问题的提出 目前理论界面向服务的形式化建模可以采用现有的模型,如有限状态机或自动 机、进程代数、p e t r i 网,但这些模型工具除了本身具有局限以外,更多的是由于没 有考虑面向服务系统的实际特征,如服务、服务组合的性质,所以为面向服务的系 福建师范大学朱恒亮硕士学位论文 统进行形式化规格和验证很困难,也难以从形式化规格自动生成可执行的程序代码 框架。随着s o a 的广泛应用,从技术上对w e b 服务的使用将会越来越多,如何从 众多的功能相似的w e b 服务中发现满足条件的服务;服务组合是否满足要求,所以 研究服务以及服务合成变得必要,而业界提出的许多w e b 服务及其组合的描述语 言,大多都是非形式化的。我们只有知道面向服务的软件系统的性质,才能采用正 确的开发方法制造出这种系统。在s o a 中采用w e bs e r v i c e s 技术可以降低开发代价, 一次部署任意调用,便于信息共享。本文根据消息结构的新模型来研究这种系统的 服务建模、服务合成等问题,这种面向服务的系统通常是通过消息传递机制将系统 建立起来的,服务则是通过消息的发送和接收来实现,并且这些消息的发送和接收 也使多个服务组合在一起共同对内外提供服务。从而通过消息结构建立s o a 中面向 服务的软件系统的合成框架,为研究开发方法提供理论依据。 第三节研究内容、意义 3 1 研究内容 为了便于对服务和服务组合进行建模,以及验证服务组合的正确性,进而构建 面向服务系统( 或服务组合) 的代码框架,本文提出了一个新的模型,即消息结构, 见于上述问题,论文的主要内容包括以下几个部分: ( 1 ) s o a 和服务以及服务组合的相关概念; ( 2 ) 介绍常用服务组合建模的基本理论知识,明确服务建模与服务组合的有关 问题: ( 3 ) 详细介绍新模型,即消息结构模型,并给出消息结构的执行语义,并给出 一个用消息结构模型建模系统的例子; ( 4 ) 利用消息结构模型对服务和服务组合进行建模,进而构建面向服务的系统 ( 本文只考虑服务的终止问题) ,并讨论了服务的细化问题; ( 5 ) 讨论从消息结构如何自动映射为程序代码框架。 3 2 研究意义 如何对服务和服务组合进行建模成为一个重要的研究问题。在工业界,主要系 统提供商和国际组织制定很多标准:在理论界,主要在将现有的形式化研究成果用 于分析、描述、和验证面向服务的系统。常用的建模方法有进程代数、p e t r i 网等。 由于面向服务系统本身的特殊性,这些形式化建模工具( 如p e t r i 网和进程代数) 用 绪论 来描述面向服务的系统复杂度很高,很难集成到面向服务系统的开发过程中去,以 及很难从形式化的描述自动生成程序代码框架。 , 另外,在s o a 中采用w e b 服务技术可以降低开发代价,一次部署任意调用, 便于信息共享。如何从w e b 服务中高效地发现满足条件的服务;服务组合是否满 足要求,所以研究服务和服务组合变得非常重要。 本文中提出的新模型,即消息结构模型,可以很好的描述面向服务的系统。消 息结构由消息集和消息依赖组成,并定义了五种消息依赖关系,如,消息的创建、 终止、选择、同步、变换等。借助这五种关系可以对系统的并发、同步和非确定性 进行建模。消息既可以是抽象的又可以是具体的,消息既可以是输入数据、输出数 据,又可以是状态信息、前置或后置条件。消息结构是很简单的模型,不涉及动作 和状态的关联等关系,既能描述面向服务的系统的需求,又能较好的刻画服务的性 质。根据消息结构模型的定义和构成,分别给出了五种消息依赖关系对应的代码生 成示例,并总结了从消息结构模型自动映射成程序代码框架的一些简单规则。 使用消息结构可以很容易的对顺序、选择结构进行建模,还可对并发、非确定 性进行建模。另外,并发系统中的可靠性、活性或可终止性也是非常重要的属性, 有关这方面的工作将在以后加以完善。 福建师范大学朱恒亮硕士学位论文 - l _ l - - - i - - - - _ - _ _ l - _ _ - - _ i - _ - l _ _ _ _ _ _ - l _ - - l - l _ - _ - l - - 1 0 0 卅 h 第一章服务建模理论知识 第一章服务建模理论知识 第一节常用服务建模工具 w 曲服务是运行在不同平台上的、由不同组织管理的相互作用的计算机应用程 序。目前的研究主要集中在如何描述它们( 以形式化的方法) ,如何自动组合它们, 如何在因特网上发现它们,以及如何确保其组合后的正确性。当前为实现服务组合 提出了许多的方法,从工业上的标准像b p e l 和o w l - s 到形式化方法,如p e t d 网 和进程代数等。服务组合一直是并发理论中研究的热点问题,因此,接下来将主要 介绍描述服务组合的几种形式化建模工具。 首先开始并发理论这方面研究工作的是6 0 年代初c a r la d a mp e t r i 的基于p c t r i 网的开创性工作【4 0 1 。从那开始,出现了各种各样的形式化建模和并行推理方法,包 括进程代数,如c c s 4 1 1 、c s p 4 2 、万演算【4 3 1 ,等。不同的模型在诸如组合、模块等 一些概念上有所权衡。其中的一些并发模型主要支持推理和形式化规格,而其它的 模型则被用于整个开发过程中,包括设计,实现,证明,测试以及并发系统的模拟。 本章结构安排如下,首先将简单介绍这些形式化模型,有p e t d 网,进程代数( 如 c c s 、c s p 、万演算) ,另外还对自动机作了简要说明,并且对这些模型做了一个 简单的对比;其次介绍了目前比较流行的服务组合方法:基于句法的服务组合和基 于语义的服务组合,并对服务组合中的若干问题做出了说明。 1 1p e t r i 网 p e t r i 网【4 0 】是由c a p c t d 与1 9 6 2 年在其著名的博士论文自动机通信中提 出来的,它是一种适合描述异步的、并发的、分布式软件系统模型的形式化方法。 p c t r i 网是对离散并发系统的数学表示,p e t f i 网既有严格的数学表述方式,也有直观 的图形表达方式,既有丰富的系统描述手段和系统行为分析技术,又为计算机科学 提供坚实的概念基础。由于p e t r i 网能够表达并发的事件,所以又认为p e t d 网是自 动化理论的一种。p c t r i 网主要是在描述系统中变迁之间的因果关系,是描述所谓的 真并发语义的一种建模工具。 福建师范大学朱恒亮硕士学位论文 p e l r i 网分为基本网和高级p e t r i 网,基本网是位置、变迁p e t r i 网,它由四种基 本元素构成:位置、变迁、有向弧和令牌。在p e l r i 网中,位置表示系统当前的状态, 活动用变迁来表示。系统的状态由变迁来是改变,而位置是用来决定系统中的变迁 能否发生,所以,把位置和变迁之间的这种相互依赖关系称为流关系。 p e t r i 网包括两个基本的要素:条件和事件嗍。每当一定的条件满足时,相应的 事件就会发生。然后原来的条件发生了改变,有些条件从成立变为不成立,另一些 条件则相反。于是新的事件又会发生,如此不断进行下去。p e t r i 网模型是一种描述 顺序、并发、冲突等结构的形式化方法,可以解决并发系统中存在的问题,如非确 定性、死锁、互斥等相关性质。它同时也可以对通讯协议进行形式化规格和验证。 但是p e t r i 网在描述并发和分布式软件系统时也存在一些不足之处: ( 1 ) p e t r i 网的位置、变迁是比较复杂的机制,加上令牌机制更加复杂,系统建模 者很难把握。 ( 2 ) 用p e t r i 网分析系统的性质时,如检测死锁采用自动算法非常困难。 ( 3 ) p e t r i 网只能描述系统的控制流,没有涉及到系统相关的数据流,因而从p e t r i 网的形式化规格很难自动生成程序代码框架。 1 2 进程代数 通信顺序进程( c o m m u n i c a t i o ns e q u e n t i a lp r o c e s s e s ) c s p 4 2 】和通信系统演算( a c a l c u l u so fc o m m u n i c a t i n gs y s t e m s ) c c s 4 l 】是分布式并发系统规格和设计的进程代 数方法。通信系统演算是最早建立的并发系统模型,是进程代数的基础。它是由 m i l n e r 建立的一种并发系统模型。c c s 是进程代数领域的奠基性工作,h o a r e 的通 信顺序进程c s p 就是在c c s 的基础上建立起来的。 c c s 和c s p 这些并发理论的基本成分是事件和进程,进程是事件或者活动的序 列,通信是作为它们进程之间相互作用的基本手段,表现出面向分布式系统的特征。 在语法上,进程代数用小写字母组成的字符串表示事件,用大写字母组成的字符串 表示进程,用一组算子将每个进程映射为它的事件集。通常用结构化操作语义的方 法来定义算子,这样进程就可以认为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年食品包装智能监测系统项目可行性研究报告及总结分析
- 2025年职业培训与技能提升平台项目可行性研究报告及总结分析
- 2025年企业微信营销活动策划合同协议
- 2025年食品精准营销方案可行性研究报告及总结分析
- 2025年企业会议直播服务协议
- 2025年绿色矿业与生态保护项目可行性研究报告及总结分析
- 2025年感官体验营销中心可行性研究报告及总结分析
- 2025年国内外投资环境分析与展望可行性研究报告及总结分析
- 2025年农业合作社合作协议
- 2025年巴彦淖尔市乌拉特后旗保安员招聘考试题库附答案解析
- 人工智能在医学影像分析中的应用
- 中央空调维护保养操作手册
- 《文献检索》期末考试复习试题和答案解析
- 2025年宪法知识竞赛试题库(附答案)
- 2025合同协议品牌合作合同
- 2025年国家电网招聘考试(其他专业)综合试题及答案
- 私立医院薪酬管理与激励方案
- 杞柳编织课件
- ip形象设计合同范本
- 乙型肝炎病毒实验室检测技术规范(2025年修订版)(征求意见稿)
- 胃早癌的简述课件
评论
0/150
提交评论