基于Web的SysML建模平台的制作方法

文档序号:21544393发布日期:2020-07-17 17:51阅读:365来源:国知局
基于Web的SysML建模平台的制作方法

本发明属于基于模型的系统工程技术领域,具体涉及一种基于web的sysml建模平台。



背景技术:

随着复杂产品的功能性和设计分布性大大增加,基于模型的系统工程(model-basedsystemsengineering,mbse)已经受到学术界和工业界的广泛关注。基于sysml的复杂系统建模平台也越来越普遍。现有的复杂系统建模平台大多是桌面版,且主要为国外产品,存在安装困难、操作复杂、不可控等问题。

在传统sysml系统中,系统通过后端处理复杂逻辑、前端渲染的方式将系统进行前后端分离。模型与图形分离导致他们之间只能通过网络通信来进行数据交互,这大大制约了整个sysml系统的灵活性,使得简单的数据变动感知变得复杂。前端图形能感知到复杂的模型变化并予以同等语义的图形变动,而后端也要能解析前端的模型构建行为,并响应相应的信息。前端浏览器获取后端传来的模型语义信息后,如何去解析这些模型数据也是一个大问题,同理如何把前端用户操作意图转换为复杂的建模语义也具有重要研究意义。

其次,计算与展示解耦架构下,随着建模过程中数据量变大、复杂性增加,由于模型元素内在关联,用户一次微小的改动导致逻辑上的复杂改变仅仅依靠网络传输是不行的,必然会导致数据传输延迟,造成网页卡顿、网络资源浪费。

换言之,sysml建模过程会伴随复杂的领域模型数据,这些数据内部有非常复杂的模型语义,模型与模型之间具有完整的内在关联。只将前端和后端进行计算与展示解耦的设计方案不能满足需求。

总之,在这种前端主要负责渲染的架构下,sysml系统建模过程中仅仅依靠网络从后端服务层传输到前端的复杂领域模型数据不能满足模型语义要求。需要构建满足复杂sysml建模语义的底层领域模型,该架构模型要求能保证轻量化、便利性的前提下,显著提高系统底层模型语义表示能力,使其完全支持mbse进行复杂系统建模。解决web化系统工程建模平台的模型语义问题能进一步追赶国外先进技术、获取国内在该领域的技术自主能力的重要意义。



技术实现要素:

本发明的目的是提供一种基于web的sysml建模平台,该sysml建模平台能够解决依靠网络从后端传输到前端的复杂领域模型数据不能满足模型语义要求的问题。

一种基于web的sysml建模平台,包括web端的图形层、后端的服务层,还包括设于web端的模型适配层,所述模型适配层包括仅包含基础模型属性且能完整支持模型内部复杂关联语义的sysml领域元模型表示、基于该sysml领域元模型表示形成的模型数据以及实现图形层和服务层的交互的逻辑计算与请求转发;

所述图形层基于请求从所述模型适配层获取模型数据进行渲染表示;

所述服务层用于基于请求进行模型内部关联的逻辑计算,并同步逻辑运算数据到所述模型适配层。

所述模型适配层包括sysml领域元模型框架,所述sysml领域元模型框架包括uml组件和umlpool组件,其中,uml组件用于承载模型元素,umlpool组件用于维护和管理模型元素、执行模型元素与模型元素之间的逻辑运算获得第一逻辑数据以及服务层提供的模型内部关联的第二逻辑数据,模型元素与第一逻辑数据和第二逻辑数据组成模型数据。

所述模型适配层包括模型树组件,用于维护和管理模型数据之间的逻辑关系。

所述模型适配层包括元素工厂,用于创建、调用和实例化uml元素,还用于模型元素与模型元素之间的逻辑运算。

所述模型适配层包括操作流解析器,所述操作流解析器订阅用户建模操作,服务层会实时记录用户建模操作的详细修改并进行模型内部关联的逻辑计算形成修改数据,并将修改数据反馈给所述操作流解析层,所述操作流解析层解析所述修改数据,并根据修改数据更新umlpool中的模型数据。

所述根据修改数据更新umlpool中的模型数据包括:

从所述修改信息中获得新增的模型对象,并将所述模型对象增加到umlpool中,然后修改属性的值,再删除与此次修改相关联的所有模型对象。

