首页 > 范文大全 > 正文

基于活动图的OWL-S过程模型的图形化建模及实现*

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于活动图的OWL-S过程模型的图形化建模及实现*范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:用可扩展标记语言(XML) 对Web服务合成的描述,存在着描述的复杂性高和不易于用户理解的问题。本文采用基于模型驱动框架(MDA)方法,利用UML活动图对owl-s过程模型进行图形化建模实现了对Web服务合成的描述,并通过实例验证了该方法的可行性。

关键词:OWL-S;UML;活动图;Web服务组合

中图分类号:TP319 文献标识码:A DoI: 10.3969/j.issn.1003-6970.2012.04.031

OWL-S Graphical modeling and Implementation based on UML activity diagram

【Abstract】with extensible Markup Language (XML) on the web services description of synthesis, there are some problems with description of the high complexity and difficult to the users to understand. The paper uses a method which based on Model Driven architecture(MDa), UML activity diagrams are used for graphical modeling of owL-S process model to realize the description of web Service composition, It is proved feasible by an example.

【Key words】owL-S; UML; activity diagram; web services composition

目前流行的Web服务描述语言是OWL-S (Web服务本体标记语言),它采用可扩展标记语言[1] (XML)对Web服务进行描述。虽然XML采用简单的标注格式,并提供一个有效描述方式和交换数据的手段,但是它存在不易于用户理解和编写的缺点,尤其是不适合对复杂的Web服务组合过程进行描述。此外,OWL-S本身虽然支持语义但却无法处理含有复杂控制结构的组合过程。因此,利用图形化的方法对Web服务组合过程的开发方法逐渐受到人们的重视,如何利用图形化的语言对OWL-S进行建模已经成为研究的一个热点。

OMG(Object Management Group)提出了基于模型驱动框架(MDA)的方法[2,3],并定义了一种统一建模语言(UML),它满足Web服务组合的要求,包括接口的描述、基本控制流模式和消息转换等,而且UML独立于执行语言,可以转换为不同的执行语言[4]。在此基础上,Gronmo等人[5]给出了UML与OWL-S的转换规则,利用活动图对语义Web服务组合进行建模;Timm 和Gannod提出一种改进模型驱动方法[6],使用UML类图和活动图对语义Web组合服务进行描述,并使用对象约束语言对控制结构中的约束条件进行规范。但是上述的方法均不支持语义,既没有对复杂的多种控制结构进行规范描述,也没有实现对Web服务组合过程的有效验证。

针对上述情况,本文提出一种采用UML活动图对OWL-S过程模型进行图形化建模的有效方法,利用UML活动图建立Web服务组合的动态行为模型。

是一个复合状态,它可以被分解为多个子活动状态,需要在一段时间内完成,用于表达状态机的非原子的运行。伪状态不做任何动作,主要用于对流程的控制,包括初始状态(init)、分岔(fork)、合并(merge)、分支(branch)和终止状态(final)。

OWL-S是DARPA组织的研究组OWL Services Coalition 提出的基于本体语言OWL的语义Web服务本体描述语言[10,11],主要用于描述Web Service 的性质和功能。它使得Web服务成为计算机可以理解的实体,从而计算机可以智能化的完成对服务的发现、调用、组合和验证等操作。OWL-S包括三个组件,即描述Web服务基本信息的三类顶层本体:

(1)ServiceProfile:它主要描述Web服务做什么,它给出服务提供者的相关信息、服务功能的信息、服务属性的信息等,服务搜寻通过ServiceProfile实现服务之间的匹配。

(2)ServiceModel:它主要描述Web服务如何做,它定义了服务具体实现的内部流程,主要包括服务的控制流和数据流,以及执行的具体步骤和逻辑执行顺序等,用于实现服务的自动化组合和执行。

(3)ServiceGrounding:它主要描述Web服务如何被使用者调用该服务,它给出了访问的具体信息,即服务的地址、协议、消息格式、端口号等,它是一种从服务抽象描述到具体服务的映射过程。

本文主要是利用UML活动图实现对ProcessModel控制结构的图形化建模。OWL-S的过程模型主要有原子过程、简单过程和组合过程三种。原子过程是一个不可再分的直接调用的过程,它没有子过程,只能一步完成;简单过程是一个不可直接调用的过程,它同样可以一步完成;组合过程由原子过程或子组合过程组成,它通过一系列的控制结构构造符将其它过程组合起来形成的复杂过程。OWL-S的控制结构构造符主要有以下八种:Sequence、If-then-Else、Choice、Split、Split+Join、Any-Order、Repeat-While和Repeat-Until。

为了实现UML活动图到OWL-S过程模型的转换,在UML活动图中必须包含足够详细的信息,在UML活动图中的基本元素是Action,在 OWL-S的过程模型中,表示为对原子

Repeat-While结构:

在执行服务S1结束后,首先判断condition是否成立,若成立,则执行服务S2,服务S2执行结束后继续判断condition是否成立,若仍然成立则继续执行服务S2,直至condition条件不成立,循环执行结束,然后执行服务S3。

Repeat-Until结构:

执行服务S1结束后,首先然后执行服务S1一次,然后判断condition条件是否成立,若成立则再次执行服务S1,执行结束后再次判断condition是否成立,若成立,则继续执行服务S1,直至condition条件不成立,循环结束,然后执行后续服务S2。

UML活动图的本身扩展机制,把UML活动图中的模型动作状态约束概念和OWL-S的条件相对应,将活动图模型中的标记值与OWL-S的分类和描述的信息相对应。

本文所提出的利用UML活动图对OWL-S过程模型的图形化建模方法,它采用UML活动图对Web服务组合的内部流程进行描述,具有较好的直观性,提高了Web服务合成的抽象水平,使用户更加容易理解 Web服务组合的实现过程。通过实例验证了该方法的有效和可行性。下一阶段的工作就是利用Promela语言描述UML活动图的组合模型,并利用系统辅助分析工具SPIN对该模型进行相应的形式化验证。