| 【中文题名】 | 基于C++的BACnet应用层编解码实现 |
| 【英文题名】 | Implementation of BACnet Protocol's Application Layer En/decoder Based on C++ Language |
| 【学科专业】 | 供热、供燃气通风及空调工程 |
| 【论文级别】 | 硕士论文 |
| 【投稿时间】 | 2006-4-12 |
| 【中关键词】 | BACnet,编解码,抽象语法,面向对象,面向过程, |
| 【英关键词】 | BACnet,En/Decode,ASN.1,Object-Oriented,Process-Oriented, |
| 【分类导航】 | 工业技术>自动化技术、计算机技术>自动化技术及设备>自动化技术在各方面的应用>> |
| 【论文摘要】 | BACnet协议是人们对楼宇自动控制网络的开放性,互联性的提出迫切要求的前提下产生的,它是一个用于楼宇自动控制的网络数据通信协议,最终目的是要实现楼宇自控系统的互操作.
就整个协议的层次结构而言,BACnet协议采用了简化的RM/OSI模型,不包含任何表示层功能,这样使得整个协议的描叙更加的精简。由于减少了应用层,原本属于表示层的协议数据单元的编解码功能就必须由应用层来承担。
本文作者通过分析研究了抽象语法描述的BACnet应用层协议数据单元的特征发现,.BACnet应用层协议数据单元一般由大量深层嵌套的结构化数据记录构成,这种深层嵌套使得协议数据单元的描述变得复杂。如果采用传统的过程调用方式实现协议的编解码将会是一种复杂而繁重的工作,这种传统的面向过程的方法调用,涉及到大量的压栈和出栈操作,不但浪费资源,还影响了协议的实现效率。于是,作者提出了利用面向对象的C++语言封装抽象形式语法的基本数据类型的思想,在形式上要求封装后的协议数据单元在形式上与抽象语法标注的形式相似,在功能上要达到提高协议实现效率的目的。 |
| 【论文题纲】 |
|
摘要 |
4-5 |
|
Abstract |
5-8 |
|
1 绪论 |
8-12 |
|
1.1 课题的背景与意义 |
8-9 |
|
1.2 国内外目前的研究状况介绍 |
9-10 |
|
1.3 本论文的内容 |
10-11 |
|
1.4 论文章节安排 |
11-12 |
|
2 计算机网络的体系结构 |
12-21 |
|
2.1 网络体系的特性 |
12-15 |
|
2.2 RM/OSI 的分层结构 |
15-21 |
|
3 抽象语法的C++数据结构映射模型 |
21-33 |
|
3.1 抽象语法概述 |
21-23 |
|
3.2 研究抽象语法的意义 |
23-26 |
|
3.3 ASN.1 的基本编码规则 |
26-29 |
|
3.4 ASN.1 的C++的映射模型 |
29-32 |
|
3.5 本章小结 |
32-33 |
|
4 基于C++的BACnetAPDU 编解码规则 |
33-41 |
|
4.1 BACnet 标准体系结构 |
33-36 |
|
4.2 BACnet 应用层协议数据单元编解码方案 |
36-37 |
|
4.3 BACnet 应用层编解码规则 |
37-40 |
|
4.4 本章小结 |
40-41 |
|
5 Template 类实现BACnetAPDU 编解码 |
41-55 |
|
5.1 简单数据类型的封装与编解码 |
41-43 |
|
5.2 构造数据类型的封装和编解码 |
43-44 |
|
5.3 结构化数据类型的封装和编解码 |
44-47 |
|
5.4 选择数据类型的封装和编解码 |
47-49 |
|
5.5 SequenceOf 数据类型的封装和编解码 |
49-51 |
|
5.6 枚举数据类型Enumerated 的封装 |
51-52 |
|
5.7 其他部分编解码 |
52 |
|
5.8 实验结果和性能分析 |
52-54 |
|
5.9 本章小结 |
54-55 |
|
6 结束语 |
55-57 |
|
6.1 全文小结 |
55 |
|
6.2 论文展望 |
55-57 |
|
致谢 |
57-58 |
|
参考文献 |
58-61 |
|
附录1 攻读硕士学位期间发表的论文 |
61 |
|
| 【DOI】 | LunWen.ID:2.2008.378265 |