基于LIDL的可视化人机交互软件建模方法及装置制造方法及图纸

技术编号:36082620 阅读:16 留言:0更新日期:2022-12-24 10:57
一种基于LIDL的可视化人机交互软件建模方法及装置,方法包括:建立LIDL可视化建模语言的元模型,根据元模型生成数据类型定义表、接口类型定义表、交互类型定义表和交互架构定义视图;分别读取数据类定义表、接口类定义表和交互类定义表中添加的数据类、接口类和交互类的定义信息,对交互类定义信息进行校验;读取交互架构定义视图中构建的交互实例和交互实例间的接口连接关系,根据接口类的定义信息对交互实例的接口连接关系进行校验;若校验均通过,根据交互实例对应的交互类的定义信息,交互实例对应的交互类包含的接口类和数据类的定义信息,和各类的产生式生成各类定义代码;根据交互实例中设置的实参和交互类的定义信息生成交互实例代码。信息生成交互实例代码。信息生成交互实例代码。

【技术实现步骤摘要】
基于LIDL的可视化人机交互软件建模方法及装置


[0001]本专利技术涉及人机交互软件建模
,尤其涉及一种基于LIDL的可视化人机交互软件建模方法及装置。

技术介绍

[0002]随着信息技术的持续发展,安全攸关领域的人机交互软件日益增多。航空航天、汽车电子等安全攸关领域的人机交互软件一旦出现设计问题,就可能会造成灾难性的后果。因此,在安全攸关领域,人机交互软件的安全可靠性尤为关键。相比于常规软件,安全攸关人机交互软件具有交互性强、逻辑复杂、设计易出错、质量保障成本高的特点;为了务实地保障安全攸关人机交互软件的安全可靠性,在软件的设计实现过程中通常会采用模型驱动的开发方法。人机交互软件交互性强、逻辑复杂,想要在这类软件的开发过程中引入模型驱动方法,首先要能系统、全面地对其中涉及的交互建模;这就需要能描述交互场景、交互接口及数据类型的建模语言,同时需要能支撑模型驱动开发的建模工具。
[0003]近年来,已有一些能对人机交互软件建模的语言:法国爱斯特尔联合空客、施耐德电气等开发了SCADE语言和配套工具包,能对人机交互软件的界面和控制逻辑建模,但聚焦的是实现细节、对应软件的运算处理逻辑,最终建成的是软件系统的详细设计模型;而没有重点关注人机交互软件中的接口和交互等特点,其建模符号系统的元素较为丰富,并非专用于人机交互软件的领域化建模语言,理解模型的门槛较高。Couto等在2019年提出了IVY2,是基于模型、支持对交互软件系统形式化验证的建模工具,其中包含的基于模型和符号系统的建模环境对缺乏经验的建模人员而言较难理解。Singh等在2020年提出了FLUID,它是交互模型建模语言,将交互行为拆解为声明、状态、事件、假设、预期、需求六部分,描述模型静态性质、动态性质和需求。其对交互系统的拆解更偏向于详细设计,语言更接近形式化语言,对没有形式化建模技术经验的人而言不易理解。
[0004]Lecrubier在2016年基于自然语言(英语)提出了文本化人机交互软件交互建模语言LIDL(LIDL Interaction Description Language),能形式化地描述人机交互系统。LIDL语言具体信息可参见Lecrubier,V.,'Ausbourg,B.D.,&Yamine A
¨
t

Ameur.(2015).The LIDL Interaction Description Language.EICS 2015。LIDL是同步语言、具备形式化语义,能描述交互系统的层级概念。LIDL模型由数据类型、接口、交互三部分组成,其关键字和文法定义的特殊性使其代码类似于以自然语言描述的系统规格、用户行为,便于建模人员阅读、理解。LIDL模型在设计上支持代码生成,其交互的具体实现细节由代码生成的目标语言确定,屏蔽了计算细节,使建模人员能聚焦于人机交互软件中的交互架构设计。LIDL语言具备形式化语义、支持形式化验证、聚焦软件交互,因此本专利技术基于LIDL提出人机交互软件交互的可视化建模方法,并设计实现配套的建模工具。
[0005]LIDL语言产生的句子有两个主要特点:一是类自然语言性。例如交互名称可用多个单词和空格来表达;交互所需的参数混编在句子中,用小括号分隔。最终对交互的建模结果类似于自然语言中的英文句子。这便于建模人员阅读、理解,但也因其灵活性和高自由
度,导致建模人员在定义模型时容易引入语法错误。二是句子中存在括号嵌套。LIDL语言统一使用小括号分隔变量、函数声明、函数定义等句子成分,使其句子中容易出现大量的括号嵌套。这种结构易引入语法错误,降低了建模效率。目前建模人员只能根据LIDL语言,编写语言能产生的句子来创建LIDL模型,没有可视化的建模方案:即与LIDL建模语言等价的可视化建模语言、相应的可视化建模流程和配套的建模工具。目前的建模方式和流程存在以下问题:
[0006]一、建模流程中的具体任务存在引入错误的风险。在目前的建模流程中,建模人员可按任意顺序自由定义模型中的每类组件(数据类型、接口、交互)。由于LIDL模型中的接口依赖于数据类型的定义、交互依赖于接口的定义;当模型变得复杂,在目前的建模流程中将不可避免地出现在接口中使用的数据类型未定义、在交互中使用的接口未定义的情况。此外,建模人员在定义同类组件时需重复编写组件的属性名、手动逐个定义组件中的各项属性,也存在定义属性时漏写属性名、定义组件时有属性未定义的可能性。
[0007]二、无限制的文本模型易错且较难复用。LIDL语言的灵活性和直接编写LIDL语句时的高自由度,导致建模人员在定义模型时容易引入语法错误。对于软件中的同一交互,编辑结构化的LIDL代码为之建模,不同的建模人员建出的LIDL模型很可能会大相径庭:这不利于模型的管理和复用。
[0008]三、用多层嵌套表示的交互间关系不够清晰。在LIDL语言中,使用了嵌套定义描述交互间关系;当交互间关系复杂时,嵌套定义的层次也将随之加深。这种表现形式隐含了交互的抽象层次,建模人员难以清晰地识别出同层的交互,以及各交互间的层次关系。同时,LIDL语言统一使用小括号来分隔句子成分,这导致存在多层嵌套关系的句子中含有大量嵌套的括号;这种结构在编写时易引入语法错误,在阅读时也不利于建模人员理解,降低了建模效率。

