一种基于协同开发系统的构件交互关系建模方法与流程

文档序号:11176861阅读:670来源:国知局
一种基于协同开发系统的构件交互关系建模方法与流程

本发明涉及控制软件的协同开发技术、形式化验证领域,尤其涉及一种基于协同开发系统的构件交互关系建模方法。



背景技术:

在协同开发中,各个软件构件之间存在多种关系,当某个构件发生变化时,协同开发系统需要具备至少以下功能:(1)分析发现对其依赖的构件是否能够正常工作;(2)明确该构件与规范构件之间的逻辑关系。即,在协同开发中需要深入研究并解决在协同过程中可能出现的多种协同关系,来确保人、代码、数据和工具等协同构件之间安全高效地进行协同。

面对现阶段协同开发过程中可能遇到的构件交互关系不清、人员与协同件关系不明、数据关系不明确及开发过程顺序关系模糊等问题,有效的对协同开发系统中的构件交互关系进行建模至关重要。



技术实现要素:

为解决现有技术的缺陷,本发明提供一种基于协同开发系统的构件交互关系建模方法,包括:

步骤s1:获取构件关系描述模型;

步骤s2:提取所述构件关系描述模型中的构件依赖关系,根据所述构件依赖关系分解所述构件关系描述模型得到子模型,将所述子模型与所述构件关系描述模型中含有的构件重组得到重组模型;

步骤s3:对所述重组模型进行规范化描述;

步骤s4:根据所述规范化描述验证所述重组模型中的构件依赖关系,如验证成功,则将所述重组模型作为构件交互关系模型并输出,结束;如验证失败,则返回步骤s1。

可选地,所述构件关系描述模型,包括:文字形式的构件关系描述和e-r图形式的构件关系模型;所述文字形式的构件关系描述,包括数据类型、和或数据依赖、和或逻辑功能、和或功能接口;所述e-r图形式的构件关系模型,具体为原始构件依赖关系。

可选地,所述步骤s1,具体为:通过弹框等待并接收开发人员从中输入的文件存储地址,根据所述文件存储地址获取文件中的构件关系描述模型;

所述步骤s2中,所述提取所述构件关系描述模型中的构件依赖关系,具体为:对所述文件进行预处理,并通过自然语义处理技术对所述文件中的内容进行理解后,提取新的构件关系作为构件依赖关系。

可选地,所述步骤s2中,提取到的所述构件关系描述模型中的构件依赖关系包括:一对多关系、多对多关系、多对一关系。

可选地,所述步骤s2中,所述根据所述构件依赖关系分解所述构件关系描述模型得到子模型,具体为:根据所述构件依赖关系对所述构件关系描述模型依据构件的相关度进行分解得到子模型。

可选地,所述步骤s3,具体为:对所述重组模型中的构件性质运用逻辑演算将不同构件之间的规范描述为逻辑表达式,并在所述构件上建立时序约束和集成约束,得到逻辑关系表达式、时序关系表达式和构件集成规则。

可选地,所述步骤s4中,所述根据所述规范化描述验证所述重组模型中的构件依赖关系,具体包括:

步骤a1:根据所述规范化描述对所述重组模型中的构件依赖关系进行逻辑证明、时序证明和数据分析得到第一验证结果;

步骤a2:将所述逻辑证明、时序证明和数据分析两两组合得到组合表达式;

步骤a3:使用所述组合表达式验证所述第一验证结果。

所述逻辑证明,具体为:对所述规范化描述中的逻辑关系表达式使用基于证明的推理机制验证;

所述时序证明,具体为:用动态时序验证的方法证明,包括确定测试向量、输入模型、进行仿真、完整地测试每条路径;

所述数据分析,具体为:验证所述重组模型的数据类型错误,包括空指针错误、读后写错误、写后读错误、写后写错误。

可选地,在所述步骤s4中,返回步骤s1之前,还包括:

修改所述构件关系描述模型,调整不同构件之间的依赖关系得到新的构件关系描述模型;

在所述步骤s4中,返回步骤s1之后,所述步骤s1,具体为:获取所述新的构件关系描述模型。

本发明的优点在于:

通过本发明公开的建模方法,建立由一系列有序的、多层次的、结构化的规则组成的构件交互模型,解决了在协同开发过程中构件交互关系不清的问题,确保了人、代码、数据和工具等协同构件之间安全高效地协同。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

附图1为本发明提供的一种基于协同开发系统的构件交互关系建模方法框架图;

附图2为本发明提供的一种基于协同开发系统的构件交互关系建模方法流程图;

附图3位本发明提供的一种基于协同开发系统的构件交互关系建模工具框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

根据本发明的实施方式,提出一种基于协同开发系统的构件交互关系建模方法,其概要思想如图1所示,包括:构件关系需求阶段,即获取构件关系描述和构件关系模型;基于获取的构件关系描述和构件关系模型进行模型与构件整合,包括构件依赖关系提取、模型分解、构件与模型重新整合等;然后对整合后的模型进行无二义性、无歧义的形式化语言描述,即进行规范形式化;由于参与协同的构件必须共同遵从同样的规则和约定,而整合后的模型并没有经过验证,可能存在影响人、代码、数据和工具等协同构件之间的依赖关系异常、冲突等问题,因此需要对各个构件之间的依赖关系进行形式化验证,即进行模型验证;其中,验证方法包括逻辑证明、组合验证、数据分析、时序验证等;当验证正确时,输出构件交互关系模型,当验证错误时,返回构件关系需求阶段;通过多重验证,保证了整合后的模型的可靠性,并根据验证结果的正确性决定是否需要重新整合模型。

该建模方法还基于模型与构件库的支撑,其将各数据存储在分布式数据库中,使得数据分散存储在各网络连接的数据节点上,具有高扩展性、高并发性、高可用性等特点;其中,模型与构件库包括:行为模型库、涉及模型库、需求模型库、架构模型库、构件库、样例工程库等。

本发明中,以关系模型的方式刻画各个协同构件之间的逻辑关系,最后通过形式化验证的方法,得到由一系列有序的、多层次、结构化的规则组成的构件交互关系模型。

实施例一

根据本发明的实施方式,提供一种基于协同开发系统的构件交互关系建模方法,如图2所示,包括:

步骤101:获取构件关系描述模型;

步骤102:提取构件关系描述模型中的构件依赖关系,根据构件依赖关系分解构件关系描述模型得到子模型,将得到的子模型与构件关系描述模型中含有的构件重组得到重组模型;

步骤103:对重组模型进行规范化描述;

步骤104:根据规范化描述验证重组模型中的构件依赖关系,如验证成功,则将重组模型作为构件交互关系模型并输出,结束;如验证失败,则返回步骤101。

根据本发明的实施方式,构件关系描述模型,包括:文字形式的构件关系描述和e-r图形式的构件关系模型;

其中,文字形式的构件关系描述,包括数据类型、和或数据依赖、和或逻辑功能、和或功能接口;e-r图形式的构件关系模型,具体为原始构件依赖关系。

根据本发明的实施方式,步骤101,具体为:通过弹框等待并接收开发人员从中输入的文件存储地址,根据所述文件存储地址获取文件中的构件关系描述模型;

对应地,步骤102中,提取构件关系描述模型中的构件依赖关系,具体包括:对所述文件进行预处理,并通过自然语义处理技术对文件中的构件关系描述模型进行理解后,提取新的构件关系作为构件依赖关系。

进一步地,当开发人员输入的文件存储地址不存在时,还包括:弹框提示文件不存在。

根据本发明的实施方式,步骤102中,提取到的构件关系描述模型中的构件依赖关系包括但不限于:一对多关系、多对多关系、多对一关系。

根据本发明的实施方式,步骤102中,根据构件依赖关系分解构件关系描述模型得到子模型,具体为:根据构件依赖关系对构件关系描述模型依据构件的相关度进行分解得到子模型。

优选地,本实施例步骤102中,将子模型与构件关系描述模型中含有的构件重组得到重组模型之后,还包括:生成重组模型文件并保存;

对应地,步骤103之前,还包括:读取保存的重组模型文件;

对应地,步骤103具体为:根据读取到的重组模型文件对重组模型进行规范化描述。

