CN109471624A - 基于gosaa的共享数据模型控制系统及数据架构生成方法 - Google Patents
基于gosaa的共享数据模型控制系统及数据架构生成方法 Download PDFInfo
- Publication number
- CN109471624A CN109471624A CN201811393876.1A CN201811393876A CN109471624A CN 109471624 A CN109471624 A CN 109471624A CN 201811393876 A CN201811393876 A CN 201811393876A CN 109471624 A CN109471624 A CN 109471624A
- Authority
- CN
- China
- Prior art keywords
- model
- data
- data sharing
- sharing model
- gosaa
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/35—Creation or generation of source code model driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/43—Checking; Contextual analysis
- G06F8/436—Semantic checking
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于航空电子系统技术领域,特别涉及一种基于GOSAA的共享数据模型控制系统及数据架构生成方法;所述的共享数据模型控制系统包括:共享数据模型系统门户、共享数据模型库、共享数据模型管理单元、共享数据模型元素变更监控单元和分布式版本控制单元;GOSAA共享数据模型控制系统通过数据模型建模工具建立GOSAA数据模型,并完成对共享数据模型的分布式管理,包括模型的提交验证、版本控制和变更管理,达到数据模型的可控复用。与此同时,开发者可通过该系统将受控的数据模型生成相应的GOSAA可移植单元数据架构代码来完成整个开放式架构软件的开发,提高协同工作效率。
Description
技术领域
本发明属于航空电子系统技术领域,特别涉及一种基于GOSAA的共享数据模型控制系统及数据架构生成方法。
背景技术
大规模复杂航电软件系统的多团队开发方式,也可能会存在架构不统一,采用标准不一致,难以支持软件产品线等方面问题。为了应对这些问题,大规模复杂航电软件系统通用开放架构(Generic Open Software Architecture for Avionics system,GOSAA)为航电软件系统的开发提供一致的架构规范参考,实现支持开放标准、软件产品线、模块化和跨平台的可移植性、互操作性等架构关键属性目标。作为软件架构属性的互操作性则强调跨平台和编程语言的程序之间通信和共享数据的能力。在大规模复杂航电软件系统的多团队开发方式中,由于组件互操作涉及的各方对所传输的消息数据缺乏规范和共同的理解,可能存在对互操作软件组件之间消息语义歧义、度量不匹配和信息缺失等问题。
发明内容
本发明的目的是:提供一种基于GOSAA的共享数据模型控制系统及数据架构生成方法,以实现在大规模复杂航电软件系统的多团队开发通过受控的数据模型以及模型数据架构的生成,为软件组件之间的互操作提供一种规范化方法,方便软件组件的集成,提高模型的可重用性以及协同工作效率。
为解决此技术问题,本发明的技术方案是:
基于GOSAA的共享数据模型控制系统,所述的共享数据模型控制系统包括:共享数据模型系统门户、共享数据模型库、共享数据模型管理单元、共享数据模型元素变更监控单元和分布式版本控制单元;
所述的共享数据模型系统门户为Web应用;
所述的共享数据模型库即为共享数据模型集合,所述的共享数据模型包括基础元素和扩展元素:所述的基础元素包括概念模型中的可观测量,以及逻辑模型中的度量、单位和参考系;所述的扩展元素包括与变更管理委员会管理的基础元素的映射;
所述的共享数据模型管理单元用于对共享数据模型的复用管理,包括模型变更请求功能和模型OCL验证管理功能;
所述的共享数据模型元素变更监控单元以分布式协调服务为基础,用于共享数据模型元素变更监控和变更通知。
所述的分布式版本控制单元用于管理所有的模型数据,包括模型数据托管和数据架构生成。
所述的共享数据模型库包含三个层次的数据模型:本体语义模型、度量语义模型和消息数据类型模型。
所述的共享数据模型元素变更监控单元利用ZooKeeper的Watch机制来实现元素变化的监测及通知功能,当模型元素变化时,系统会通知变更管理委员会进行元素审核和投票,并在投票完成根据投票结果更新元素状态。
所述的分布式版本控制单元将审核通过的模型数据托管于服务器上的共享数据模型库中,同时完成对用户下载的模型进行数据架构生成。
利用基于GOSAA的共享数据模型控制系统的可移植单元数据架构生成方法,具体步骤如下:
步骤一、模型扫描器对输入的模型文件进行解析,分析出模型文件中所包含的元素、子元素以及依赖关系,生成元素拓扑结构图;
步骤二、生成中间代码,在数据架构模板中根据拓扑图填充各个元素对应的类及其成员变量,生成中间代码;其中,数据架构模板是基于Cheetah模板技术定义GOSAA可移植单元的数据架构框架,以Cheetah代码形式体现;
步骤三、扫描中间代码,根据外部预先定义的类型映射文件将代码模型中的类型转换成对应代码的类型,完成目标数据架构代码的生成。
本发明的有益效果是:本发明解决了在大规模复杂航电软件系统的多团队开发方式中,通过受控的数据模型及数据架构的生成来提高可移植组件之间的数据互用,并为解决基于GOSAA关键架构属性的互操作问题提供规范化参考。模型驱动的GOSAA共享数据模型控制系统通过GOSAA数据模型建模工具进行模型建立,实现软件架构元素的设计、数据接口的设计、软件架构交联的设计等,并完成对共享数据模型的分布式管理,包括模型的提交验证、版本控制和变更管理,达到数据模型的可控复用,与此同时,开发者可通过该环境将受控的数据模型生成相应的数据架构来完成整个基于GOSAA的开放式架构的软件研发,提高协同工作效率。
附图说明
图1是基于GOSAA的分层数据模型;
图2是共享数据模型的控制系统;
图3是可移植单元数据架构的生成;
图中,SDM为共享数据模型,CCB为变更管理委员会,IDL为接口描述语言。
具体实施方式
下面结合附图对本发明做进一步说明:
本发明通过在大规模复杂航电软件系统可移植和互操作关键架构属性基础上,提出共享数据模型(Shared Data Model,SDM)的概念,实现一种适合大规模复杂航电软件系统多团队开发方式的模型驱动GOSAA的共享数据模型控制系统,为GOSAA可移植组件之间的数据共享提供一种规范化方法。
一、如图2所示,本发明的基于GOSAA的共享数据模型控制系统,包括:共享数据模型系统门户、共享数据模型库、共享数据模型管理单元、共享数据模型元素变更监控单元和分布式版本控制单元;
(1)共享数据模型系统门户是一个Web应用,基于SSM(Spring+SpringMVC+Mybatis)框架设计,实现前端与后台逻辑的解耦开发;
(2)共享数据模型库的共享数据模型包括基础元素和扩展元素:基础元素主要包括概念模型中的可观测量,以及逻辑模型中的度量、单位和参考系;扩展元素包括与CCB管理的基础元素的映射,确保独立开发的可移植单元所使用的所有传输消息都可以追溯到通用元素上;
(3)共享数据模型管理单元实现对SDM的复用管理,包括模型变更请求和模型OCL验证管理。模型变更请求由变更管理委员会(CCB)统一管理,从而保证基础模型元素的一致性和规范化;OCL(Object Constraint Language)是一种形式化的无二义的语言,这里的OCL验证包括两个方面:(a)需要验证数据模型是否符合规范,数据模型最终是要生成代码的,那么数据模型就必须符合规范且正确;(b)互操作的组件之间传输消息的数据模型应保持一致,这就需要对数据模型进行一致性验证;
(4)SDM元素变更监控单元利用ZooKeeper的Watch机制来实现元素变化的监测及通知功能,当模型元素变化时,系统会通知变更管理委员会进行元素审核和投票,并根据投票结果更新元素在共享数据模型库中的状态;
(5)分布式版本控制单元管理所有的模型数据。当元素审核通后,系统将模型数据托管于GitLab服务器上;用户下载的模型数据将是GitLab上已验证的最新模型,方便模型数据的版本控制;同时,对用户下载的模型进行相应的数据架构的代码生成。
所述的GOSAA共享数据模型演化控制系统的设计,用于对共享数据模型进行统一分布式管理,保证模型的一致性和规范化。数据模型开发者使用数据模型建模工具(Enterprise Architect,EA)和GOSAA共享数据模型库建立数据模型。EA实现了定义建模元素的UML Profile(XML格式),定义了在GOSAA共享数据建模过程中使用的元素符号和规则,如本体、实体、度量体系、单位、关系等基本元素,便于从本体语义模型、度量语义模型和消息数据类型模型三个层次上对交互数据进行可视化的建模。用户可以通过GOSAA共享数据模型演化控制系统管理已建立的数据模型,由分布式协调服务(Zookeeper)托管,并通知变更控制委员会CCB(Configuration Control Board)成员验证共享数据模型。对于认证成功的模型,将被放入GitLab中的共享数据模型库。数据模型开发者也可以通过该系统下载已认证成功的共享数据模型,进行数据架构代码的生成,用于航电系统软件的集成开发。
二、利用本发明的基于GOSAA的共享数据模型控制系统的数据架构方法,用于对已通过OCL验证的数据模型进行消息代码的生成,从而保证互操作的数据在语义和语法上的一致,便于大规模多团队复杂航电系统软件的协同开发和集成。为便于数据模型的交换以及保存,数据建模最终产生一份XML格式的消息数据类型的模型文件。建立数据模型的目的是生成可使用的数据架构代码,此设计是基于Cheetah模板的代码生成技术。数据架构生成设计中主要包括三个部件:模型扫描器、数据架构模板和数据类型映射文件,流程如下。
首先,模型扫描器会对输入的模型文件进行解析,分析出模型文件中所包含的元素、子元素以及它们的依赖关系,生成一份元素拓扑结构图;
其次,生成中间代码,在数据架构模板中根据拓扑图填充各个元素对应的类及其成员变量,生成中间代码,其中,数据架构模板是基于Cheetah模板技术定义GOSAA可移植单元的数据架构框架,以Cheetah代码形式体现;
最后,扫描中间代码,根据外部预先定义的类型映射文件将代码模型中的类型转换成对应代码的类型,完成目标代码的生成。
数据建模的要点在于对建模关注点的分离,以图1所示,将航电系统中的传输消息抽象出三个层次的模型:本体语义模型、度量语义模型和消息数据类型模型。
(1)本体语义模型的要素包括不可分割的本体、由本体组成的实体以及用于定义二者概念和关系的建模。其中,本体指的是可观测的原子概念,也就是航电领域最基本的术语,这里的可观测指的是通过对物理世界的度量。实体则是由本体以及其它实体组成。
(2)度量语义模型则是对本体语义模型的细化,即对本体和实体添加细节,如单位、度量体系、取值范围等。度量语义模型中的实体根据本体语义模型中的相关实体来明确建模。
(3)消息数据类型模型则是与具体平台相关的。其基础元素通过度量语义模型的类型映射,在消息数据类型模型中实现为物理数据类型。这个物理数据类型通过消息选择可直接对应到生成数据架构代码中的数据类型。
用户通过建模工具EA建立航电系统软件交互数据模型,模型最终以XML格式体现,可用于可移植单元数据架构的生成。
为了保证数据模型的语义一致性,同时提高基础模型元素的可重用性,SDM由CCB统一管理基础元素的变更请求,如添加、修改、删除等。图2共享数据模型演化控制系统为用户提供一个管理、复用以及共享数据模型的模型库。为保证基础模型元素的一致性和规范化,用户提交数据模型需要系统进行OCL验证。数据模型验证的过程就是对数据模型根据OCL文件定义的每条约束进行验证。
OCL文件主要包括以下几条规则:
1、数据模型中的每个元素具有唯一的名字;
2、当一个元素实现另一个元素时,实现的实体的上下限与被实现实体的上下限匹配;
3、平台实体组合层次结构必须与实现的逻辑实体组合层次结构一致;
4、平台值类型必须与逻辑测量和信息元素相对应;
5、实体名,角色名、组合名称、视图名称不与UML profile中定义的保留字重复。
通过OCL验证的数据模型即为已验证模型,可作为可移植单元数据架构的生成,如图3。首先,利用数据建模产生的一个XML格式的消息数据类型文件作为模型扫描器的输入,经过解析,将模型文件中所包含的元素、子元素以及它们的依赖关系生成拓扑结构;其次,根据数据架构模板进行各个类及其成员变量的填充,生成一份中间代码;最后,根据预定义的类型映射文件将模型代码中的类型转换成对应代码的类型,从而生成数据架构代码(如c++或c等语言)。
Claims (6)
1.基于GOSAA的共享数据模型控制系统,其特征在于:所述的共享数据模型控制系统包括:共享数据模型系统门户、共享数据模型库、共享数据模型管理单元、共享数据模型元素变更监控单元和分布式版本控制单元;
所述的共享数据模型系统门户为Web应用;
所述的共享数据模型库也即共享数据模型集合,所述的共享数据模型包括基础元素和扩展元素:所述的基础元素包括概念模型中的可观测量,以及逻辑模型中的度量、单位和参考系;所述的扩展元素包括与变更管理委员会管理的基础元素的映射;
所述的共享数据模型管理单元用于对共享数据模型的复用管理,包括模型变更请求功能和模型OCL验证管理功能;
所述的共享数据模型元素变更监控单元以分布式协调服务为基础,用于共享数据模型元素变更监控和变更通知;
所述的分布式版本控制单元用于管理所有的模型数据,包括模型的数据架构生成。
2.根据权利要求1所述的基于GOSAA的共享数据模型控制系统,其特征在于:所述的共享数据模型库包含三个层次的数据模型:本体语义模型、度量语义模型和消息数据类型模型。
3.根据权利要求1所述的基于GOSAA的共享数据模型控制系统,其特征在于:所述的共享数据模型元素变更监控单元利用分布式协调服务的Watch机制来实现元素变化的监测及通知功能,当模型元素变化时,系统会通知变更管理委员会进行元素审核和投票,并根据投票结果更新元素在共享数据模型库中的状态。
4.根据权利要求1所述的基于GOSAA的共享数据模型控制系统,其特征在于:所述的分布式版本控制单元将审核通过的模型数据托管于服务器上的共享数据模型库中。
5.利用权利要求1至4任一项所述的基于GOSAA的共享数据模型控制系统的数据架构生成方法,其特征在于:所述的GOSAA可移植单元数据架构生成方法具体步骤如下:
步骤一、模型扫描器对输入的模型文件进行解析,分析出模型文件中所包含的元素、子元素以及依赖关系,生成元素拓扑结构图;
步骤二、生成中间代码,在数据架构模板中根据拓扑图填充各个元素对应的类及其成员变量,生成中间代码;
步骤三、扫描中间代码,根据外部预先定义的类型映射文件将代码模型中的类型转换成对应数据架构的类型,完成目标数据架构的生成。
6.根据权利要求5所述的基于GOSAA的共享数据模型的数据架构生成方法,其特征在于:所述的步骤二中数据架构模板是基于Cheetah模板技术定义数据架构框架,以Cheetah代码形式体现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811393876.1A CN109471624B (zh) | 2018-11-21 | 2018-11-21 | 基于gosaa的共享数据模型控制系统及数据架构生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811393876.1A CN109471624B (zh) | 2018-11-21 | 2018-11-21 | 基于gosaa的共享数据模型控制系统及数据架构生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471624A true CN109471624A (zh) | 2019-03-15 |
CN109471624B CN109471624B (zh) | 2021-12-24 |
Family
ID=65674509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811393876.1A Active CN109471624B (zh) | 2018-11-21 | 2018-11-21 | 基于gosaa的共享数据模型控制系统及数据架构生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471624B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647317A (zh) * | 2019-09-27 | 2020-01-03 | 中国航空无线电电子研究所 | 基于模板的应用框架生成方法 |
CN110717268A (zh) * | 2019-09-30 | 2020-01-21 | 北京航空航天大学 | 一种基于face架构的可移植组件单元封装方法 |
CN111752556A (zh) * | 2020-06-28 | 2020-10-09 | 自然资源部信息中心 | 基于双层模型结构的数据预测系统及方法 |
CN112685482A (zh) * | 2019-10-17 | 2021-04-20 | Mhp管理和It咨询有限公司 | 制造控制系统和用于制造控制的方法 |
CN115857898A (zh) * | 2023-02-25 | 2023-03-28 | 武汉万云网络科技有限公司 | 一种应用系统构建和运行方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101957794A (zh) * | 2010-09-21 | 2011-01-26 | 中国科学院软件研究所 | Web应用部署约束自动检测方法 |
US8346950B1 (en) * | 2005-05-19 | 2013-01-01 | Glam Media, Inc. | Hosted application server |
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
CN104754045A (zh) * | 2015-03-23 | 2015-07-01 | 国网辽宁省电力有限公司信息通信分公司 | 数据中心服务与应用接口管理平台 |
CN105260189A (zh) * | 2015-11-02 | 2016-01-20 | 江苏马上游科技股份有限公司 | 基于模型驱动生成代码的方法及系统 |
US20160163202A1 (en) * | 2014-12-05 | 2016-06-09 | Airbus Operations (SAS.) | Managing data exchange between an avionic core and an open world device |
CN106201480A (zh) * | 2016-06-30 | 2016-12-07 | 中国航空无线电电子研究所 | 一种座舱显示控制系统软件架构管理平台 |
CN107168762A (zh) * | 2017-05-23 | 2017-09-15 | 北京航空航天大学 | 一种基于本体的rucm模型一致性检查方法 |
CN108804818A (zh) * | 2018-06-09 | 2018-11-13 | 西北工业大学 | 一种基于face架构的软件系统建模方法 |
-
2018
- 2018-11-21 CN CN201811393876.1A patent/CN109471624B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346950B1 (en) * | 2005-05-19 | 2013-01-01 | Glam Media, Inc. | Hosted application server |
CN101957794A (zh) * | 2010-09-21 | 2011-01-26 | 中国科学院软件研究所 | Web应用部署约束自动检测方法 |
CN103135976A (zh) * | 2011-11-30 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 代码自动生成方法及装置 |
US20160163202A1 (en) * | 2014-12-05 | 2016-06-09 | Airbus Operations (SAS.) | Managing data exchange between an avionic core and an open world device |
CN104754045A (zh) * | 2015-03-23 | 2015-07-01 | 国网辽宁省电力有限公司信息通信分公司 | 数据中心服务与应用接口管理平台 |
CN105260189A (zh) * | 2015-11-02 | 2016-01-20 | 江苏马上游科技股份有限公司 | 基于模型驱动生成代码的方法及系统 |
CN106201480A (zh) * | 2016-06-30 | 2016-12-07 | 中国航空无线电电子研究所 | 一种座舱显示控制系统软件架构管理平台 |
CN107168762A (zh) * | 2017-05-23 | 2017-09-15 | 北京航空航天大学 | 一种基于本体的rucm模型一致性检查方法 |
CN108804818A (zh) * | 2018-06-09 | 2018-11-13 | 西北工业大学 | 一种基于face架构的软件系统建模方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647317A (zh) * | 2019-09-27 | 2020-01-03 | 中国航空无线电电子研究所 | 基于模板的应用框架生成方法 |
CN110717268A (zh) * | 2019-09-30 | 2020-01-21 | 北京航空航天大学 | 一种基于face架构的可移植组件单元封装方法 |
CN112685482A (zh) * | 2019-10-17 | 2021-04-20 | Mhp管理和It咨询有限公司 | 制造控制系统和用于制造控制的方法 |
CN111752556A (zh) * | 2020-06-28 | 2020-10-09 | 自然资源部信息中心 | 基于双层模型结构的数据预测系统及方法 |
CN111752556B (zh) * | 2020-06-28 | 2021-04-30 | 自然资源部信息中心 | 基于双层模型结构的数据预测系统及方法 |
CN115857898A (zh) * | 2023-02-25 | 2023-03-28 | 武汉万云网络科技有限公司 | 一种应用系统构建和运行方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109471624B (zh) | 2021-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109471624A (zh) | 基于gosaa的共享数据模型控制系统及数据架构生成方法 | |
CN104391934B (zh) | 数据校验方法和装置 | |
US11451398B2 (en) | Management of interoperating machine learning algorithms | |
EP3502896B1 (en) | Generation of an adapters configuration user interface using a data structure | |
US11823017B2 (en) | Interoperation of machine learning algorithms | |
US20190392070A1 (en) | Data model database | |
CN107111713A (zh) | 软件系统的自动验证 | |
AU2004200639A1 (en) | Integrating design, deployment, and management phases for systems | |
US20150220553A1 (en) | Expandable ad hoc domain specific query for system management | |
KR102226463B1 (ko) | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 | |
Khare et al. | Patterns and practices for CIM applications | |
US9830204B2 (en) | Facilitating communication between software components that use middleware | |
Neema | Large-scale integration of heterogeneous simulations | |
AU2014338988A1 (en) | Facilitating communication between software components that use middleware | |
Paskaleva et al. | Leveraging integration facades for model-based tool interoperability | |
Weidner et al. | A protocol for the use of cloud-based quantum computers for logical network analysis of biological systems | |
CN115185493A (zh) | 基于模型的航电系统架构设计方法 | |
Jang et al. | Design of an Algorithm for the Validation of SCL in Digital Substations | |
Hercog et al. | Protocol Specification and Design | |
Scheben | Hierarchical composition of industrial components | |
Kuehn | A Practical Tool-Chain for the Development of Coordination Scenarios: Graphical Modeler, DSL, Code Generators and Automaton-Based Simulator | |
Pereira | The DS-Pnet modeling formalism for cyber-physical system development | |
Beavin | Addressing Model Based Engineering Issues through the Product Knowledge Framework | |
Morán et al. | Automatic composition of IEC 61499 distributed control applications | |
EP2866139A1 (en) | Method facilitating the communication between two software components that use two different middleware by automatically generating a communication layer between them |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |