一种基于模型检测的标准模型分析方法技术

技术编号:27030218 阅读:28 留言:0更新日期:2021-01-12 11:13
本发明专利技术公开了一种基于模型检测的标准模型分析方法,其特点是采用四类子问题结构的形式化模型的检测方法,对类图模型中存在变量一致性问题、类图及对象图模型中存在约束一致性问题、状态图及顺序图模型中存在行为一致性问题,以及状态图模型中存在状态逻辑错误问题进行分析,其模型的构建及检测具体包括:1.)根据模板设计标准模型;2)构建子问题结构的形式化模型;3.)对子问题形式化模型施加待分析性质条件;4)分析子问题模型是否满足性质条件。本发明专利技术与现有技术相比具有高度自动化和可信、可靠的分析结果,有效替代替低效率地人工审查标准的过程,进一步提升了标准设计的科学性和规范性以及工作效率。

【技术实现步骤摘要】
一种基于模型检测的标准模型分析方法
本专利技术涉及模型自动化分析检测
,具体的说是一种基于模型检测对标准模型设计研发过程中产生的逻辑设计错误及特定语法语义错误进行自动化分析检测校准的标准模型分析方法。
技术介绍
随着科技的飞速发展,各个领域的建设和发展呈现多样化形态,使得制定本领域统一的标准成为必然趋势。从国际标准,国家标准,行业标准乃至企业标准的制定都需要有一套完善的制度和体系支撑。所谓标准是在一定范围内获得最佳秩序,经协商一致制定并由公认机构批准,共同使用和重复使用的一种规范性文件。标准宜以科学、技术和经验的综合成果为基础,以促进最佳的共同效益为目的。标准的制定路线也首先由相关的技术委员会负责协商一致制定。标准设计制定的每个阶段的工作,都是非常具体的工作、计划和保证完成的措施。标准的制定过程和进度是由工作组向技术委员会定期提交阶段性报告和举行定期会议以控制进度来保障的。而国际标准的编制原则就是站在国际立场上充分协调和一致,这反映在国际标准编制过程中的每一个阶段是否被接受与否,唯一的根据就是委员会或者分委员会成员的投票决定。从整个流程中来看,会发现整个标准制定流程上是很大程度上依赖了专家的主观和自身的专业背景,虽然在流程上已经尽量保证了国际标准的规范管理,但是仍然面临着一个很大的技术挑战:1)如何在撰写标准过程中,更为规范的撰写标准,制定出的标准是能够通过审查的正确标准;2)如何确保自己负责撰写的内容与整个标准的其他部分内容是一致的;3)人工审查后的标准是否还存在不易发现的错误。标准模型是类图模型、对象图模型、状态图模型和顺序图模型四种类型的UML图模型的总称,是使用UML语言为载体的形式进行模型设计的。四种标准模型蕴含了四种子问题,即类图模型中存在变量一致性问题;类图及对象图模型中存在约束一致性问题;状态图及顺序图模型中存在行为一致性问题;状态图模型中存在状态逻辑错误问题。类图模型中的变量一致性问题指的是在特定的应用场景下,需保证类图模型中定义的变量标识必须与其表达的物理意义唯一绑定,不可存在其他匹配情况。类图及对象图模型中的约束一致性问题指的是对象图模型状态需完全满足类图模型中定义的对象约束条件,不可存在任何不满足情况。状态图及顺序图模型中的行为一致性问题指的是顺序图模型中表达的行为动作应与状态图模型的每一项状态保持一致。状态图模型中的状态逻辑错误问题指的是当前模型中不应存在死锁,无限循环,不可到达某一状态的情况。基于这样的标准设计流程及其产生设计错误的根本原因,开发标准分析技术,将形式化方法模型检测的理论与标准建模设计相结合,提高建模过程的自动化程度,充分发挥模型检测的优势,自动化地分析检测标准设计生产中的逻辑矛盾错误,特定语法语义错误等问题,具有重要的现实意义。
技术实现思路
专利技术的目的是针对现有技术的不足而设计的一种基于模型检测的标准模型分析方法,采用形式化模型检测的方法对标准模型的指定性质条件进行分析,将形式化方法模型检测的理论与标准建模设计相结合,提高建模过程的自动化程度,充分发挥模型检测的优势,自动化地分析检测标准设计生产中的逻辑矛盾错误,特定语法语义错误等问题,精准高效地分析标准模型中存在的变量一致性、约束一致性、行为一致性和状态逻辑四类错误问题,方法简便,具有高度自动化,高度可信可靠的分析结果,有效替代了低效率地人工审查标准的过程,进一步提升了标准设计的科学性和规范性以及工作效率。本专利技术的目的是这样实现的:一种基于模型检测的标准模型分析方法,其特点是采用四类子问题结构的形式化模型的检测方法,对类图模型中存在变量一致性问题、类图及对象图模型中存在约束一致性问题、状态图及顺序图模型中存在行为一致性问题,以及状态图模型中存在状态逻辑错误问题进行分析,其各问题形式化模型的构建及检测具体包括以下步骤:步骤1:根据模板设计标准模型标准模型是对现实场景下真实应用问题的主观描述,由类图模型,对象图模型,状态图模型及顺序图模型四种类型的UML图模型所构成,使用UML语言为载体的形式进行模型设计。其中,状态图模型根据软件工程领域内UML2.x规定的语法语义形式进行建模设计,其余三种标准模型没有特别格式要求。对于状态图模型,并发程序的每个进程都用一个状态图来表示,每个状态图中的状态节点只包含基本状态节点、初始伪状态节点和终止状态节点。所述状态图的语句中可以使用局部变量、共享变量、同步事件和异步事件,触发条件只能使用事件接收语句,守卫条件为布尔语句,动作可以包含事件发送语句、算术语句和赋值语句,事件接收语句格式为一个问号后接变量名或者两个问号接变量名。其中一个问号为接收异步事件,两个问号为接收同步事件,事件发送语句为状态图名接感叹号接异步事件名或者状态图名接两个感叹号接同步事件名。步骤2:构建子问题结构的形式化模型针对四种标准模型按下述步骤分别构建对四类子问题结构形式化模型:2-1:针对变量一致性问题需要构建类结构模型,该模型主要特征为:需使用指定关键字语法格式明确定义类名,变量标识名及物理意义说明串信息。物理意义说明串用于描述当前类块中的变量标识名所表示的物理含义。建模方法:将类图模型中的类名作为模型的索引编码,类图模型中的变量标识名及物理意义说明串构造成一个二元组模型(索引编码(类名),(变量标识名:物理意义)),此模型为类结构模型。2-2:针对约束一致性问题构建类-对象组合结构模型,该模型主要特征为:需使用规定的关键字字段明确定义模型名,类名,类中属性名及属性值类型,类间关系类型及类间关系名,对象名及对象值这些模型主要状态。建模方法:首先需获取类图模型中的各项属性,将类图看作是某段时间内要求系统持续运行着的状态,将对象图看作是某一时刻的系统状态,使用关键字结合各项属性构造出该状态模型类-对象组合结构模型,对象是类的具体体现,所以类中定义的约束要求,对象必须全部满足。2-3:针对行为一致性问题构建自动机模型,该模型的主要特征为:对于顺序图模型,需要明确定义生命线名,消息名,消息状态。定义时,将每条生命线看作是一个模型,生成多个以状态为节点,消息名为边的自动机模型。对于顺序图中每一条生命线,都有很多的消息传送,每一条消息都会有对应的名字以及发送前和发送后的状态。所以就取该生命线的生命线名作为模型的名字,消息发送前和发送后的状态作为模型的节点,并从一个状态节点画一条线指向该状态经过消息的传输后到达的另一个状态节点,并且以该条消息的名字作为连接线的名字。以此形成一个点边图的模型自动机。对于状态模型,需要明确定义消息名以及状态名,从状态图中取出所有的状态名作为节点,之后取出状态转移的边,根据状态转移的信息一一对应,用带有箭头的线段将所有的节点连接起来,线段的名字就是这两个状态转移时的消息名,以此形成一个点边图的模型自动机。2-4:针对状态逻辑错误问题首先需要构建层次自动机模型,由于状态图与层次自动机的结构相似,可通过一一对应关系可以实现转换。其中,状态图的每一个并发子状态机对应一个顺序自动机,子状态机中的状态全部包含在对应本文档来自技高网
...