根据本发明的实施方式,步骤103,具体为:对重组模型中的构件性质运用逻辑演算将不同构件之间的规范描述为逻辑表达式,并在构件上建立时序约束和集成约束,得到逻辑关系表达式、时序关系表达式和构件集成规则。

根据本发明的实施方式,步骤104中,根据规范化描述验证重组模型中的构件依赖关系,具体包括:

步骤a1:根据规范化描述对重组模型中的构件依赖关系进行逻辑证明、时序证明和数据分析得到第一验证结果;

步骤a2:将逻辑证明、时序证明和数据分析两两组合得到组合表达式;

步骤a3:使用组合表达式验证第一验证结果。

其中,逻辑证明,具体为:对规范化描述中的逻辑关系表达式使用基于证明的推理机制验证;

时序证明,具体为:用动态时序验证的方法证明,包括确定测试向量、输入模型、进行仿真、完整地测试每条路径;

数据分析,具体为:验证重组模型的数据类型错误,包括空指针错误、读后写错误、写后读错误、写后写错误。

在本实施例中,重组模型以图的形式表现,由于重组模型没有经验,因此可能存在人、代码、数据和工具等协同构件之间的依赖关系异常、冲突等问题;根据规范化描述对重组模型中的构件依赖关系进行多重验证,保证了重组模型的可靠性,并根据验证结果的正确性决定是否需要重组模型。

根据本发明的实施方式,在步骤104中,返回步骤101之前,还包括:

修改构件关系描述模型,调整不同构件之间的依赖关系得到新的构件关系描述模型;

对应地,在步骤104中,返回步骤101之后,步骤101具体为:获取新的构件关系描述模型。

其中,修改构件关系描述模型,调整不同构件之间的依赖关系得到新的构件关系描述模型,具体为:人为的修改构件关系描述模型,调整不同构件之间的依赖关系得到新的构件关系描述模型。

优选地,本实施例步骤104中,在根据规范化描述验证重组模型中的构件依赖关系的过程中,当返回的验证结果为true时,判定重组模型正确;当返回的验证结果为false时,判定重组模型存在冲突、异常等问题。

进一步地,在本实施例中,在判定重组模型正确之后,还可以包括:经总线适配器将其发布到各个开发者的本地电脑中。

实施例二

根据本发明的实施方式,提供一种基于协同开发系统的构件交互关系建模工具,如图3所示,包括:

获取模块201,用于获取构件关系描述模型;

提取模块202,用于提取获取模块201获取到的构件关系描述模型中的构件依赖关系;

分解模块203,用于根据提取模块202提取的构件依赖关系分解获取模块201获取到的构件关系描述模型得到子模型;

重组模块204,用于将分解模块203得到的子模型与获取模块201获取到的构件关系描述模型中含有的构件重组得到重组模型;

规范化模块205,用于对重组模块204得到的重组模型进行规范化描述;

验证模块206,用于根据规范化模块205的规范化描述验证重组模型中的构件依赖关系;

输出模块207,用于当验证模块206验证成功时,将重组模型作为构件交互关系模型并输出;

获取模块201,还用于当验证模块206验证失败时,获取构件关系描述模型。

根据本发明的实施方式,构件关系描述模型,包括:文字形式的构件关系描述和e-r图形式的构件关系模型;

其中,文字形式的构件关系描述,包括数据类型、和或数据依赖、和或逻辑功能、和或功能接口;e-r图形式的构件关系模型,具体为原始构件依赖关系。

根据本发明的实施方式,获取模块201,具体用于:通过弹框等待并接收开发人员从中输入的文件存储地址,根据文件存储地址获取文件中的构件关系描述模型;

对应地,提取模块202,具体用于:对所述文件进行预处理,并通过自然语义处理技术对文件中的内容进行理解后,提取新的构件关系作为构件依赖关系。

根据本发明的实施方式,提取模块202提取到的构件关系描述模型中的构件依赖关系包括但不限于:一对多关系、多对多关系、多对一关系。

根据本发明的实施方式,分解模块203,具体用于:根据提取模块202提取的构件依赖关系对构件关系描述模型依据构件的相关度进行分解得到子模型。

