CN109471624B - 基于gosaa的共享数据模型控制系统及数据架构生成方法 - Google Patents

基于gosaa的共享数据模型控制系统及数据架构生成方法 Download PDF

Info

Publication number
CN109471624B
CN109471624B CN201811393876.1A CN201811393876A CN109471624B CN 109471624 B CN109471624 B CN 109471624B CN 201811393876 A CN201811393876 A CN 201811393876A CN 109471624 B CN109471624 B CN 109471624B
Authority
CN
China
Prior art keywords
model
data model
shared data
data
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.)
Active
Application number
CN201811393876.1A
Other languages
English (en)
Other versions
CN109471624A (zh
Inventor
王羽
洪沛
尹伟
张涛
高忠杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Aeronautical Radio Electronics Research Institute
Original Assignee
China Aeronautical Radio Electronics Research Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Aeronautical Radio Electronics Research Institute filed Critical China Aeronautical Radio Electronics Research Institute
Priority to CN201811393876.1A priority Critical patent/CN109471624B/zh
Publication of CN109471624A publication Critical patent/CN109471624A/zh
Application granted granted Critical
Publication of CN109471624B publication Critical patent/CN109471624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • G06F8/436Semantic 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的共享数据模型控制系统及数据架构生成方法
技术领域
本发明属于航空电子系统技术领域,特别涉及一种基于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 (4)

1.基于GOSAA的共享数据模型控制系统,其特征在于:所述的共享数据模型控制系统包括:共享数据模型系统门户、共享数据模型库、共享数据模型管理单元、共享数据模型元素变更监控单元和分布式版本控制单元;
所述的共享数据模型系统门户为Web应用;
所述的共享数据模型库为共享数据模型集合,所述的共享数据模型包括基础元素和扩展元素:所述的基础元素包括概念模型中的可观测量,以及逻辑模型中的度量、单位和参考系;所述的扩展元素包括与变更管理委员会管理的基础元素的映射;
所述的共享数据模型管理单元用于对共享数据模型的复用管理,包括模型变更请求功能和模型OCL验证管理功能;
所述的共享数据模型元素变更监控单元以分布式协调服务为基础,用于共享数据模型元素变更监控和变更通知;所述的共享数据模型元素变更监控单元利用分布式协调服务的Watch机制来实现元素变化的监测及通知功能,当模型元素变化时,系统会通知变更管理委员会进行元素审核和投票,并根据投票结果更新元素在共享数据模型库中的状态;
所述的分布式版本控制单元用于管理所有的模型数据,包括模型的数据架构生成;所述的分布式版本控制单元将审核通过的模型数据托管于服务器上的共享数据模型库中。
2.根据权利要求1所述的基于GOSAA的共享数据模型控制系统,其特征在于:所述的共享数据模型库包含三个层次的数据模型:本体语义模型、度量语义模型和消息数据类型模型。
3.利用权利要求1至2任一项所述的基于GOSAA的共享数据模型控制系统的数据架构生成方法,其特征在于:所述的数据架构生成方法具体步骤如下:
步骤一、模型扫描器对输入的模型文件进行解析,分析出模型文件中所包含的元素、子元素以及依赖关系,生成元素拓扑结构图;
步骤二、生成中间代码,在数据架构模板中根据拓扑图填充各个元素对应的类及其成员变量,生成中间代码;
步骤三、扫描中间代码,根据外部预先定义的类型映射文件将代码模型中的类型转换成对应数据架构的类型,完成目标数据架构的生成。
4.根据权利要求3所述的基于GOSAA的共享数据模型控制系统的数据架构生成方法,其特征在于:所述的步骤二中数据架构模板是基于Cheetah模板技术定义数据架构框架,以Cheetah代码形式体现。
CN201811393876.1A 2018-11-21 2018-11-21 基于gosaa的共享数据模型控制系统及数据架构生成方法 Active CN109471624B (zh)

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 CN109471624A (zh) 2019-03-15
CN109471624B true 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)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647317A (zh) * 2019-09-27 2020-01-03 中国航空无线电电子研究所 基于模板的应用框架生成方法
CN110717268B (zh) * 2019-09-30 2021-04-13 北京航空航天大学 一种基于face架构的可移植组件单元封装方法
DE102019128104A1 (de) * 2019-10-17 2021-04-22 Mhp Management- Und It-Beratung Gmbh Fertigungssteuerungssystem
CN111752556B (zh) * 2020-06-28 2021-04-30 自然资源部信息中心 基于双层模型结构的数据预测系统及方法
CN115857898B (zh) * 2023-02-25 2023-05-23 武汉万云网络科技有限公司 一种应用系统构建和运行方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346950B1 (en) * 2005-05-19 2013-01-01 Glam Media, Inc. Hosted application server
CN101957794B (zh) * 2010-09-21 2012-05-23 中国科学院软件研究所 Web应用部署约束自动检测方法
CN103135976B (zh) * 2011-11-30 2016-05-11 阿里巴巴集团控股有限公司 代码自动生成方法及装置
FR3029619B1 (fr) * 2014-12-05 2017-10-06 Airbus Operations Sas Systeme de gestion, en particulier systeme de gestion de vol, pour un aeronef.
CN104754045B (zh) * 2015-03-23 2018-04-27 国网辽宁省电力有限公司信息通信分公司 数据中心服务与应用接口管理平台
CN105260189A (zh) * 2015-11-02 2016-01-20 江苏马上游科技股份有限公司 基于模型驱动生成代码的方法及系统
CN106201480A (zh) * 2016-06-30 2016-12-07 中国航空无线电电子研究所 一种座舱显示控制系统软件架构管理平台
CN107168762B (zh) * 2017-05-23 2020-07-03 北京航空航天大学 一种基于本体的rucm模型一致性检查方法
CN108804818B (zh) * 2018-06-09 2021-06-11 西北工业大学 一种基于face架构的软件系统建模方法