【技术保护点】
1.一种基于模型检测的标准模型分析方法,包括使用UML语言为载体的形式根据类图模型、对象图模型、状态图模型及顺序图模型设计的四种标准模型,其特征在于采用四类子问题结构的形式化模型的检测方法,对类图模型中存在变量一致性问题、类图及对象图模型中存在约束一致性问题、状态图及顺序图模型中存在行为一致性问题,以及状态图模型中存在状态逻辑错误问题进行分析,其模型的构建及检测具体包括以下步骤:/n步骤1:根据模板设计标准模型/n使用UML语言为载体的形式根据类图模型、对象图模型、状态图模型及顺序图模型进行四种标准模型的设计,所述状态图模型根据UML2.x规定的语法语义形式进行建模设计;/n步骤2:构建子问题结构的形式化模型/n2-1:变量一致性问题的形式化模型构建是将类图模型中的类名作为模型的索引编码,类图模型中的变量标识名及物理意义说明串构造成一个二元组模型;/n2-2:约束一致性问题的类结构形式化模型构建是将类图看作是某段时间内要求系统持续运行着的状态,将对象图看作是某一时刻的系统状态,使用关键字结合各项属性构造出该状态模型类-对象组合结构模型;/n2-3:行为一致性问题的形式化模型构建:对于顺序图模型,定义生命线名、消息名、消息状态,并将每条生命线看作是一个模型,生成多个以状态为节点,消息名为边的自动机模型,以消息发送前和发送后的状态为模型的节点,并从一个状态节点画一条线指向该状态经过消息的传输后到达的另一个状态节点,并且以该条消息的名字作为连接线的名字,形成一个点边图的模型自动机; 对于状态图模型,从状态图中取出所有的状态名作为节点,状态转移的边,根据状态转移的信息一一对应,并用带有箭头的线段将所有的节点连接起来,形成一个点边图的自动机模型;/n2-4:状态逻辑错误问题的形式化模型是通过状态图的一一对应关系转换,得到的层次自动机模型,其中,状态图的每一个并发子状态机对应一个顺序自动机,子状态机中的状态全部包含在对应的顺序自动机中,子状态机中的边放在源和目的状态的最下层公共的顺序自动机中,所述每一个并发程序模型的所有层次自动机会被转换成一个验证工具的输入文件;/n步骤3:对各子问题的形式化模型施加待分析性质条件/n3-1:对变量一致性问题的形式化模型,施加变量标识名#物理意义说明串的待分析性质条件,其中,变量标识名与物理意义说明串唯一对应, #代表任意特殊字符符号;/n3-2:对约束一致性问题的形式化模型,施加以对象约束语言形式的约束条件,该约束条件使用关键字“约束”表示约束体开端,关键字“上下文”表示约束头部,约束内应定义被施加约束的类名、类型以及约束演算公式或布尔表达式;/n3-3:对行为一致性问题的形式化模型,施加待分析性质条件,需从状态图模型和顺序图模型中分别提取相应的所有消息路径,所述顺序图模型中提取所有消息路径是根据每条生命线进行提取;所述顺序图模型中提取所有消息路径是根据定义的顺序图和状态图具有行为一致性规则,使得状态图模型中的消息路径中消息出现的顺序与顺序图模型中存在一条生命线的消息序列一致;/n3-4:对状态逻辑错误问题的形式化模型,施加死锁、循环和状态可达性的验证待分析性质条件,所述死锁和循环的验证通过固定的命令实现;所述状态可达性的验证需在文件中为每个状态定义线性时序逻辑公式,该公式表达含义为状态节点表示的变量始终为初始值;/n步骤4:分析各子问题的形式化模型是否满足各项已定义的性质条件/n4-1:对变量一致性问题的形式化模型,获取每一个元组,搜索是否存在元素位于不同元组中,若存在则不满足变量一致性;/n4-2:对约束一致性问题的形式化模型,使用模型检测工具USE演算对象模型中的具体真实状态与约束性质条件之间是否存在可满足解,若不存在可满足解,则证明当前形式化模型不满足约束性质条件,违反了约束一致性,由此可知标准类模型及标准对象模型之间存在逻辑矛盾错误,并可通过USE工具查询错误原因;/n4-3:对行为一致性问题的形式化模型,将顺序图和状态图提取的消息路径进行比对,如消息顺序一致,则是顺序图和状态图是行为一致的,若消息序列不一致,则两图不具有行为一致性;/n4-4:对状态逻辑错误问题的形式化模型,将得到验证工具的输入文件,通过命令行输入命令或图形界面进行验证,当存在死锁和循环时,验证工具会生成对应的错误路径文件保存错误路径;当存在状态不可达时,根据该状态对应的线性时序逻辑公式判断是否被满足,若满足,则状态为不可达,反之为可达。/n...