根据本发明的实施方式,规范化模块205,具体用于:对重组模块204得到的重组模型中的构件性质运用逻辑演算将不同构件之间的规范描述为逻辑表达式,并在构件上建立时序约束和集成约束,得到逻辑关系表达式、时序关系表达式和构件集成规则。

根据本发明的实施方式,验证模块206,包括:第一验证子模块、组合子模块和第二验证子模块;

其中,第一验证子模块,用于根据规范化模块205的规范化描述对重组模型中的构件依赖关系进行逻辑证明、时序证明和数据分析得到第一验证结果;

组合子模块,用于将逻辑证明、时序证明和数据分析两两组合得到组合表达式;

第二验证子模块,用于使用组合子模块得到的组合表达式验证第一验证子模块得到的第一验证结果。

其中,逻辑证明,具体为:对规范化描述中的逻辑关系表达式使用基于证明的推理机制验证;

时序证明,具体为:用动态时序验证的方法证明,包括确定测试向量、输入模型、进行仿真、完整地测试每条路径;

数据分析,具体为:验证重组模型的数据类型错误,包括空指针错误、读后写错误、写后读错误、写后写错误。

根据本发明的实施方式,当验证模块206验证失败时,还包括:人为的修改构件关系描述模型,调整不同构件之间的依赖关系得到新的构件关系描述模型;

对应地,获取模块201,具体用于:当验证模块206验证失败时,获取所述新的构件关系描述模型。

本发明中的工具,还包括:模型与构件库模块,其用于存储协同开发所需要的软件构架与需求设计,包括但不限于:行为模型库、架构模型库、设计模型库、构件库、需求模型库、样例工程库。

进一步地,模型与构件库模块将各数据存储在分布式数据库中,使得数据分散存储在各网络连接的数据节点上,具有高扩展性、高并发性、高可用性等特点。

实施例三

本实施例中,以进行新能源汽车控制软件的开发为例,将本分发明公开的一种基于协同开发系统的构件交互关系建模方法及工具进行进一步说明。

随着汽车技术日新月异的发展,纯电动汽车、增程式电动汽车、混合动力汽车、燃料电池电动汽车、氢发动机汽车等新能源汽车走进了人们的视野。汽车控制软件需要很高的可靠性、实时性。否则,其在行驶过程中会造成生命安全及财产的损失。使用本发明中的一种基于协同开发系统的构件交互关系建模工具及建模方法,可以在研制新能源汽车控制软件的初期用建模的形式化方法给软件的可靠性打下基础。

应用本发明中的工具,对新能源汽车控制软件中的构件交互关系建模,具体包括:

步骤a:获取构件关系描述模型;

具体地,通过弹框等待并接收开发人员从中输入的文件存储地址,根据接收到的文件存储地址获取文件中的构件关系描述模型。

步骤b:提取构件关系描述模型中的构件依赖关系,根据构件依赖关系分解构件关系描述模型得到子模型,将得到的子模型与构件关系描述模型中含有的构件重组得到重组模型;

例如,重组模型为喷油控制控件模型、刹车控制模型等;并生成重组模型文件保存在子目录下。

步骤c:对重组模型进行规范化描述;

具体地,读取子目录中的重组模型文件,并对重组模型进行无二义性、无歧义的形式化语言描述,包括:逻辑关系表达式、时序关系表达式、构件集成规则。

步骤d:根据规范化描述验证重组模型中的构件依赖关系,如验证成功,则将重组模型作为构件交互关系模型并输出,结束;如验证失败,则返回步骤a。

具体地,参与协同的构件必须共同遵从同样的规则和约定,对重组模型中各个构件依赖关系进行形式化验证,验证方法包括:逻辑证明、时序验证、组合验证、数据分析。当验证成功时,将重组模型作为新能源汽车控制软件中的构件交互关系模型并输出,将其发布到各个开发者的本地电脑中;当验证失败时,判定协同出现冲突、异常等问题,则重新修改构件关系描述模型。

通过本发明的技术方案,建立由一系列有序的、多层次的、结构化的规则组成的构件交互模型,解决了在协同开发过程中构件交互关系不清的问题,确保了人、代码、数据和工具等协同构件之间安全高效地协同

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1