Also Published As

Publication number Publication date
CN109471624A (zh) 2019-03-15

Similar Documents

Publication Publication Date Title
CN109471624B (zh) 基于gosaa的共享数据模型控制系统及数据架构生成方法
Kent Model driven engineering
Gokhale et al. Model driven middleware: A new paradigm for developing distributed real-time and embedded systems
CN105739987A (zh) 面向SOA的快速构建JavaWeb应用的系统框架
US20230367560A1 (en) System and method for managing and using data model
Ahmed et al. Model-based interoperability IoT hub for the supervision of smart gas distribution networks
Rathfelder Modelling event-based interactions in component-based architectures for quantitative system evaluation
Tauscher et al. A modular graph transformation rule set for IFC‐to‐CityGML conversion
Sebrechts et al. Service relationship orchestration: Lessons learned from running large scale smart city platforms on kubernetes
CN112068843A (zh) 一种应用软件中业务数据的建模方法
CA2928316C (en) Facilitating communication between software components that use middleware
CN115185493A (zh) 基于模型的航电系统架构设计方法
Harbo et al. Communication oriented modeling of evolving systems of systems
Paskaleva et al. Leveraging integration facades for model-based tool interoperability
CN112667202A (zh) Mda与bpmn相结合的软件设计方法和装置
CN114253546A (zh) 代码的生成方法、装置、存储介质及电子装置
Fang et al. Using object oriented analysis design workflow engine for manufacturing industry in IoT
Kumar et al. FDDS: An Integrated Conceptual FDDS Framework for DDS Based Middleware
Ohtsuki et al. A source code generation support system using design pattern documents based on sgml
Zheng et al. Auto-Modularity Enforcement Framework Using Micro-service Architecture.
Hofmann et al. Implementation reuse and inheritance in distributed component systems
Zhang et al. Development of an OWL Ontology Based on the Function-Oriented System Architecture to Support Data Synchronization Between SysML and Domain Models
Tak et al. Design of mobile software architecture
Petrasch Message-Oriented Middleware for System Communication: A Model-based Approach
Hao et al. Research on Simulation Model System Integration and Interconnection Methods

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