【技术特征摘要】
1.一种基于模型检测的标准模型分析方法,包括使用UML语言为载体的形式根据类图模型、对象图模型、状态图模型及顺序图模型设计的四种标准模型,其特征在于采用四类子问题结构的形式化模型的检测方法,对类图模型中存在变量一致性问题、类图及对象图模型中存在约束一致性问题、状态图及顺序图模型中存在行为一致性问题,以及状态图模型中存在状态逻辑错误问题进行分析,其模型的构建及检测具体包括以下步骤:
步骤1:根据模板设计标准模型
使用UML语言为载体的形式根据类图模型、对象图模型、状态图模型及顺序图模型进行四种标准模型的设计,所述状态图模型根据UML2.x规定的语法语义形式进行建模设计;
步骤2:构建子问题结构的形式化模型
2-1:变量一致性问题的形式化模型构建是将类图模型中的类名作为模型的索引编码,类图模型中的变量标识名及物理意义说明串构造成一个二元组模型;
2-2:约束一致性问题的类结构形式化模型构建是将类图看作是某段时间内要求系统持续运行着的状态,将对象图看作是某一时刻的系统状态,使用关键字结合各项属性构造出该状态模型类-对象组合结构模型;
2-3:行为一致性问题的形式化模型构建:对于顺序图模型,定义生命线名、消息名、消息状态,并将每条生命线看作是一个模型,生成多个以状态为节点,消息名为边的自动机模型,以消息发送前和发送后的状态为模型的节点,并从一个状态节点画一条线指向该状态经过消息的传输后到达的另一个状态节点,并且以该条消息的名字作为连接线的名字,形成一个点边图的模型自动机;对于状态图模型,从状态图中取出所有的状态名作为节点,状态转移的边,根据状态转移的信息一一对应,并用带有箭头的线段将所有的节点连接起来,形成一个点边图的自动机模型;
2-4:状态逻辑错误问题的形式化模型是通过状态图的一一对应关系转换,得到的层次自动机模型,其中,状态图的每一个并发子状态机对应一个顺序自动机,子状态机中的状态全部包含在对应的顺序自动机中,子状态机中的边放在源和目的状态的最下层公共的顺序自动机中,所述每一个并发程序模型的所有层次自动机会被转换成一个验证工具的输入文件;
步骤3:对各子问题的形式化模型施加待分析性质条件
3-1:对变量一致性问题的形式化模型,施加变量标识名#物理意义说明串的待分析性质条件,其中,变量标识名与物理意义说明串唯一对应,#代表任意特殊字符符号;
3-2:对约束一致性问题的形式化模型,施加以对象约束语言形式的约束条件,该约束条件使用关键字“约束”表示约束体开端,关键字“上下文”表示约束头部,约束内应定义被施加约束的类名、类型以及约束演算公式或布尔表达式;
3-3:对行为一致性问题的形式化模型,施加待分析性质条件,需从状态图模型和顺序图模型中分别提取相应的所有消息路径,所述顺序图模型中提取所有消息路径是根据每条生命线进行提取;所述顺序图模型中提取所有消息路径是根据定义的顺序图和状态图具有行为一致性规则,使得状态图模型中的消息路径中消息出现的顺序与顺序图模型中存在一条生命线的消息序列一致;
3-4:对状态逻辑错误问题的形式化模型,施加死锁、循环和状态可达性的验证待分析性质条件,所述死锁和循环的验证通过固定的命令实现;所述状态可达性的验证需在文件中为每个状态定义线性时序逻辑公式,该公式表达含义为状态节点表示的变量始终为初始值;
步骤4:分析各子问题的形式化模型是否满足各项已定义的性质条件
4-1:对变量一致性问题的形式化模型,获取每一个元组,搜索是否存在元素位于不同元组中,若存在则不满足变量一致性...

【专利技术属性】
技术研发人员:陈尧衡辰谈铭张敏张民缪纬恺
申请(专利权)人:华东师范大学
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1