论文总字数:23518字
摘 要
NETCONF是IETF发布的网络管理协议,YANG旨在成为一种高度可读且紧凑的特定领域语言,用于定义NETCONF数据模型。YANG具有自己的语法格式,when/must条件是它的一项重要特性,用于对特定节点及其属性取值进行有效性设定。when/must条件以XPath表达式的形式存在,在实际应用中通常根据业务需求用一定工具自动生成,但存在生成的表达式逻辑重复、冗余信息过多,甚至表达冲突的情况。本课题任务是对YANG文件中的when/must逻辑表达式进行优化,将其转化为最简表达式,提升模型文件的可读性。
本文首先介绍YANG数据建模语言和其中的when声明和must声明,然后探讨了对关系表达式进行优化的方法,设计了优化逻辑表达式的方法。最后用python语言设计并实现了基于QM算法对YANG模型when/must条件中的逻辑表达式进行优化的程序,该程序将每个逻辑变量替换为方便运行的字母变量,然后依次对其中的关系表达式和逻辑表达式进行优化,再将优化结果中的字母替换回原来的逻辑变量,得到简化后的逻辑表达式。实验结果表明,本文实现的程序有较高的准确率,对于表达重复的逻辑表达式可以较好地完成优化。
关键词: YANG模型,QM算法,逻辑表达式
Abstract
NETCONF is a network management protocol based on Extensible Markup Language (XML). YANG aims to be a highly readable and compact domain-specific language for defining NETCONF data model. YANG has its own grammatical format. When/must condition is an important feature of YANG, which is used to set the validity of specific nodes and their attributes. When/must condition exists in the form of XPath expression. In practical applications, it is usually generated automatically with certain tools according to business requirements. However, there are some situations such as repetitive expression logic, excessive redundant information and even conflict expression. The task of this project is to optimize the when/must logic expression in YANG file, transform it into the simplest expression, and improve the readability of model file.
This thesis introduces YANG data modeling language and its when statement and must statement, then discusses the method of relational expression simplification, and designs the method of logical expression simplification. Finally, a program for simplifying the logical expressions in the when/must condition of YANG models based on QM algorithm is designed and implemented in Python language. The program replaces each logical variable, which is easy to operate. Then, the relational and logical expressions are simplified in turn, and the letters in the simplified results are replaced by the original logical variables to obtain the final simplified logical expression. The experimental results show that the program can optimize the redundant information in when/must logic expressions correctly and efficiently.
KEY WORDS: YANG Model , QM Algorithms , Logical Expression
目 录
摘要 I
Abstract II
第一章 引言 1
1.1 研究背景和意义 1
1.2 研究现状 1
1.3 研究内容 3
1.4 论文组织结构 3
第二章 相关技术基础 4
2.1 YANG功能简介 4
2.2 when/must声明 5
2.2.1 when声明 5
2.2.2 must声明 6
2.3 化简方法选择 6
2.3.1 公式化简法 6
2.3.2 Karnaugh图化简法 7
2.3.3 Quine-McCluskey化简法 8
2.3.4 本章小结 11
第三章 YANG逻辑表达式优化的基本思路 12
3.1 带关系表达式的优化 12
3.1.1 优化带有“=”的逻辑表达式 12
3.1.2 优化带有“gt;”和“lt;”的逻辑表达式 13
3.1.3 优化带有“≥”和“≤”的逻辑表达式 14
3.1.4 优化“=,≥,gt;,≤,lt;”混合使用的逻辑表达式 14
3.1.5 优化带有“≠”的逻辑表达式 15
3.2 逻辑表达式的优化 15
3.3 本章小结 16
第四章 实现及评估 17
4.1 开发工具与编程语言 17
4.2 具体实现 17
4.2.1 带关系表达式的优化 18
4.2.2 逻辑表达式的优化 18
4.3 结果分析 20
4.4 本章小结 21
第五章 总结与展望 22
5.1 总结 22
5.2 展望 22
参考文献 24
致 谢 25
引言
研究背景和意义
在21世纪初,Internet Engineering Task Force设立了一个以可扩展标记语言为基础的NETCONF(Network Configuration Protocol)工作组,提出了网络配置管理协议。NETCONF协议[1]的配置功能非常强大,既考虑到故障监测和管理,也考虑到安全核查和准入控制,该协议得到业界的一致认可。NETCONF协议自下而上包括传输层、消息层、操作层和内容层。其中,内容层还没有被标准化,为此定义了一种新的建模语言YANG。YANG语言允许数据建模者定义设备配置的语法和语义,并支持转换为多种XML模式语言。YANG是由RFC 6020[2]定义,后由RFC 7950[3]更新。类似于可扩展标记语言 Schema和SNMP的SMI,具有良好的可读性和可扩展性。
YANG具有自己的语法格式,也可以用第三方工具pyang将其无差别地转换为可扩展标记语言格式,称之为YIN。when/must条件是它的一项重要特性,用于对特定节点及其属性取值进行有效性设定。when/must条件以XPath表达式的形式存在,在实际应用中通常根据业务需求用一定工具自动生成,但存在生成的表达式逻辑重复、冗余信息过多,甚至表达冲突的情况。
剩余内容已隐藏,请支付后下载全文,论文总字数:23518字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;