CN101282345A - 一种基于形式化描述和状态迁移的xml转换方法 - Google Patents
一种基于形式化描述和状态迁移的xml转换方法 Download PDFInfo
- Publication number
- CN101282345A CN101282345A CNA2008101012443A CN200810101244A CN101282345A CN 101282345 A CN101282345 A CN 101282345A CN A2008101012443 A CNA2008101012443 A CN A2008101012443A CN 200810101244 A CN200810101244 A CN 200810101244A CN 101282345 A CN101282345 A CN 101282345A
- Authority
- CN
- China
- Prior art keywords
- statement
- state
- expression formula
- keyword
- xml
- 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.)
- Granted
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
- Computer And Data Communications (AREA)
Abstract
一种基于形式化描述和状态迁移的XML转换方法,此方法对采用XML作为主要数据表示形式的网络协议能够进行有效的形式化描述,包括以下步骤:(1)分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示;(2)按照协议语义为上述各状态建立状态迁移规则;(3)执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。本发明与现有的协议形式化方法比较,综合考虑了单基于状态的形式化方法和单纯基于程序设计语言方法各自的优势和不足,即避免了单纯基于状态方法的“状态空间爆炸”问题,也发挥了程序设计语言方法对于静态数据结构和操作过程描述的优势。
Description
技术领域
本发明涉及一种基于形式化描述和状态迁移的XML转换方法。
背景技术
XML(eXtensible Markup Language)是互联网联合组织创建的一组规范,其目的是帮助软件开发人员和内容创建者通过网络方式组织和传递信息。它不仅能满足不断增长的网络应用需求,同时能够确保在通过网络进行交互合作时,具有良好的可靠性和互操作性。XML是一种自我描述的定义语言,使用者可以定义标记来描述内容中的任何数据元素,从而突破了诸如HTML等固定标记语言的束缚,使得越来越多更丰富更复杂的内容得以在网络中传输并进而组合成一个完整的信息体系。由于这些优点,XML已经进化成一个信息交互的全球平台。
特别是随着新的网络通信协议与规范的不断涌现,XML在协议规范的设计、描述和实现过程中也发挥着越来越重要的作用。尽管如此,现有网络协议的设计与描述方法仍然存在着许多不足之处,其主要表现在:一方面,协议和规范的开发常常是由不同的人员或组织进行的,由于协议文本的主体仍是采用自然语言描述,而二义性是自然语言的一个固有缺陷,因此,不同的人对同一个协议往往有着不同的理解,从而导致不同的协议实现,使得按同一标准协议实现的系统在进行互联和互操作时仍然有可能产生新的问题。另一方面,软件测试的原理和方法虽然能够在相当程度上确保系统在实际运行过程中的可靠性,但并不能从根本上为系统行为乃至协议本身的正确性给出理论推导和证明。
因此,从协议语义的严密性和一致性的角度出发,需要将基于XML的网络协议语义采用一种无二义性的形式化方法进行描述,进而使协议的自动实现成为可能,并且由于基于这种协议描述的实现是一致的,所以它们也是可互操作的。因此,随着各种协议的标准化,人们开始积极地研究形式化的协议描述技术,并相继提出了一系列方法。如有限状态机(FSA)、形式语言、PETRI网络及其扩展型、代数法、抽象数据类型、高级程序设计语言和时序逻辑等。这些方法可以归为两类:①基于状态(机)的类型。这种模型认为协议总是由一系列接收输入然后响应(输出),并转换到新状态的动作组成,于是有限状态机、形式语法、PETRI网络、代数法,甚至时序逻辑等方法都属于这一类。②程序设计语言类型。这种模型认为协议本身就是一种程序设计语言形式,而协议的实现无非是从一种程序到另一种程序设计语言的转换。这两类方法都在某些方面较好地达到了形式化描述协议语义的目的,但也在另一些方面有所缺陷。通过比较分析可知,现有方法主要存在以下一些问题。基于状态(机)的模型非常便于描述状态,在状态较少时易于理解,但随着协议复杂性的增加,会产生“状态空间爆炸”的问题,也不利于精确描述数据;而基于程序设计语言的模型则可以精确地描述数据,易于实现,但是这种方法描述直观性差,且不利于状态的描述。
因此,如何有效地采用形式化的手段将现有基于XML形式的协议以及由协议提供的服务准确而严格地描述出来是协议各方需要解决的一个重要问题。
发明内容
鉴于上述原因,本发明的目的是为采用XML作为主要数据格式的网络协议提供一种基于形式化描述和状态迁移的XML转换方法。该方法规定了一组形式化地操作XML数据的方式和规则,可以用于对协议语义进行准确严格的表示以及对协议所提供的服务进行统一的描述,进而为协议的自动实现提供一种新的解决方案。
为实现上述目的,本发明采用以下技术方案:
一种基于形式化描述和状态迁移的XML转换方法,其特征在于:将网络协议按照其逻辑功能划分为不同的协议状态,每个状态用唯一的一个XML片断表示,进而给出这些状态之间的迁移规则和状态的输入输出关系,将网络协议的语义过程通过XML转换的方式实现.包括以下步骤:
(1)分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示;
(2)按照协议语义为上述各状态建立状态迁移规则;
(3)执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。
本发明是一种基于形式化描述和状态迁移的XML转换方法,可以作为对采XML作为主要数据表示形式的用网络协议语义进行形式化描述的一种有效手段,与现有的协议形式化方法比较,本发明的优点在于综合考虑了单基于状态的形式化方法和单纯基于程序设计语言方法各自的优势和不足,即避免了单纯基于状态方法的“状态空间爆炸”问题,也发挥了程序设计语言方法对于静态数据结构和操作过程描述的优势。
附图说明
图1为本发明实现的基于形式化描述和状态迁移的XML转换方法流程图;
图2为本发明定义的状态迁移规则中的语句处理流程图;
图3为本发明定义的状态迁移规则中的表达式处理流程图。
具体实施方式
本发明中公开的一种基于形式化描述和状态迁移的XML转换方法主要分为如下三个步骤:
第一步:分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示。
1.网络协议是对通信双方实现特定功能或完成特定操作的规范化表述,通常按照这些功能和操作的实现过程可以将协议语义划分为不同的状态。状态是协议在不同的逻辑阶段所完成的操作效果的抽象表示。通常可以按照协议接收输入,进行相应的处理,然后返回响应结果的逻辑顺序将网络协议划分为一系列状态,每种状态包含各自的状态变量,这些状态变量以XML片段的元素或者属性的形式出现在该状态中。对于简单协议而言,可以直接将其划分为输入状态,内部处理状态和输出状态;对于复杂协议,其内部处理过程通常又可以进一步划分为不同的子过程,这些子过程分别对应于不同的子状态,从而在更细节的层面上对协议语义进行精确地刻划。
例如在Web服务处理流程中,可以将Web服务容器段对服务请求报文的处理过程分为传输层状态、消息层状态、服务层状态和适配层状态,这些状态组成了Web服务处理流程的状态集合,其相互配合共同完成了Web服务从请求、处理到响应的全过程。每个状态分别实现了从报文中提取或填写特定字段的任务,因此,每个状态也都可以用一个含有特定元素和属性的XML文档片断来唯一地表示。
2.为了后续过程能够按照统一的方式对上述状态进行表示和处理,本发明进而引入了“元集”的概念。元集是一种采用集合论的方式对XML文档内容进行形式化描述的方法。一个元集中可以包含其他元集。如果一个元集中包含有其他元集,那么这个元集称为其他元集的父元集,其他元集称为这个元集的子元集。一个元集中可以包含多个属性。属性就对应着XML文档中元素的属性。
元集的操作包括创建、添加、删除、选择、过滤、取头、取尾、序列化、反序列化、设置父亲、获取父亲、设置元集值等方法。
创建元集方法:等效于程序语言中的构造函数,它的输入是一个字符串,该字符串作为元集的名字。方法的参数是一个字符串,该字符串就是元集的特定名字。
添加属性方法:向元集中添加一个属性。元集中维护一个列表来存储它的属性名值对,添加属性就是向该列表中添加一个新属性。
添加子元集方法:向当前元集中添加一个子元集。每个元集维护一个列表来存储它的子元集,添加子元集就是向该列表中添加一个新元集。
删除子元集方法:从当前元集中删除一个子元集。此方法用于从当前元集的子元集列表中把相应子元集删去。
删除属性方法:从当前元集中删一个属性。此方法用于从当前元集的属性名值对列表中把相应属性删去。
选择子元集方法:从当前元集中查找满足条件的子元集。此方法用于从当前元集的子元集列表中查找相应的子元集。
过滤属性方法:从当前元集中查找满足条件的属性值。此方法用于从当前元集的属性名值对列表中过滤出相应属性的值。
取头方法:从当前元集中查找第一个子元集。此方法用于从当前元集的子元集列表中取出第一个元集。
取尾方法:此方法返回从当前元集的子元集列表中删去第一个元集后的其余元集的集合。
序列化方法:将一个元集对象转换为一个XML片段。
反序列化方法:将一个XML片段转换为一个元集对象。输入为XML文档片段,可以利用SAX解析器解析该片段并将其还原成一个元集对象。
设置父亲方法:设置一个元集的父元集。这个方法可以保证元集之间的从属关系与XML文档中元素间的关系相一致。
获取父亲方法:如果该元集有父元集,返回父元集;否则,返回空。
设置元集值方法:元集的值对应于XML文档中元素值的概念。此方法等价于为XML文档中的指定元素设置元素值。
通过上述操作,可以将元集作为刻划状态特征的基本数据结构,使得协议的各个状态能够按照统一的方式进行表示,为状态之间的转换过程提供了保障。
第二步:按照协议语义为上述各状态建立状态迁移规则。
迁移规则主要包括表达式、语句和处理环境三部分:
(1)表达式
所述表达式是代表操作功能或用来求值的实体。一般说来,表达式由表达式标识符和参数集合构成。表达式标识符用于标识表达式的目的和功能;参数集合用于对相应的功能提供输入数据。通过表达式的组合可以为协议状态迁移提供操作接口,从而在输入状态和输出状态之间建立起映射关系。本发明种定义的表达式类型包括:空表达式、字符串表达式、选择表达式、过滤表达式、取头表达式、取尾表达式、取元集值表达式、设置元集值表达式、构建表达式、删除表达式、压栈表达式、弹栈表达式和调用表达式,如表1所示:
表达式名称 | 表达式语法定义 |
(表1:本方法中定义的表达式及其说明)
所述空表达式:空表达式表示空操作,可以用于创建一个新的不含任何内容的元集。空表达式的表达式标识符是φ。
所述字符串表达式:字符串表达式用于表示字符串,一般作为其他表达式的参数。字符串表达式没有表达式标识符,字符串本身也是表达式。
所述选择表达式:选择表达式的目的用于从给定的元集中按照给定的路径选择给定的属性名的属性值。选择表达式的标识符为σ。
所述过滤表达式:过滤表达式的目的用于从给定的元集中根据条件过滤出合适的元集,条件可以是给定的路径、给定的路径和属性名或者给定的路径和给定的属性名和给定的属性值。过滤表达式的标识符为λ。
所述取头表达式:取头表达式的目的用于从给定的元集中获取其第一个子元集。取头表达式的标识符为δ。
所述取尾表达式:取尾表达式的目的用于从给定的元集中获取其除去第一个子元集的所有子元集构成的元集。取尾表达式的标识符为π。
所述取元集值表达式:取元集值表达式的作用是返回给定的元集的第一个子元集的元集值。取元集值表达式的标识符为ε。
所述设置元集值表达式:设元集值表达式的作用是为给定路径上的元集设置元集值。设元集值表达式的标识符为μ。
所述构建表达式:派生表达式用于按照给定的要求构造新的元集,包括设置元集名和属性值两种操作。派生表达式的标识符为ψ。
所述删除表达式:用于删除给定路径上的元集或从属性列表中删除满足条件的属性。删除表达式的标识符为θ。
所述压栈表达式:压栈表达式将某对象压入堆栈顶部。压栈表达式的标识符为α。
所述弹栈表达式:弹栈表达式从堆栈顶部弹出对象,弹栈表达式的标识符为β。
所述调用表达式:此表达式是适应通信传输层与应用层需要而设置的,主要通过将从底层协获取的参数传递给上层协议,并进行方法调用。调用表达式的标识符为ρ。
(2)语句
所述语句提供了一种针对XML元素的处理方式。包括:选择语句、函数语句、输出语句、输入语句、文件调用语句、描述语句、主语句和缺省语句等,如表2所示:
语句名称 | 语句语法定义 |
选择语句 | <switch choice=“表达式1”><case1case=“表达式2”></case1><case2case=“表达式3”></case2>…<default>…</default></switch> |
函数语句 | <func>表达式</func> |
输出语句 | <output>表达式</output> |
输入语句 | <input状态变量=“输入路径”/> |
文件调用语句 | <invoke input=“规则文件路径”/> |
描述语句 | <descriptions><子语句1/>…</descriptions> |
主语句 | <main/> |
缺省语句 | <语句名称><子语句1/>…</语句名称> |
(表2:本方法中定义的语句及其说明)
所述选择语句:选择语句所处理的元集的元集名称为switch。Switch语句包含choice属性,此属性的值是表达式,用于提供判断的条件。Switch语句包含任意个子语句,子语句的语句名称任意,但是这些子语句都必须包含case属性,如果子语句不含case属性,此子语句在任何情况下都不会被处理。选择语句类似程序设计语言中的switch,在一次执行过程中,只会执行在switch语句中的某个满足判断条件的子语句。在所有的条件都不满足的情况下,选择语句将执行default分支作为其默认处理。选择语句主要用于以下两种环境:
a)判断某集合或某对象是否为空。
b)判断choice属性值中的字符串和case属性值中的字符串是不是相等。
所述函数语句:函数语句所处理的元集的元集名称为func。元集值是表达式,函数语句对该元集值进行计算,获得返回值,返回值必须为String类型。
所述输出语句:函数语句所处理的元集的元集名称为output。元集属性target标识其输出位置。语句值表示待计算的表达式。输出语句将在制定位置输出表达式的计算结果。
所述输入语句:函数语句所处理的元集的元集名称为input。用于从外界输入一个文件,输入语句通常用于为XML转换过程提供初始上下文。
所述文件调用语句:函数语句所处理的元集的元集名称为invoke。元集属性input标识其调用的文件的位置。文件调用语句通常用于调用其他规则文件。
所述描述语句:描述语句所处理的元集的元集名称为description。description语句应作为XML跟语句出现在待处理的文档中,并可以包含任意个子语句,其第一个子语句名必须为main。
所述主语句:主语句所处理的元集的元集名称为main,主语句将作为所有规则处理过程的起始点。
所述缺省语句:缺省语句所处理的元集的元集名称为除上述已定义的语句名称以外的其他有效的XML元素名称。在没有任何特殊的语句被选中的情况下,将通过缺省语句进行处理。缺省语句将按照如下的规则进行处理:如果此语句存在子语句,则对每个子语句调用相应的语句进行处理。如果此语句不存在子语句,且其语句值不为空,则将语句值输出到输出文档即可。如果此语句不存在子语句,且其语句值为空,则通过其语句名称在description元集中选择与之名称相对应的元集,并对此对应的元集调用相应的语句进行处理。此处规定:在description元集中,与语句名称相对应的元集只能是零个或者一个。
(3)处理环境
处理环境指与外界交互的实体,由用户的输入、输出、错误处理及变量声明等组成。处理环境可以作为任何语句的子语句,描叙处理此语句时的上下文环境。
利用上述三部分建立的协议状态迁移规则具有以下特征:
a)协议状态迁移规则序列以规则文件的形式存在,该文件遵循XML规范。
b)规则序列中的语句名称应该为上述形式化描述中已定义的各种语句名称,每种语句的格式应符合该语句的语法定义。
c)状态是基于XML的数据或对象在本发明公布的处理方法给出的操作过程中的一种中间形态。状态以状态变量的形式存在,可以作为属性名、属性值或者语句值参与表达式运算。新的状态可以派生自既有状态,也可以由处理过程创建。当某个状态S1作为表达式的输入参数参与运算并得到一个新的状态S2时,称本方法在S1和S2之间进行了一次状态迁移。
d)表达式作为一种可求值的计算单元指明了具体的操作过程,表达式以属性值或者语句值的形式出现在规则序列中,每种表达式的使用应符合该语句的语法定义。
第三步:执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。
本方法将按照以下方式执行规则序列:
1.规则文件的根语句是规则执行的入口点,从根语句开始按照深度优先搜索方式对main语句下的所有子语句进行依次执行;
2.对于main语句下的每个子语句,本方法将按照以下方式进行处理:
若语句名称等于input,则调用输入语句的处理逻辑进行处理;
若语句名称等于output,则调用输出语句的处理逻辑进行处理;
若语句名称等于switch,则调用选择语句的处理逻辑进行处理;
若语句名称等于func,则调用函数语句的处理逻辑进行处理;
若语句名称等于invoke,则调用文件调用语句的处理逻辑进行处理;
若语句名称为其他合法形式,则调用缺省语句的处理逻辑进行处理。
3.对于规则文件中的每个属性,本方法将按照以下方式进行处理:
(1)获得当前属性的属性名称和属性值的字符串表示。
(2)将代表属性值的字符串按照以下规则进行计算求值,
若字符串中包含σ关键字,则利用该关键字之后的参数按照选择表达式的逻辑定义进行求值;
若字符串中包含λ关键字,则利用该关键字之后的参数按照过滤表达式的逻辑定义进行求值;
若字符串中包含δ关键字,则利用该关键字之后的参数按照取尾表达式的逻辑定义进行求值;
若字符串中包含π关键字,则利用该关键字之后的参数按照空表达式的逻辑定义进行求值;
若字符串中包含ε关键字,则利用该关键字之后的参数按照取元集值表达式的逻辑定义进行求值;
若字符串中包含μ关键字,则利用该关键字之后的参数按照设置元集值表达式的逻辑定义进行求值;
若字符串中包含ψ关键字,则利用该关键字之后的参数按照构建表达式的逻辑定义进行求值;
若字符串中包含θ关键字,则利用该关键字之后的参数按照删除表达式的逻辑定义进行求值;
若字符串中包含α关键字,则利用该关键字之后的参数按照压栈表达式的逻辑定义进行求值;
若字符串中包含β关键字,则利用该关键字之后的参数按照弹栈表达式的逻辑定义进行求值;
若字符串中包含ρ关键字,则利用该关键字之后的参数按照调用表达式的逻辑定义进行求值;
(3)将计算结果赋值给当前属性名代表的状态变量。
4.在执行的过程中,若在根语句下存在与当前缺省语句同名的语句,则跳转到该同名语句,并以该语句为根继续按照深度优先搜索的方式遍历其下的所有语句,完成后再返回原跳转处继续执行。
5.当按照深度优先搜索方式完成对根语句的第一个子语句下的所有语句的遍历时,就完成了对当前规则序列的一次执行过程,完成该过程时的结果状态即为本方法的输出结果,通常可以将结果保存到本地文件系统中。
Claims (7)
1、一种基于形式化描述和状态迁移的XML转换方法,其特征在于包括以下步骤:
(1)分析网络协议的逻辑功能,将协议划分为不同的状态,每个状态用唯一的一个XML片断表示;
(2)按照协议语义为上述各状态建立状态迁移规则;
(3)执行该迁移规则,实现XML数据之间的转换,从而完成协议的自动实现。
2、根据权利要求1所述的基于形式化描述和状态迁移的XML转换方法,其特征在于:所述步骤(1)中协议状态的划分应遵循如下原则:
a)对于简单协议,直接将其划分为输入状态,内部处理状态和输出状态;
b)对于复杂协议,在上述三个状态的基础上,其内部处理过程进一步划分为不同的子过程,这些子过程分别对应于不同的子状态,从而在更细节的层面上对协议语义进行精确的刻划;
并采用元集概念对上述状态进行统一地表示。
3、根据权利要求1所述的基于形式化描述和状态迁移的XML转换方法,其特征在于:所述步骤(2)中建立的协议状态迁移规则主要包括以下三部分:
a)表达式:代表操作功能或用来求值的实体,一般说来,表达式由表达式标识符和参数集合构成,表达式标识符用于标识表达式的目的和功能;参数集合用于对相应的功能提供输入数据,通过表达式的组合可以为协议状态迁移提供操作接口,从而在输入状态和输出状态之间建立起映射关系,本发明定义的表达式类型包括:空表达式、字符串表达式、选择表达式、过滤表达式、取头表达式、取尾表达式、取元集值表达式、设置元集值表达式、构建表达式、删除表达式、压栈表达式、弹栈表达式和调用表达式;
b)语句:提供了一种针对XML元素的处理方式,包括:选择语句、函数语句、输出语句、输入语句、文件调用语句、描述语句、主语句和缺省语句;
c)处理环境:与外界交互的实体,包括用户的输入、输出、错误处理及变量声明,处理环境可以作为任何语句的子语句,描叙处理此语句时的上下文环境。
4、根据权利要求3所述的基于形式化描述和状态迁移的XML转换方法,其特征在于:所述三部分建立的协议状态迁移规则具有以下特征:
a)协议状态迁移规则序列以规则文件的形式存在,该文件遵循XML规范;
b)规则序列中的语句名称应该为上述形式化描述中已定义的各种语句名称,每种语句的格式应符合该语句的语法定义;
c)状态是基于XML的数据或对象在本发明公布的处理方法给出的操作过程中的一种中间形态,状态以状态变量的形式存在,可以作为属性名、属性值或者语句值参与表达式运算,新的状态可以派生自既有状态,也可以由处理过程创建,当某个状态S1作为表达式的输入参数参与运算并得到一个新的状态S2时,即在S1和S2之间进行了一次状态迁移;
d)表达式作为一种可求值的计算单元指明了具体的操作过程,表达式以属性值或者语句值的形式出现在规则序列中,每种表达式的使用应符合该语句的语法定义。
5、根据权利要求1所述的基于形式化描述和状态迁移的XML转换方法,其特征在于:所述步骤(3)中的协议状态迁移规则将按照以下方式进行处理:
a)规则文件的根语句是规则执行的入口点,从根语句开始按照深度优先搜索方式对main语句下的所有语句进行依次执行;
b)在执行的过程中,若在根语句下存在与当前缺省语句同名的语句,则跳转到该同名语句,并以该语句为根继续按照深度优先搜索的方式遍历其下的所有语句,完成后再返回原跳转处继续执行;
c)当按照深度优先搜索方式完成对根语句的第一个子语句下的所有语句的遍历时,就完成了对当前规则序列的一次执行过程,完成该过程时的结果状态即为本发明的输出结果,可以将结果保存到本地文件系统中。
6、根据权利要求5所述的基于形式化描述和状态迁移的XML转换方法,其特征在于:所述的处理方式,对于main语句的每个子语句,将按照以下方式进行处理:
若语句名称等于input,则调用输入语句的处理逻辑进行处理;
若语句名称等于output,则调用输出语句的处理逻辑进行处理;
若语句名称等于switch,则调用选择语句的处理逻辑进行处理;
若语句名称等于func,则调用函数语句的处理逻辑进行处理;
若语句名称等于invoke,则调用文件调用语句的处理逻辑进行处理;
若语句名称为其他合法形式,则调用缺省语句的处理逻辑进行处理;
7、根据权利要求5所述的基于形式化描述和状态迁移的XML转换方法,其特征在于:所述处理方式中遇到的每个属性,将按照以下方式进行处理:
(1)获得当前属性的属性名称和属性值的字符串表示;
(2)将代表属性值的字符串按照以下规则进行计算求值,
若字符串中包含σ关键字,则利用该关键字之后的参数按照选择表达式的逻辑定义进行求值;
若字符串中包含λ关键字,则利用该关键字之后的参数按照过滤表达式的逻辑定义进行求值;
若字符串中包含δ关键字,则利用该关键字之后的参数按照取尾表达式的逻辑定义进行求值;
若字符串中包含π关键字,则利用该关键字之后的参数按照空表达式的逻辑定义进行求值;
若字符串中包含ε关键字,则利用该关键字之后的参数按照取元集值表达式的逻辑定义进行求值;
若字符串中包含μ关键字,则利用该关键字之后的参数按照设置元集值表达式的逻辑定义进行求值;
若字符串中包含ψ关键字,则利用该关键字之后的参数按照构建表达式的逻辑定义进行求值;
若字符串中包含θ关键字,则利用该关键字之后的参数按照删除表达式的逻辑定义进行求值;
若字符串中包含α关键字,则利用该关键字之后的参数按照压栈表达式的逻辑定义进行求值;
若字符串中包含β关键字,则利用该关键字之后的参数按照弹栈表达式的逻辑定义进行求值;
若字符串中包含ρ关键字,则利用该关键字之后的参数按照调用表达式的逻辑定义进行求值;
(3)将计算结果赋值给当前属性名代表的状态变量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101012443A CN101282345B (zh) | 2008-03-03 | 2008-03-03 | 一种基于形式化描述和状态迁移的xml转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008101012443A CN101282345B (zh) | 2008-03-03 | 2008-03-03 | 一种基于形式化描述和状态迁移的xml转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101282345A true CN101282345A (zh) | 2008-10-08 |
CN101282345B CN101282345B (zh) | 2011-12-07 |
Family
ID=40014618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101012443A Expired - Fee Related CN101282345B (zh) | 2008-03-03 | 2008-03-03 | 一种基于形式化描述和状态迁移的xml转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101282345B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693240A (zh) * | 2011-03-25 | 2012-09-26 | 北京航空航天大学 | Web服务协议语义的形式化描述方法及装置 |
CN101739436B (zh) * | 2009-09-28 | 2012-12-19 | 浙江工商大学 | 基于xml的柔性数据迁移方法 |
CN103888462A (zh) * | 2014-03-26 | 2014-06-25 | 南京邮电大学 | 基于局部偏序规约的控制器局域网模型验证方法 |
CN103942228A (zh) * | 2013-01-23 | 2014-07-23 | 纽海信息技术(上海)有限公司 | 规则引擎、计算方法、业务系统及调用方法 |
CN107016214A (zh) * | 2017-04-26 | 2017-08-04 | 上海工程技术大学 | 一种基于有限状态机的参数依赖模型的生成方法 |
CN107291750A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法和装置 |
CN109117130A (zh) * | 2018-07-28 | 2019-01-01 | 武汉光庭信息技术股份有限公司 | 一种基于mdd的时序图自动生成状态迁移矩阵的方法、系统及存储器 |
CN110209389A (zh) * | 2019-06-05 | 2019-09-06 | 卡斯柯信号(成都)有限公司 | 一种基于xml的数据生成工具开发系统 |
CN115345148A (zh) * | 2022-08-02 | 2022-11-15 | 北京新岳纵横科技有限公司 | 一种电网网络瞬时状态的形式化表达与解析方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6880125B2 (en) * | 2002-02-21 | 2005-04-12 | Bea Systems, Inc. | System and method for XML parsing |
US7962925B2 (en) * | 2002-02-22 | 2011-06-14 | Oracle International Corporation | System and method for XML data binding |
CN1825302A (zh) * | 2005-02-22 | 2006-08-30 | 中国电子技术标准化研究所 | 一种xml文档处理方法 |
CN100504863C (zh) * | 2005-10-28 | 2009-06-24 | 北京航空航天大学 | 基于bpel的图形与xml文档相互转换的方法 |
CN1956445A (zh) * | 2005-10-28 | 2007-05-02 | 北京航空航天大学 | 一种面向Web服务的门户组件的实现方法 |
-
2008
- 2008-03-03 CN CN2008101012443A patent/CN101282345B/zh not_active Expired - Fee Related
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101739436B (zh) * | 2009-09-28 | 2012-12-19 | 浙江工商大学 | 基于xml的柔性数据迁移方法 |
CN102693240A (zh) * | 2011-03-25 | 2012-09-26 | 北京航空航天大学 | Web服务协议语义的形式化描述方法及装置 |
WO2012129817A1 (zh) * | 2011-03-25 | 2012-10-04 | 北京航空航天大学 | Web服务协议语义的形式化描述方法及系统 |
CN103942228B (zh) * | 2013-01-23 | 2018-09-07 | 北京京东尚科信息技术有限公司 | 规则引擎、计算方法、业务系统及调用方法 |
CN103942228A (zh) * | 2013-01-23 | 2014-07-23 | 纽海信息技术(上海)有限公司 | 规则引擎、计算方法、业务系统及调用方法 |
CN103888462A (zh) * | 2014-03-26 | 2014-06-25 | 南京邮电大学 | 基于局部偏序规约的控制器局域网模型验证方法 |
CN103888462B (zh) * | 2014-03-26 | 2016-09-14 | 南京邮电大学 | 基于局部偏序规约的控制器局域网模型验证方法 |
US11354283B2 (en) | 2016-03-31 | 2022-06-07 | Alibaba Group Holding Limited | Data migration method and apparatus |
CN107291750A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法和装置 |
CN107291750B (zh) * | 2016-03-31 | 2020-11-06 | 阿里巴巴集团控股有限公司 | 一种数据迁移方法和装置 |
US11940965B2 (en) | 2016-03-31 | 2024-03-26 | Alibaba Group Holding Limited | Data migration method and apparatus |
CN107016214B (zh) * | 2017-04-26 | 2020-09-11 | 上海工程技术大学 | 一种基于有限状态机的参数依赖模型的生成方法 |
CN107016214A (zh) * | 2017-04-26 | 2017-08-04 | 上海工程技术大学 | 一种基于有限状态机的参数依赖模型的生成方法 |
CN109117130A (zh) * | 2018-07-28 | 2019-01-01 | 武汉光庭信息技术股份有限公司 | 一种基于mdd的时序图自动生成状态迁移矩阵的方法、系统及存储器 |
CN110209389A (zh) * | 2019-06-05 | 2019-09-06 | 卡斯柯信号(成都)有限公司 | 一种基于xml的数据生成工具开发系统 |
CN110209389B (zh) * | 2019-06-05 | 2023-03-14 | 卡斯柯信号(成都)有限公司 | 一种基于xml的数据生成工具开发系统 |
CN115345148A (zh) * | 2022-08-02 | 2022-11-15 | 北京新岳纵横科技有限公司 | 一种电网网络瞬时状态的形式化表达与解析方法 |
CN115345148B (zh) * | 2022-08-02 | 2023-07-21 | 北京新岳纵横科技有限公司 | 一种电网网络瞬时状态的形式化表达与解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101282345B (zh) | 2011-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101282345B (zh) | 一种基于形式化描述和状态迁移的xml转换方法 | |
Hildebrandt et al. | Ontology building for cyber–physical systems: Application in the manufacturing domain | |
CN101777004B (zh) | 面向服务环境中基于模板实现bpel子流程复用的方法及系统 | |
CN102685242B (zh) | 一种开放网络下服务间关联关系的建立方法 | |
CN105808734B (zh) | 一种基于语义网的钢铁制造过程知识间隐性关系获取方法 | |
Fredlund | A framework for reasoning about Erlang code | |
Chanda et al. | Traceability of requirements and consistency verification of UML use case, activity and Class diagram: A Formal approach | |
CN101216906A (zh) | 一种流程控制方法及一种流程引擎 | |
CN109828952B (zh) | Pcm体制卫星遥测数据分类提取方法、系统 | |
CN106250201A (zh) | 基于动态集合属性的计算机编程语言方法 | |
CN108279885A (zh) | 一种对多个模型代码进行软件集成的方法及装置 | |
US10838999B2 (en) | Method and platform for the elevation of source data into interconnected semantic data | |
Sanchez et al. | Bigraphical modelling of architectural patterns | |
CN106096159A (zh) | 一种云平台下的分布式系统行为仿真分析系统的实现方法 | |
CN101894325A (zh) | 一种基于工作流网的语义web服务行为匹配方法 | |
CN106569870A (zh) | 一种基于扩展控制流图的程序转换方法 | |
CN109992593A (zh) | 一种基于子图匹配的大规模数据并行查询方法 | |
CN109683990A (zh) | 基于混合模式移动应用的h5多端接入方法 | |
CN102594851A (zh) | 一种海洋应用服务链动态构建的方法 | |
CN107818181A (zh) | 基于Plcient交互式引擎的索引方法及其系统 | |
Wang et al. | Leveraging relational database for fast construction of OPC UA information model | |
Rahm et al. | A proposal for an interactive roundtrip engineering system | |
CN104376077B (zh) | 一种基于本体面向雷达情报格式的数据集成系统 | |
Ferreira et al. | Formal verification of object-oriented graph grammars specifications | |
CN108964973B (zh) | 面向Web基于Bigraph替换算法的服务质量监控方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111207 Termination date: 20120303 |