Differences between revisions 2 and 15 (spanning 13 versions)
Revision 2 as of 2004-08-15 21:51:41
Size: 740
Editor: zhaoxin
Comment:
Revision 15 as of 2004-08-15 23:42:50
Size: 2710
Editor: zhaoxin
Comment:
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
''Otter Tool是一个代码自动生成工具,它通过解析一个描述指定协议的XML文件来自动生成我们需要的这个协议的Python代码,这样我们为Otter Base添加一个新的协议的时候,只需要把协议的XML描述文件填好,然后运行一下Otter tool,一切就出现在眼前了:P--just filling and running'' ''Otter Tool是一个代码自动生成工具,它通过解析一个描述我们所需协议的XML文件来自动生成我们这个协议的Python代码,这样我们为Otter Base添加一个新的协议的时候,只需要把协议的XML描述文件填好,然后运行一下Otter tool,一切就出现在眼前了:P--just filling and running''
Line 15: Line 15:
Otter tool完成两个工作,第一,解析协议的XML描述文件,第二,将从XML解析出来的数据填充成我们所需的Python代码。

而实际上我们真正需要做的工作就是,填写XML文件->运行Otter tool->启动新协议。
Line 17: Line 21:
在运行Otter Tool程序的时候我们需要输入一个协议的XML描述文件,Otter tool通过解析这个XML文件,调用预制的Python代码模板,填充后生成出这个协议的四个Python代码文件。它们分别是:
 * *pmsg.py
 * *p.py
 * *c.py
 * *s.py
*号代表协议的名称。

这四个文件中,*msg.py是对协议的报文格式进行定义的,*p.py是对协议的传送协议进行定义的,*c.py是该协议的客户端,*s.py是该协议的服务器端。

在对新协议进行开发的时候,我们需要在XML文件中对协议的各个部分进行描述,运行Otter tool生成上述四个文件。*msg.py和*p.py是协议的定义文件,我们不需要再改动它们。对新功能的扩展,我们通过扩展*c.py和*s.py来完成。
Line 18: Line 33:
Otter tool的静态分为三个部分,两个输入结构,一个输出结构。
Line 19: Line 35:
首先是XML描述文件的结构,其定义如下:

attachment:040816-otter-00.jpg

根元素为<Otter>,它有三个属性,分别为:
||属性名||类型||说明||
||Version||字符串||标明协议的版本号||
||Persistent``Connection||布尔值||是否为长连接协议||
||Protocol``Name||字符串||协议名称。生成的协议代码将会存放在以次命名的子目录中||

子元素有两个,分别为<Message>和<Protocol>

<Message>属性:
||属性名||类型||说明||
||Message``Name||字符串||报文定义代码的名称||

<Protocol>属性:
||属性名||类型||说明||
||Protocol``Name||字符串||传送协议代码的名称||
||LisetenPort||字符串||传送协议使用的端口||

第二是代码模板的结构其内容为:

第三是输出的代码

系统说明书 文章模板

Otter Tool系统说明

-- hd [DateTime(2004-08-14T22:48:06Z)] TableOfContents

系统概述

Otter Tool是一个代码自动生成工具,它通过解析一个描述我们所需协议的XML文件来自动生成我们这个协议的Python代码,这样我们为Otter Base添加一个新的协议的时候,只需要把协议的XML描述文件填好,然后运行一下Otter tool,一切就出现在眼前了:P--just filling and running

系统功能

Otter tool完成两个工作,第一,解析协议的XML描述文件,第二,将从XML解析出来的数据填充成我们所需的Python代码。

而实际上我们真正需要做的工作就是,填写XML文件->运行Otter tool->启动新协议。

系统处理流程

在运行Otter Tool程序的时候我们需要输入一个协议的XML描述文件,Otter tool通过解析这个XML文件,调用预制的Python代码模板,填充后生成出这个协议的四个Python代码文件。它们分别是:

  • *pmsg.py
  • *p.py
  • *c.py
  • *s.py

*号代表协议的名称。

这四个文件中,*msg.py是对协议的报文格式进行定义的,*p.py是对协议的传送协议进行定义的,*c.py是该协议的客户端,*s.py是该协议的服务器端。

在对新协议进行开发的时候,我们需要在XML文件中对协议的各个部分进行描述,运行Otter tool生成上述四个文件。*msg.py和*p.py是协议的定义文件,我们不需要再改动它们。对新功能的扩展,我们通过扩展*c.py和*s.py来完成。

系统静态结构和动态结构

Otter tool的静态分为三个部分,两个输入结构,一个输出结构。

首先是XML描述文件的结构,其定义如下:

attachment:040816-otter-00.jpg

根元素为<Otter>,它有三个属性,分别为:

属性名

类型

说明

Version

字符串

标明协议的版本号

PersistentConnection

布尔值

是否为长连接协议

ProtocolName

字符串

协议名称。生成的协议代码将会存放在以次命名的子目录中

子元素有两个,分别为<Message>和<Protocol>

<Message>属性:

属性名

类型

说明

MessageName

字符串

报文定义代码的名称

<Protocol>属性:

属性名

类型

说明

ProtocolName

字符串

传送协议代码的名称

LisetenPort

字符串

传送协议使用的端口

第二是代码模板的结构其内容为:

第三是输出的代码

系统静态结构

系统动态结构

系统模块及结构

系统外部接口与外部系统

Otter/OtterTool (last edited 2009-12-25 07:14:26 by localhost)