CN102693240A - Web服务协议语义的形式化描述方法及装置 - Google Patents
Web服务协议语义的形式化描述方法及装置 Download PDFInfo
- Publication number
- CN102693240A CN102693240A CN2011100736844A CN201110073684A CN102693240A CN 102693240 A CN102693240 A CN 102693240A CN 2011100736844 A CN2011100736844 A CN 2011100736844A CN 201110073684 A CN201110073684 A CN 201110073684A CN 102693240 A CN102693240 A CN 102693240A
- Authority
- CN
- China
- Prior art keywords
- xml
- data object
- appointment
- statement
- definition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Document Processing Apparatus (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提供一种Web服务协议语义的形式化描述方法及装置。方法包括:根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义形式化模型对应的形式化操作;定义与形式化模型和形式化操作对应的逻辑处理语句;对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用形式化模型和形式化操作表示协议状态,用逻辑处理语句描述协议状态之间的迁移,以实现对Web服务协议语义的形式化描述。本发明技术方案可以实现对Web服务协议语义的形式化描述,保证了Web服务协议的正确实现。
Description
技术领域
本发明计算机技术,尤其涉及一种Web服务协议语义的形式化描述方法及装置。
背景技术
互联网的迅速发展使得现有网络中存在大量的异构应用系统,这些系统提供了丰富的软件服务;而面向服务的计算和面向服务的体系结构使用户可以方便的使用这些服务,并使各种服务之间实现灵活的互操作。其中,Web服务技术是一种基于可扩展标记语言(Extensible Markup Language;简称为:XML)协议族实现面向服务的体系结构的一种新型网络软件模型,用于实现异构应用系统之间的互操作。Web服务技术通过统一的技术规范,实现网络上各种软件应用的统一功能表示、共享、集成和信息交换处理。
自面向服务的体系结构协议(例如简单对象访问协议(Simple ObjectAccess Protocol;简称为:SOAP))出现以来,各种国际标准化组织(例如万维网联盟(World Wide Web Consortium;简称为:W3C),结构信息标准先进组织(Organization for the Advancement of Structured InformationStandards;简称为:OASIS),对象管理组织(Object Management Group;简称为:OMG))已经提出了50多个Web服务相关协议,例如SOAP、网络服务描述语言(Web Services Description Language;简称为:WSDL)、统一描述、发现和集成协议(Universal Description Discovery andIntegration;简称为:UDDI)、Web服务寻址协议(WS-Addressing)、Web服务可靠消息协议(WS-RM)、Web服务安全协议(WS-Security)、Web服务事务协议(WS-Transaction)等。尽管这些Web服务协议对Web服务之间的交互提供了统一的标准,但这些Web服务协议的文本主体均是采用自然语言描述的,而二义性是自然语言的固有缺陷,且Web服务协议通常是由不同的人员或组织进行开发的,对同一个Web服务协议不同的人员往往有着不同的理解,从而导致不同的协议实现,即使按照同一标准协议实现的系统在进行互联和互操作时仍有可能出现问题。其中,通过软件对系统实际运行进行测试在一定程度上可以保证系统运行时的可靠性,但却无法从根本上为系统行为乃至协议本身的正确性给出理论推导和证明,因此,从协议语义的严密性和一致性的角度出发,需要一种无二义性的形式化描述方法对Web服务协议的执行语义进行描述。
基于上述,现有技术出现了多种协议的形式化描述技术,其中应用较为广泛的是国际标准化组织(International Organization for Standards;简称为:ISO)的Estelle语言和Lotos语言,国际电报电话咨询委员会(International Telephone and Telegraph Consultative Committee;简称为:CCITT)的简单直接媒体层(Simple Direct Media Layer;简称为:SDL)语言,国际商业机器公司(International Business Machines Corporation;简称为:IBM)的FAPL语言。这些语言大致可分为基于状态和基于序列两种类型。其中,基于状态的类型认为协议总是由一系列接收输入,然后响应输出,并转换到新状态的动作组成,其所依赖的数学模型有有限状态机,Petri网,抽象数据类型等。基于序列的类型侧重于通过定义系统外部可见的行为事件来描述系统,即直接描述系统的输入/输出行为,而不关心协议实体的内部变化,其所依赖的数学模型有通信系统演算(Calculus ofCommunicating Systems,CCS)、时态逻辑等。
其中,基于状态的语言可以详细描述协议的细节,便于协议的实现;基于序列的语言抽象程度较高,利于对协议的各种性质进行分析验证。但是,两类语言均存在一些缺陷:基于状态的语言,在协议状态较少时易于理解,但是随着协议复杂性的增加,就会产生“状态空间爆炸”的问题,且不利于精确描述状态;基于序列的语言,可以精确描述状态,但是描述时的直观性较差,不利于协议的实现。而Web服务协议是一种以XML规范为基础的网络协议,主要描述了针对XML消息的数据格式约束,以及在XML消息之上的处理规则。现有的协议形式化描述方法没有针对XML数据格式进行优化,无法清晰而简便的对基于XML的Web服务协议进行描述,即现有形式化描述技术不适用于Web服务协议,无法准确而严格的描述协议的执行语义,且无法保证协议的正确实现。
发明内容
本发明提供一种Web服务协议语义的形式化描述方法及装置,用以实现Web服务协议语义的形式化描述。
本发提供一种Web服务协议语义的形式化描述方法,包括:
根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义所述形式化模型对应的形式化操作;
定义与所述形式化模型和所述形式化操作对应的逻辑处理语句;
对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用所述形式化模型和所述形式化操作表示所述协议状态,用所述逻辑处理语句描述所述协议状态之间的迁移,以实现对所述Web服务协议语义的形式化描述。
本发明提供一种Web服务协议语义的形式化描述装置,包括:
第一定义模块,用于根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义所述形式化模型对应的形式化操作;
第二定义模块,用于定义与所述形式化模型和所述形式化操作对应的逻辑处理语句;
形式化处理模块,用于对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用所述形式化模型和所述形式化操作表示所述协议状态,用所述逻辑处理语句描述所述协议状态之间的迁移,以实现对所述Web服务协议语义的形式化描述。
本发明提供的Web服务协议语义的形式化描述方法及装置,通过采用集合论和一阶逻辑定义描述XML数据的形式化模型,并定义该形式化模型对应的形式化操作,进一步定义与形式化模型和形式化操作相对应的逻辑处理语句,在将Web服务协议语义进行分解获取协议状态和协议状态间的迁移之后,采用所定义的形式化模型和形式化操作描述协议状态,采用所定义的逻辑处理语句协议状态间的迁移,实现对Web服务协议语义的形式化描述,保证了Web服务协议的正确实现。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的Web服务协议语义的形式化描述方法的流程图;
图2为本发明实施例二提供的Web服务协议语义的形式化描述装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例一提供的Web服务协议语义的形式化描述方法的流程图。如图1所示,本实施例的方法包括:
步骤11、根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义形式化模型对应的形式化操作;
步骤12、定义与形式化模型和形式化操作对应的逻辑处理语句;
步骤13、对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用形式化模型和形式化操作表示协议状态,用逻辑处理语句描述协议状态之间的迁移,以实现对Web服务协议语义的形式化描述。
本实施例的Web服务协议语义的形式化描述方法,通过采用集合论和一阶逻辑定义描述XML数据的形式化模型,并定义该形式化模型对应的形式化操作,进一步定义与形式化模型和形式化操作对应的逻辑处理语句,在将Web服务协议语义进行分解获取协议状态和协议状态间的迁移后,采用所定义的形式化模型和形式化操作描述协议状态,采用所定义的逻辑处理语句描述协议状态间的迁移等,实现对Web服务协议语义的形式化描述,保证了Web服务协议的正确实现。
XML规范为Web服务的交互提供了统一的数据结构,该XML规范定义了XML元素,属性信息,处理指令等多方面的约束和限制,XML元素包括名称、属性信息、元素值和XML子元素等信息。其中,XML子元素是有序的,而属性信息是无序的。在本实施例中,为了适用于Web服务交互场景,同时为了降低形式化描述的复杂性,通过对XML规范进行裁剪形成一种简化的XML数据模型,称之为元数据模型。元数据模型主要用来对符合XML规范的数据对象进行统一的描述。
本实施例步骤11定义形式化模型的过程具体包括:
步骤111、根据集合论和一阶逻辑定义符合XML规范的数据对象,所述数据对象包括XML元素的名称、XML元素的属性信息、XML元素的元素值和XML子元素序列;属性信息包括属性名称和属性值的映射关系。
其中,基于XML规范定义Metaset模型中数据对象包括XML元素的名称、XML元素的属性信息、XML元素的元素值和XML子元素序列。属性信息主要是指属性名称到属性值的单射函数,包括属性名称和属性值的映射关系。其中,在所定义的数据对象中,XML元素的名称不能等于空值,属性名称不能等于空值;且若XML子元素序列不为空,则XML元素的元素值一定等于空值。
另外,对于XML规范中的文档类型定义(Document Type Definitions;简称为:DTD)和处理指令(Processing Instruction;简称为:PI),由于在WS-I互操作性规范中指出简单对象访问协议(Simple Onject Access Protocol;简称为:SOAP)消息中使用XML中的文档类型定义和处理指令可能会导致安全缺陷和语义含糊,而在SOAP 1.2规范中明确规定SOAP消息必须不包含文档类型定义,也必须不包含处理指令。基于此,本实施例的Metaset模型对文档类型定义和处理指令不做考虑。
对于XML规范中的ID和ID引用,由于通过ID和ID引用所产生的效果在逻辑上和直接使用XML子元素产生的效果是一样的,因此本实施例的Metaset模型对ID和ID应用这两个属性也不予以考虑。
对于XML规范中的混合内容元素(Mixed Content):混合内容元素主要包含属性、元素等结构化数据以及元素间任意的文本等,由于混合内容元素无法直接映射到一般编程语言(例如Java)中的数据类型,使得Web服务交互过程中的协议语义比较含糊,为保证Web服务协议语义的清晰性,在本实施例的Metaset模型中忽略对混合内容元素的考虑。
即在本实施例中,Metaset模型仅考虑XML规范中的数据对象。
步骤112、利用Z语言中的符号对符合XML规范的数据对象进行统一描述,形成形式化模型,即Metaset模型。
其中,为描述Metaset模型,本实施例首先引入了基本类型(AbsoluteURI)和字符数据类型(CHAR)。AbsoluteURI表示绝对统一资源定位符(UniformResource Identifier;简称为:URI)地址,主要用于描述XML元素的名称空间等;CHAR表示字符。而对于XML元素的名称、属性值和元素值等,在本实施例中采用字符串类型(String),即一系列有序字符的集合来表示。
由于Z语言是一种应用较为广泛的形式化规格说明语言,它以一阶逻辑和集合论作为形式语义基础,利用集合、序列、包及函数等数学概念对目标软件系统的结构和行为特征进行抽象描述。为便于理解,在本实施例的Metaset模型及其操作优选采用Z语言所定义的符号进行描述,即本实施例的字符串类型中各字符串序列的定义采用Z语言中的定义。另外,在本实施例的Metaset模型还做了如下定义:将空AbsoluteURI对象记为null,将空字符串(空String)记为ε,从而方便判断AbsoluteURI和String对象是否等于空值。举例说明String的使用,例如:可以采用字符串QName表示Metaset模型中的数据对象;可采用字符串ns表示名称空间;采用字符串name表示XML元素的名称等。此外,为了进一步简化描述,Metaset模型还做了如下定义:若QName对象的名称空间ns为空(null)且XML元素的名称name为ε时,可简记为null。
另外,在Metaset模型中,XML元素与XML子元素构成了层次结构,因此可通过元素名称来定位所需要的XML子元素。在本实施例中,将XML元素的名称构成的序列称为元素路径。其中,为了支持任意名称的匹配,可以在元素路径中使用通配符“*”。进一步为表述方便,将元素名称所构成的路径序列<en1,en2,en3,...>记为路径表达式“en1\en2\en3\...”,其中en1、en2、en3......分别为具体的元素名称。
基于上述,为了灵活的获取、设置和构造XML元素的元素值、属性信息和XML子元素,本实施例步骤11在Metaset模型之上定义了两大类八个操作,一类是抽取类操作,包括:过滤操作λ、选择操作σ、获取操作ω、取头操作δ和取尾操作π;一类是构建类操作,包括:构造操作ψ、设置操作μ、删除操作θ。以下分别对上述操作的定义过程和功能进行说明。
定义过滤操作λ:过滤操作用于根据预设过滤条件对所定义的数据对象进行过滤,所述过滤条件可以是预先指定的元素路径(该元素路径主要是指由XML元素的名称构成的序列),或者同时包括指定的元素路径和XML元素的属性信息。
具体的,当给定的过滤条件为指定的元素路径时,该过滤操作具体用于从所定义的数据对象中过滤出指定的元素路径下的数据对象,不同元素路径下的数据对象不同。
当给定的过滤条件为指定的元素路径和指定的XML元素的属性名称时,过滤操作具体用于从所定义的数据对象中过滤出指定的元素路径下、XML元素的属性名称为指定的XML元素的属性名称的数据对象,其中,不同数据对象的属性名称一般不同。
当给定的过滤条件为指定的元素路径、和指定的XML元素的属性名称和属性值时,该过滤操作具体用于从所定义的数据对象中过滤出指定的元素路径下、且XML元素的属性名称和属性值分别为指定的XML元素的属性名称和属性值的数据对象。
定义选择操作σ:该选择操作用于根据指定的元素路径从所定义的数据对象中选择第一个XML元素的名称或属性信息。该选择操作具体是指从所定义的数据对象中选择指定的元素路径下的第一个XML元素,并根据要求获取第一个XML元素的名称或者属性信息。
定义获取操作ω:该获取操作用于根据指定的元素路径从所定义的数据对象中获取第一个XML元素的元素值。该获取操作具体是指从所定义的数据对象中获取指定的元素路径下第一个XML元素,并获取第一个XML元素的元素值。
定义取头操作δ:该取头操作用于根据指定的元素路径从所定义的数据对象中获取第一个XML子元素;该取头操作具体是指从所定义的数据对象中获取指定的元素路径下的第一个XML子元素。
定义取尾操作π:该取尾操作用于根据指定的元素路径从所定义的数据对象中获取第一个XML子元素之后所有XML子元素;该取尾操作具体是指从所定义的数据对象中获取指定的元素路径下的第一个XML子元素,将第一个XML子元素删除,然后获取删除第一个XML子元素之后的其他XML子元素。
定义构造操作ψ:该构造操作用于构建XML元素的名称为指定元素名称的数据对象,或者用于设置所定义的数据对象中的XML元素的元素值或属性信息。具体的,当通过该构造操作构建XML元素的名称为指定元素名称的数据对象时,该构造操作具体是指用于构建XML元素名称为指定的元素名称,构建XML元素的属性信息为空,构建XML子元素序列为空序列的数据对象;当通过该构造操作设置所定义的数据对象中的XML元素的元素值时,该构造操作具体是指从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中的每一个XML元素的元素值设置为第一指定元素值;当通过构造操作设置所定义的数据对象中的XML元素的属性信息时,该构造操作具体是指从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中的每一个XML元素的属性信息设置为第一属性信息,例如将每个XML元素的属性名称设置为第一属性信息中的属性名称an,并设置属性名称an对应的属性值为第一属性信息中的属性值av;另外,当属性名称an已经存在所定义数据对象的XML元素中时,直接将该属性名称an对应的属性值设置为第一属性信息中的属性值av即可。
定义设置操作μ:该设置操作用于根据指定的元素路径设置所定义的数据对象中的第一个XML元素的元素值;该设置操作具体是指从所定义的数据对象中选择指定的元素路径下的数据对象中的第一个XML元素,并获取该第一个XML元素的元素值。
定义删除操作θ:该删除操作用于根据指定的元素路径从所定义的数据对象中删除XML子元素或属性信息。具体的,当通过该删除操作删除XML子元素时,该删除操作具体是指从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中删除所指定的XML子元素;当通过该删除操作删除属性信息时,该删除操作具体是指从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中XML元素的属性名称为指定XML元素的属性名称的属性信息删除;进一步,还可以将获取的指定的元素路径下的数据对象中XML元素的属性名称为指定XML元素的属性名称、且属性值为指定的属性值的属性信息删除。
在定义出形式化操作之后,本实施例采用一阶逻辑对形式化操作的语义进行描述。在本实施例中,仅定义出上述八种形式化操作,在保证Web服务协议执行语义实现形式化的基础上,尽量降低形式化操作的复杂性。
进一步,基于上述形式化模型和形式化操作,本实施例的步骤12具体定义以下逻辑处理语句,包括:定义语句、入口语句、函数语句、调用语句、选择语句、判断语句、循环语句、输出语句、异常抛出语句和异常捕捉语句。通过本实施例技术方案对一个文档进行描述处理时,需要同时使用步骤11所定义的形式化模型和形式化操作以及所定义的逻辑处理语句来描述该文档;本实施例定义的逻辑处理语句实际上定义了使用形式化模型和形式化操作的方法或过程,即通过逻辑处理语句在文档中使用形式化模型和形式化操作。其中,在实际文档中,通过逻辑处理语句使用形式化模型和形式化操作的方式形成一种形式化语言,在本实施例称之为面向服务描述语言(Service-oriented Description Language;简称为:SODL),并将用该SODL语言描述的文档称之为SODL文档。其中,每个逻辑处理语句的语句描述和语句格式可参见表1所示。
表1
其中,该SODL语言由SODL语句和SODL表达式组成。SODL语句是完成特定操作或功能的语言单位,即所定义的逻辑处理语句;SODL表达式是用来求值的实体,即所定义的形式化操作。每一个SODL文档可看作是由一组SODL语句组成,SODL语句使用SODL表达式来求值。
基于上述可知,本实施例提供的SODL语言以类程序设计语言方式提出一种基于状态迁移的协议变换过程,描述协议的语义内涵,为各种Web服务协议建立起统一的表示结构,利于实现形式化描述。
进一步,Web服务协议的执行语义定义了XML格式消息的处理规则,这些处理规则可分解成一系列的协议状态以及这些状态之间的迁移。一个XML格式消息中的各个元素名、元素值、属性名和属性值构成一个协议状态。当其中的元素名、元素值、属性名或属性值发生改变时,则进入了另外一个协议状态;而元素名称、元素值、属性名或属性值如何改变,即改变所遵循的规则可看作协议状态之间的迁移。下面举例说明什么是协议状态和协议状态之间的迁移:例如:XML文档A:
<people name=“Jim”address=“beijing”>
</people>
XML文档B:
<people name=“Jim”address=“beijing”>
<mailCode>100000</mailCode>
</people>
其中,文档A和文档B分别表示一种协议状态,且文档B比文档A多了一个元素,因此,文档A和文档B表示不同的协议状态。其中,文档A和文档B可以相互转换,当文档A和文档B相互转换时,其转换规则可以用SODL语言表示。以文档A向文档B转换为例,其转换规则的SODL语言形式如下:
上述SODL语言的含义是:如果属性地址(address)的值是“北京”,则在文档A的人(people)元素下添加一个子元素邮编(mailCode),且其元素值为100000。该转换过程即为协议状态之间的迁移。
基于上述,在本实施例步骤13中,可以采用现有技术的映射方式将Web服务协议的执行语义映射为一系列的协议状态以及这些协议状态之间的迁移;进一步,也可以以本实施例步骤11所定义的形式化模型和形式化操作为基准,将Web服务协议的执行语义进行映射,形成协议状态和协议状态之间的迁移。进一步,Web服务协议所分解成的每个协议状态可以用一个XML片段表示,在形式化描述过程中,该XML片段需要进行形式化描述;各个XML片段间的关系(例如调用关系)即状态之间的迁移等也需要进行形式化描述。在本实施例步骤13中,具体将协议状态以形式化模型和形式化操作的方式进行描述,将协议状态之间的迁移以及协议状态之间的输入输出关系以逻辑处理语句进行描述,最终形成SODL语言描述的Web服务协议,从而实现对Web服务协议的执行语义的形式化描述。
本实施例的Web服务协议语义的形式化描述方法,基于集合论和一阶逻辑对Web服务协议中所描述的消息处理逻辑(即协议的执行语义)进行准确严格的描述。与现有的协议形式化方法相比,本实施例方法以XML数据的形式化模型为中心,更适用于描述Web服务相关协议。
图2为本发明实施例二提供的Web服务协议语义的形式化描述装置的结构示意图。如图2所示,本实施例的装置包括:第一定义模块21、第二定义模块22和形式化处理模块23。
其中,第一定义模块21用于根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义所述形式化模型对应的形式化操作;第二定义模块22用于定义与第一定义模块21所定义的形式化模型和形式化操作对应的逻辑处理语句;形式化处理模块23用于对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用第一定义模块21所定义的形式化模块性和形式化操作表示或描述协议状态,用第二定义模块22所定义的逻辑处理语句描述协议状态之间的迁移,以实现对Web服务协议语义的形式化描述。
其中,本实施例的Web服务协议语义的形式化描述装置可以是计算机,其形式化描述过程可以由计算机程序或软件来实现,另外,本实施例的Web服务协议语义的形式化描述装置也可以是各种逻辑处理电路,例如FPGA,其通过执行本实施例的形式化处理逻辑来完成Web服务协议语义的形式化描述。
本实施例的Web服务协议语义的形式化描述装置,可用于执行上述方法实施例提供Web服务协议语义的形式化描述方法的流程,可以通过集合论和一阶逻辑定义描述XML数据的形式化模型以及形式化模型对应的形式化操作,进一步定义与形式化模型和形式化操作对应的逻辑处理语句,在将Web服务协议语义进行分解获取协议状态和协议状态间的迁移后,采用所定义的形式化模型和形式化操作描述协议状态,采用所定义的逻辑处理语句描述协议状态间的迁移等,实现对Web服务协议语义的形式化描述,保证了Web服务协议的正确实现。
进一步,第一定义模块21包括第一定义单元211和第二定义单元212。第一定义单元211用于根据集合论和一阶逻辑定义符合XML规范的数据对象,并利用Z语言中的符号对符合XML规范的数据对象进行统一描述,以形成形式化模型;所述数据对象包括XML元素的名称、XML元素的属性信息、XML元素的元素值和XML子元素序列;属性信息包括属性名称和属性值的映射关系。第二定义单元212用于定义形式化模型对应的形式化操作;所述形式化操作包括过滤操作、选择操作、获取操作、取头操作、取尾操作、构造操作、设置操作和删除操作。通过第一定义单元211和第二定义单元212分别定义形式化模型和形式化操作,将所定义内容按照功能区分开,使得定义操作便于实施,提高定义操作的效率。
进一步,第二定义模块22具体定义以下逻辑处理语句,包括:定义语句、入口语句、函数语句、调用语句、选择语句、判断语句、循环语句、输出语句、异常抛出语句和异常捕捉语句。其中,第二定义模块定义各逻辑处理语句,以及所定义的逻辑处理语句的功能可详见上述方法实施例的描述,在此不再赘述。
综上所述,本实施例的Web服务协议语义的形式化描述装置,通过上述功能单元或功能模块将形式化模型和形式化操作分开定义,并定义最少数量的逻辑处理语句,通过执行上述方法实施例提供Web服务协议语义的形式化描述方法的流程,可以实现对Web服务协议语义的形式化描述,保证了Web服务协议的正确实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种Web服务协议语义的形式化描述方法,其特征在于,包括:
根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义所述形式化模型对应的形式化操作;
定义与所述形式化模型和所述形式化操作对应的逻辑处理语句;
对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用所述形式化模型和所述形式化操作表示所述协议状态,用所述逻辑处理语句描述所述协议状态之间的迁移,以实现对所述Web服务协议语义的形式化描述。
2.根据权利要求1所述的Web服务协议语义的形式化描述方法,其特征在于,所述根据集合论和一阶逻辑定义描述XML数据的形式化模型包括:
根据集合论和一阶逻辑定义符合XML规范的数据对象,所述数据对象包括XML元素的名称、XML元素的属性信息、XML元素的元素值和XML子元素序列;属性信息包括属性名称和属性值的映射关系;
利用Z语言中的符号对符合XML规范的数据对象进行统一描述,以形成所述形式化模型。
3.根据权利要求2所述的Web服务协议语义的形式化描述方法,其特征在于,所述定义所述形式化模型对应的形式化操作包括:
定义过滤操作,所述过滤操作用于根据预设过滤条件对所定义的数据对象进行过滤,所述过滤条件包括指定的由所述XML元素的名称构成的元素路径,或者包括所述指定的元素路径和所述XML元素的属性信息;
定义选择操作,所述选择操作用于根据指定的元素路径从所定义的数据对象中选择第一个XML元素的名称或属性信息;
定义获取操作,所述获取操作用于根据指定的元素路径从所定义的数据对象中获取第一个XML元素的元素值;
定义取头操作,所述取头操作用于根据指定的元素路径从所定义的数据对象中获取第一个XML子元素;
定义取尾操作,所述取尾操作用于根据指定的元素路径从所定义的数据对象中获取第一个XML子元素之后所有XML子元素;
定义构造操作,所述构造操作用于构建XML元素的名称为指定元素名称的数据对象,或者用于设置所定义的数据对象中的XML元素的元素值或属性信息;
定义设置操作,所述设置操作用于根据指定的元素路径设置所定义的数据对象中的第一个XML元素的元素值;以及
定义删除操作,所述删除操作用于根据指定的元素路径从所定义的数据对象中删除XML子元素或属性信息。
4.根据权利要求3所述的Web服务协议语义的形式化描述方法,其特征在于,当所述过滤条件为指定的元素路径时,所述过滤操作具体用于从所定义的数据对象中过滤出所述指定的元素路径下的数据对象;
当所述过滤条件为所述指定的元素路径和指定的XML元素的属性名称时,所述过滤操作具体用于从所定义的数据对象中过滤出所述指定的元素路径下、XML元素的属性名称为指定的XML元素的属性名称的数据对象;
当所述过滤条件为所述指定的元素路径、指定的XML元素的属性名称和属性值时,所述过滤操作具体用于从所定义的数据对象中过滤出所述指定的元素路径下、XML元素的属性名称和属性值分别为指定的XML元素的属性名称和属性值的数据对象。
5.根据权利要求3或4所述的Web服务协议语义的形式化描述方法,其特征在于,当通过所述构造操作构建所述XML元素的名称为指定元素名称的数据对象时,所述构造操作具体用于构建XML元素的名称为所述指定元素名称,构建XML元素的属性信息为空,构建XML子元素序列为空序列;
当通过所述构造操作设置所定义的数据对象中的XML元素的元素值时,所述构造操作具体用于从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中的每一个XML元素的元素值设置为第一指定元素值;
当通过所述构造操作设置所定义的数据对象中的XML元素的属性信息时,所述构造操作具体用于从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中的每一个XML元素的属性信息设置为第一属性信息。
6.根据权利要求3或4所述的Web服务协议语义的形式化描述方法,其特征在于,当通过所述删除操作删除XML子元素时,所述删除操作具体用于从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中指定的XML子元素删除;
当通过所述删除操作删除属性信息时,所述删除操作具体用于从所定义的数据对象中获取指定的元素路径下的数据对象,并将获取的指定的元素路径下的数据对象中XML元素的属性名称为指定属性名称的属性信息删除;或者将获取的指定的元素路径下的数据对象中XML元素的属性名称为指定属性名称、且属性值为指定属性值的属性信息删除。
7.根据权利要求1-4任一项所述的Web服务协议语义的形式化描述方法,其特征在于,定义与所述形式化模型和所述形式化操作对应的逻辑处理语句包括:
定义在形式化描述过程中与所述形式化模型和所述形式化操作对应的定义语句、入口语句、函数语句、调用语句、选择语句、判断语句、循环语句、输出语句、异常抛出语句和异常捕捉语句。
8.一种Web服务协议语义的形式化描述装置,其特征在于,包括:
第一定义模块,用于根据集合论和一阶逻辑定义描述XML数据的形式化模型,并定义所述形式化模型对应的形式化操作;
第二定义模块,用于定义与所述形式化模型和所述形式化操作对应的逻辑处理语句;
形式化处理模块,用于对Web服务协议语义进行分解处理,获取协议状态和协议状态之间的迁移,并用所述形式化模型和所述形式化操作表示所述协议状态,用所述逻辑处理语句描述所述协议状态之间的迁移,以实现对所述Web服务协议语义的形式化描述。
9.根据权利要求8所述的Web服务协议语义的形式化描述装置,其特征在于,所述第一定义模块包括:
第一定义单元,用于根据集合论和一阶逻辑定义符合XML规范的数据对象,并利用Z语言中的符号对符合XML规范的数据对象进行统一描述,以形成所述形式化模型;所述数据对象包括XML元素的名称、XML元素的属性信息、XML元素的元素值和XML子元素序列;属性信息包括属性名称和属性值的映射关系;
第二定义单元,用于定义所述形式化模型对应的形式化操作;所述形式化操作包括过滤操作、选择操作、获取操作、取头操作、取尾操作、构造操作、设置操作和删除操作。
10.根据权利要求8或9所述的Web服务协议语义的形式化描述装置,其特征在于,所述第二定义模块具体用于定义在形式化描述过程中与所述形式化模型和所述形式化操作描述对应的定义语句、入口语句、函数语句、调用语句、选择语句、判断语句、循环语句、输出语句、异常抛出语句和异常捕捉语句。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100736844A CN102693240A (zh) | 2011-03-25 | 2011-03-25 | Web服务协议语义的形式化描述方法及装置 |
PCT/CN2011/072545 WO2012129817A1 (zh) | 2011-03-25 | 2011-04-08 | Web服务协议语义的形式化描述方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011100736844A CN102693240A (zh) | 2011-03-25 | 2011-03-25 | Web服务协议语义的形式化描述方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102693240A true CN102693240A (zh) | 2012-09-26 |
Family
ID=46858697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011100736844A Pending CN102693240A (zh) | 2011-03-25 | 2011-03-25 | Web服务协议语义的形式化描述方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN102693240A (zh) |
WO (1) | WO2012129817A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334560A (zh) * | 2018-01-03 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 一种信息获取方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804844A (zh) * | 2006-01-10 | 2006-07-19 | 西安交通大学 | 一种基于Web页面元数据的用户访问行为形式化描述方法 |
CN101282345A (zh) * | 2008-03-03 | 2008-10-08 | 北京航空航天大学 | 一种基于形式化描述和状态迁移的xml转换方法 |
-
2011
- 2011-03-25 CN CN2011100736844A patent/CN102693240A/zh active Pending
- 2011-04-08 WO PCT/CN2011/072545 patent/WO2012129817A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1804844A (zh) * | 2006-01-10 | 2006-07-19 | 西安交通大学 | 一种基于Web页面元数据的用户访问行为形式化描述方法 |
CN101282345A (zh) * | 2008-03-03 | 2008-10-08 | 北京航空航天大学 | 一种基于形式化描述和状态迁移的xml转换方法 |
Non-Patent Citations (1)
Title |
---|
LIU JIAN ET AL.: "A Formal Description of Web Services Container Architecture", 《2009 FOURTH INTERNATIONAL CONFERENCE ON INTERNET AND WEB APLLICATIONS AND SERVICES》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334560A (zh) * | 2018-01-03 | 2018-07-27 | 腾讯科技(深圳)有限公司 | 一种信息获取方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2012129817A1 (zh) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11711368B2 (en) | Security systems, methods, and computer program products for information integration platform | |
US11609973B2 (en) | Integration services systems, methods and computer program products for ECM-independent ETL tools | |
US9804837B2 (en) | System and method for creating, managing, and reusing schema type definitions in services oriented architecture services, grouped in the form of libraries | |
Motik et al. | OWL 2 web ontology language: Structural specification and functional-style syntax | |
Lanthaler et al. | On using JSON-LD to create evolvable RESTful services | |
US10990577B2 (en) | Service registry for saving and restoring a faceted selection | |
Parsia et al. | OWL 2 web ontology language structural specification and functional-style syntax | |
US9009181B2 (en) | Accessing objects in a service registry and repository | |
US20120216100A1 (en) | Service registry policy aggregator | |
EP3602323A1 (en) | Integration services systems, methods and computer program products for ecm-independent etl tools | |
Shafer | An architecture for network management using netconf and yang | |
US8707171B2 (en) | Service registry policy editing user interface | |
Tavares et al. | A model driven approach for the development of semantic restful web services | |
CN102693240A (zh) | Web服务协议语义的形式化描述方法及装置 | |
US20090216801A1 (en) | Service Registry Document Loader | |
Fokoue et al. | OSLC resource shape: A linked data constraint language | |
Cirella | An abstract model of NSF capabilities for the automated security management in Software Networks | |
Zhu et al. | Research on design and implementation of data exchange system | |
Esmin et al. | SMINER–a platform for data mining based on service-oriented architecture | |
Chang et al. | Designing websites with eXtensible web (xWeb) methodology | |
Zhang et al. | Babel: Application Integration through XML specification of Rules | |
Shafer | RFC 6244: An Architecture for Network Management Using NETCONF and YANG | |
Rajagopalapillai et al. | Designing websites with eXtensible web (xWeb) methodology | |
dos Santos et al. | Managing Petri nets in MOF repositories | |
Nuh | A Tool for Web-based Management of Call-for-Papers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20120926 |