技术实现思路

[0009]鉴于上述的分析,本专利技术实施例旨在提供一种基于LIDL的可视化人机交互软件建模方法及装置,用以解决现有人机交互软件建模过程复杂、效率低并且易出错的问题。
[0010]一方面,本专利技术实施例提供了一种基于LIDL的可视化人机交互软件建模方法,包括以下步骤:
[0011]建立LIDL可视化建模语言的元模型,根据元模型生成数据类型定义表、接口类型定义表、交互类型定义表和交互架构定义视图;
[0012]分别读取数据类定义表、接口类定义表和交互类定义表中添加的数据类、接口类和交互类的定义信息,对交互类定义信息进行校验;读取交互架构定义视图中构建的交互实例和交互实例间的接口连接关系,根据接口类的定义信息对交互实例的接口连接关系进行校验;
[0013]若校验均通过,根据交互实例对应的交互类的定义信息,交互实例对应的交互类包含的接口类和数据类的定义信息,和各类的产生式生成各类定义代码;根据交互实例中设置的实参和交互类的定义信息生成交互实例代码。
[0014]基于上述技术方案的进一步改进,根据交互实例对应的交互类的定义信息,交互实例对应的交互类包含的接口类和数据类的定义信息,和各类的产生式生成各类定义代
码,包括:
[0015]从交互类定义表中读取交互实例对应的交互类的定义信息,根据交互类定义信息以及交互类产生式生成交互类定义代码;其中,交互类的定义信息包括交互名称、交互表达式、交互类包含的接口类名称和接口范围;
[0016]从交互类定义表中提取所述交互类中包含的所有接口类名称,对于每个所述接口类名称,根据接口类定义表中该接口类的定义信息以及接口类产生式,生成本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于LIDL的可视化人机交互软件建模方法,其特征在于,包括以下步骤:建立LIDL可视化建模语言的元模型,根据元模型生成数据类型定义表、接口类型定义表、交互类型定义表和交互架构定义视图;分别读取数据类定义表、接口类定义表和交互类定义表中添加的数据类、接口类和交互类的定义信息,对交互类定义信息进行校验;读取交互架构定义视图中构建的交互实例和交互实例间的接口连接关系,根据接口类的定义信息对交互实例的接口连接关系进行校验;若校验均通过,根据交互实例对应的交互类的定义信息,交互实例对应的交互类包含的接口类和数据类的定义信息,和各类的产生式生成各类定义代码;根据交互实例中设置的实参和交互类的定义信息生成交互实例代码。2.根据权利要求1所述的基于LIDL的可视化人机交互软件建模方法,其特征在于,根据交互实例对应的交互类的定义信息,交互实例对应的交互类包含的接口类和数据类的定义信息,和各类的产生式生成各类定义代码,包括:从交互类定义表中读取交互实例对应的交互类的定义信息,根据交互类定义信息以及交互类产生式生成交互类定义代码;其中,交互类的定义信息包括交互名称、交互表达式、交互类包含的接口类名称和接口范围;从交互类定义表中提取所述交互类中包含的所有接口类名称,对于每个所述接口类名称,根据接口类定义表中该接口类的定义信息以及接口类产生式,生成该接口类的定义代码;对于每个所述接口类名称,从接口类定义表中提取该接口类包含的所有组合数据类,对于每个所述组合数据类,根据数据类定义表中该组合数据类的定义信息以及数据类产生式,生成该组合数据类的定义代码。3.根据权利要求2所述的基于LIDL的可视化人机交互软件建模方法,其特征在于,所述交互类产生式为:<交互类定义>=interaction“(”<交互名称>“)”:<交互接口>is“(”<交互表达式>“)”其中,交互接口为接口范围为Global的接口类名称。4.根据权利要求1所述的基于LIDL的可视化人机交互软件建模方法,其特征在于,接口类的定义信息包括接口类名称、成员名称、成员类型和接口方向;所述接口类产生式包括:<接口类定义>=interface<接口类名称>is<接口>;<接口>=<原子接口>|<组合接口>;<原子接口>=<数据类名称><接口方向>;<接口方向>=in|out;<组合接口>=“{”<接口类成员>{“,”<接口类成员>}“}”;<接口类成员>=<接口成员名称>:<接口类名称>。5.根据权利要求1所述的基于LIDL的可视化人机交互软件建模方法,其特征在于,组合数据类的定义信息包括:数据类名称、成员名称、成员类型;所述数据类产生式包括:<组合数据类定义>=data<组合数据类名称>is<组合数据类型>;
<组合数据类型>=“{”<数据类成员&...

【专利技术属性】
技术研发人员:葛宁王云铎王源王勇
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1