所述图形层中包含notation组件、umldi组件以及umlpool组件,其中,notation组件用于提供图元素的格式和样式;umldi组件用于承载sysml图元素,通过模型元素属性指向模型适配层的uml元素实现图形数据与模型数据的交换,使得图形层的图形能够动态响应的模型的变更,模型适配层的模型也能感知图形的变化;umlpool组件用于承载、管理以及维护基于umldi生成的图对象的生命周期。

所述图形层还包括事件管理组件,用于管理和规则性定义外界交互事件,以及响应外界交互事件。其中,交互事件可以包括用户的拖动、点击、选中等交互操作。

所述图形层还包括虚拟对象组件,根据交互请求产生一个虚拟对象替代真实对象。

与现有技术相比,本发明具有的有益效果至少包括:

本发明通过在web端增加模型适配层,该模型适配层中存储有完整关联语义的sysml领域元模型框架,能够完全支持sysml建模语义,有效地响应用户建模,填补了国内外web版sysml系统建模的空白,解决基于web的系统工程建模平台的模型语义问题,以完整地支持mbse复杂系统建模。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是现有的典型的前后端分离两层模型的结构示意图;

图2是本发明实施例提供的基于web的sysml建模平台的结构示意图;

图3是本发明实施例提供的基于web的sysml建模平台的详细架构图;

图4是本发明实施例提供的图形层与模型适配层中notation组件、umldi组件与uml组件之间的关系图;

图5是本发明实施例提供的模型元素与图形元素的对应关系;

图6是本发明实施例提供的association类继承结构;

图7是本发明实施例提供的operationstream的技术架构图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

软件开发,尤其是复杂软件开发,如何合理的拆分系统是问题的关键。系统的需求和规模是系统拆分的依据,而不同的系统拆分带来不同的性能和实现复杂度。在如图1所示的传统架构中,系统通过后端处理复杂逻辑,前端渲染的方式将系统进行前后端分离。实践证明,在这种前端主要负责渲染的架构下,sysml系统建模过程中仅仅依靠网络从后端服务层传输到前端的复杂领域模型数据不能满足模型语义要求。

因此,本实施例将web端变“厚”,并将浏览器端(web端)拆分为视图层和数据层,形成如图2所示的基于web的sysml建模平台,该sysml建模平台主要分为图形层、模型适配层以及后端服务层。

其中,图形层负责图形化建模中数据渲染,核心是展示,主要包括数据的图标展示、模型适配层模型数据的渲染、复杂建模连线、图形元素拖动等设计与优化。

模型适配层作用包括sysml领域元模型表示、前后端交互中的逻辑计算与请求转发、缓存。模型适配层的sysml领域元模型表示与后端服务器的模型表示不同,它仅仅有基础的模型属性,能完整的支持模型内部复杂的关联语义,但无法进行复杂的模型推理计算;前后端交互中的逻辑计算与请求转发类似适配器的作用,负责粘合前后端交互及必要的逻辑转发;模型适配层的缓存作用体现在图形层无需依赖后端服务层提供模型内部关联的逻辑数据,这些模型内部关联的逻辑数据从浏览器端的模型适配层即可获得;数据是模型适配层的核心。

后端服务主要用于保存模型,持久化数据,同时提供用户管理等常规系统服务。

下面针对每层进行详细说明。

如图3所示,图形层中包含notation组件、umldi组件以及umlpool组件、事件管理组件(eventmange)以及虚拟对象组件(dummy)。

其中,umldi组件是一种图元素框架,用于承载sysml图元素,通过模型元素属性指向模型适配层的uml元素实现图形数据与模型数据的交换,使得图形层的图形能够动态响应的模型的变更,模型适配层的模型也能感知图形的变化。

如图4所示,图形元素(umldi元素)中有一个名为modelelement属性,它是指向某个模型适配层的模型元素(uml元素)的引用,这是图形元素和模型元素进行数据交换的接口,通过这个modelelement,前端图形能动态响应模型的变更,模型也才能感知到图形的变化,实现图形元素(渲染展示的元素)和模型元素的解耦。

notation组件是一种样式框架,主要用于提供图元素的格式和样式。umldi原生umldiagramelement中有bounds用于表示图形样式的属性,然而umldi它本身对于这一类样式属性没有规范性定义,仅仅提供了简略的描述,所以omg规范提出用notation来表示图形的居中、大小等样式作为补充。而每一种模型元素对应的图形元素(包括图形umldi和样式notation)严格参照omg标准(如图5所示),图5展示的是建模过程中的图(diagram)。notation表示了图(diagram)的样式、样例,而diagramelements这一栏表示图(diagram)对应的umldi元素(umldiagram)和uml元素(element),而uml通过上述提到的modelelement属性为umldi提供数据支撑。

