毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

代数规约语言解析工具的设计与实现(2)

时间:2020-12-18 22:06来源:毕业论文
1.4 论文组织安排 本论文分为四章,第一章引言,简要介绍代数规约、解析工具以及论文主要工作;第二章详细介绍代数规约语言Sofia的文法;第三章给出

 

1.4 论文组织安排

本论文分为四章,第一章引言,简要介绍代数规约、解析工具以及论文主要工作;第二章详细介绍代数规约语言Sofia的文法;第三章给出Sofia解析工具的设计和实现。第四章是感悟。第五章是结束语。最后是参考书目。

 

二、代数规约语言Sofia文法

 

2.1 面向服务的代数规约语言

在面向服务的计算中,发现和动态组合服务必须建立在准确的机器理解的语义服务之上。Sofia语言就是因此而被设计出来。它基于代数规约的理论,代数规约包括行为和代数上的处理。本章首先介绍Sofia中规约的整体结构和各种不同类型的规约单元,然后介绍signatures的语法和语义,接着描述公理的语法和语义,最后给出Sofia总结。

 

2.2 Sofia规约的总体结构

2.2.1规约单元的类型

    一个Sofia的规约包括一系列的规约单元,一共定义四种单元如下:

<Specification> ::= <Unit>*

<Unit> ::= <Spec Unit>

         | <Signature Unit>

         | <Axiom Unit>

         | <Definition Unit>

一个<Spec Unit>是一个完整的规约,用来指定一种类型的软件实体和系统。每一个实体就是一个type的实例,它可以是一个数据类型,一个类,一种构件或一种Web服务等。每一个规约单元包括两个主要部分:一个signature和一套公理,其BNF表示如下:

<Spec unit> ::=

  Spec <Sort Name> [<Observability>];

      [extends <Sort Names>]

      [uses <Sort Names>]

      <Signature>;

      [<Axioms>]

  End

<Sort Name>的位置是用来命名单元的标识符。它与被标明的软件实体一致。它被称作单元的主sort。

规约单元可以被分解为两个部分。一个Signature单元和一个公理单元。这两个有同一sort名称的单元组合在一起相当于一个带有一致性signature和公理的完整规约。

<Signature unit> ::=

  Signature <Sort Name> [<Observability>];

      [extends <Sort Names>]

      [uses <Sort Names>]

      <Signature>

  End

<Axiom Unit> ::=

  Axioms <Sort Name>;

     <Axioms>

  End

除规约单元之外,Definition单元定义了一系列的用在规约中的辅助性功能和概念。

<Definition unit> ::=

   Definition [uses <Sort Names>]

        <Signature>;

        [<Axioms>]

   End

Signature部分定义了语法方面的功能和关系,同时公理定义了语义。本文只介绍Signature部分。

2.2.2 Units之间的关系

规约单元之间存在两种关系:uses关系和extension关系。他们分别在<extends>和<uses>语句中被清楚地罗列出来。在关键字uses后面的一系列sort名称给出了当前正在用的sorts。这些sorts在规约中被用作操作的参数或者结果。指定的单元也含有被用过的sorts的成分。在语法上,<Sort Name>是sort名称分隔罗列构成的列表。

<Sort Names>::= <Sort Name>[, <Sort Names>]

<Sort Name>::= <Identifier>

Extention关系和类之间的继承关系相同。换句话说,如果sort A的规范扩展 sort B,那么sort B里面的常量、变量、操作、公理等同样包含在sort A里面。同时,sort A里还有明确标明的附加内容。 代数规约语言解析工具的设计与实现(2):http://www.751com.cn/jisuanji/lunwen_66579.html

------分隔线----------------------------
推荐内容