umlpool组件用于承载、管理以及维护基于umldi生成的图对象的生命周期。事件管理组件用于管理和规则性定义外界交互事件,以及响应外界交互事件。虚拟对象组件根据交互请求产生一个虚拟对象替代真实对象。这样将前端用户操作时的实时刷新变成离散刷新,时能够避免前端实时刷新造成的性能损耗。

如图3所示,所述模型适配层包括uml组件、umlpool组件、模型树组件(modetree)、元素工厂(elementfactory)以及操作流解析器(operationstream解析器)。

其中,uml组件用于承载模型元素,umlpool组件用于维护和管理模型元素、执行模型元素与模型元素之间的逻辑运算获得第一逻辑数据以及服务层提供的模型内部关联的第二逻辑数据,模型元素与第一逻辑数据和第二逻辑数据组成模型数据。uml组件和umlpool组件构成了sysml领域元模型框架,该sysml领域元模型框架按照严格的模型语义组织类继承关系,以sysml领域元模型中表示关联关系的元类(association)为例,类继承结构如图6所示。association扩展自classifier和relationship,这两个类又分别扩展自其它类。这表明,association既具有分类器(classifier)的特性又表示一种关系(relationship),继承关系再往上可以表示association具备可命名的特性(namedelement)。sysml领域元模型表示与后端服务器的模型表示不同,它仅仅有基础的模型属性,能完整的支持模型内部复杂的关联语义,但无法进行复杂的模型推理计算。该框架为模型适配层承载后端服务层中完整的模型数据提供了基础,是支持图形层响应用户建模需求的关键。

模型树组件(modetree)用于维护和管理模型数据之间的逻辑关系。

元素工厂(elementfactory)用于创建、调用和实例化uml元素,还用于模型元素与模型元素之间的逻辑运算。

模型适配层作为m-design连通图形层和服务器的桥梁对于复杂系统建模平台过程中模型语义数据一致性起着至关重要的作用。本发明认为解决sysml拓展机制的一致性是模型适配层与后端服务层之间的模型语义数据一致性的关键。sysml提供了stereotype、profile支持用户自定义领域元模型。在复杂装备的设计与建模过程中,用户通过这种扩展机制实现自定义领域模型。

在模型适配中设计的sysml领域元模型基础上,利用后端服务层emf提供的机制设计并实现了operationstream解析器,用于维护web端与服务层的数据。如图7所示,operationstream解析器通过观察者订阅用户建模操作,后端服务层的emf更改模型(如图7)会记录每一步操作的详细修改并进行模型内部关联的逻辑计算形成修改数据,通过json返回修改数据到模型适配层的operationstream解析器。operationstream获取数据后主要有以下三步:

第一步,json数据的关键字objectstoattach得到该次所有新增的模型对象,并添加到资源池中。如果是uml元素,则直接将该元素的id句柄与元素对应添加到资源池;如果是sysml元素或者其他自定义元素,则将id句柄与对应的dynamiceobject动态代理对象对应添加到资源池。

第二步,添加完新增对象后修改属性的值。从json数据的objectchanges中得到所有该次修改了属性值的数据。按照增加(add)、去除(remove)两类对单值、多值两种情况分类别类的修改。避免操作属性的对象不存在出现空指针问题,该步操作只能介于第一步和第三步之间。

第三步,删除该次修改关联的所有模型对象。根据json数据的关键字objectstodetach中的元素类型和id句柄,逐个从资源池中删除相应模型元素。

以上三步完成了对模型适配层所有数据的正确更新,最后使用观察者对这些变更进行监听,从而实现数据变更的及时渲染。

实施例提出的架构模型在保证轻量化、便利性的前提下,显著提高系统底层模型语义表示能力,使其完全支持mbse进行复杂系统建模。本发明提出的sysml建模平台完全支持sysml建模语义,可以有效地响应用户建模。相比于传统web架构,本发明提出的sysml建模平台能够在web端完整构建sysml建模数据,实现用户建模过程中的图形的快速响应和复杂建模数据的完整表达。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

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