OSLC助力系统工程的全生命周期整合 (转)

news2024/12/19 8:54:15

本文作者胡振超,上海交通大学博士研究生。课题牵头人为鲁金直,瑞典皇家理工学院博士。本项目有Ericsson.SE高级顾问顾文卿,中科蜂巢相关工程师相关工程师所提供的基于多架构建模Karma语言的自主多架构建模工具MetaGraph、OSLC数据整合工具Datalinks,工程数据可视化及分析工具DataVis以及工程案例。

1 系统工程的全生命周期进行整合的必要性

随着近年来产品的复杂程度增加,企业研发任务的需求,在产品各个生命周期阶段往往会跨越多个工程领域,典型的如需求管理、架构设计、产品设计、质量管理、仿真验证等。在全生命周期中,利益相关人会使用不同的领域工具来解决领域遇到的关注问题问题。而这些工具来自于不同的工具提供商、具备不同的数据类型、依赖不同的数据库与平台或者拥有不同的UI和风格。在产品开发过程中,这些领域工具发挥着巨大的作用,然后当前的领域工具间的数据和工作流却彼此割裂,导致无法在产品的全生命周期内实现跨领域的数据一致性表达和相互通用。这导致了在整合分析阶段,产品开发人员不得不投入大量的人力用于整合不同平台工具间的以后数据。

目前,异构数据不能完全整合,导致企业内部信息孤岛的产生,成为进一步提升企业研发能力的障碍。对于全生命周期中的数据进行整合,可以打破产品研发过程中遇到的不用领域间的数据和工作流的壁垒,可以极大地帮助企业进行信息化改革,降低研发过程中的交流、管理成本,从而加快产品研发效率。与此同时,统一形式化表达的数据是智能化开发的基础,为未来采用大数据技术对产品开发过程的提供自动决策奠定基础。

此外,在工业制造领域,随着数字化的发展,数字孪生技术也变得越来越重要。这种贯穿整个产品的生命周期的虚拟数据,同样需要统一的表达和管理,进而缩短产品开发过程中数据闭环,提高开发和生产的有效性和经济性。同时,这些统一表达的数据,辅助产品运维阶段的故障诊断及寿命预测,帮助客户避免系统错误造成的损失。

本文使用OSLC技术解决生命周期数据的集成问题,打通物理空间与虚拟空间之间的数据交流,支持实时数据的集成和管理,为整个系统的生命周期提升数据管理、整合能力,为企业未来以数据为核心智能开发奠定基础。

2 开放式生命周期协作服务(OSLC)

OSLC的全称为 “OpenServices for Lifecycle Collaboration”,是由IBM提出的一套技术规范,该规范主要用于解决生命周期工具的集成问题。OSLC的核心思想是链接数据,将事物都通过HTTP URI进行标识,用户通过请求能够获取通过标准形式表达的有用信息,并且允许事物间的链接,使得用户能够发现更多的信息。

图1OSLC系统架构

基于这一基础思想,OSLC将软件研发生命周期的工件进行资源化。用户通过HTTP协议对这些资源进行访问。OSLC中对资源的表述强制要求具备RDF的提供能力,同时也可以支持例如JSON/HTML等其他资源格式。

2.1 服务集成架构

图2OSLC服务化集成架构

如图所示,OSLC服务化系统工程整合方法,步骤包括数据前端平台调用、OSLC处理、基础组件层。

(1). 基础组件层包括整个产品开发过程中的生命周期数据及数字孪生方案两部分。生命周期数据指系统仿真实验数据库、模型数据库(CAD模型、CAE模型、CFD模型、架构模型)、代码、形式化文档(型文件、仿真文件、结果文件、仿真报告和其他文件)、用户权限数据库及文件等。数字孪生包括工业生产设备、传感器采集的实时数据等。

(2). OSLC处理即为数据交互中间件,直接面向数据,将基础组件中的模型数据及通过工业生产的设备管理、传感器硬件IO接口所收集的数据转化为OSLC服务。OSLC标准基于基础的数据结构框架,系统工程师可以根据OSLCcommunity给定的标准定义作为参考模型,定制自己企业内部的数据集成标准 (该过程类似与系统工程师需要根据SysML模型建立自己的profile)。该层OSLC服务是通过基于OSLC标准开发的服务配置器生成的。针对不同资源,开发对应OSLC服务配置器可以将该资源表达为统一的OSLC服务,每个OSLC服务可以通过URL进行访问。此处需要注意的是,不能单纯的把OSLC技术看出简单的Restful服务或者RDF技术。

(3). 前端调用包括数据显示化及分析决策平台和目前生命周期中的各种平台客户端。通过统一表达的OSLC形式化数据在数据显示化及分析平台上对生命周期数据进行分析和显示化。同样,其他已存在的产品开发平台可以对OSLC服务进行调用。例如,FMI为联合仿真过程中的,数据交互格式,OSLC在生命周期过程中,数据的集成作用与FMI在联合仿真的过程中的功类似。

通过以上OSLC服务集成架构,产品生命周期过程中的数据、模型及形式化文档以及数据孪生中产生的数据可以统一表达、并实现更加方便的集成方式。

2.2 OSLC服务化集成落地

图3OSLC服务集成过程

如图3所示,目前本团队已经实现采用基于模型系统工程方法自动开发OSLC服务的解决方案。为了便于理解,该方案的原理与PTC采用SysML实现Smart City的IoT平台自动开发类似。

本方案中,系统工程师采用多架构建模工具MetaGraph[1]对OSLC配置器的架构及相关参数进行建模,并通过代码生成器,将其架构模型模型自动生成用于描述OSLC配置器的本体信息(目前,MetaGraph基于多架构建模语言“Karma语言”建立该架构模型所需要的模型库,同时还提供了支持SysML、BPMN、Capella方法论的模型库。同时,基于Karma语言也可支持MetaGraph中的架构模型之间架构驱动及MetaGraph对于其他格式数据的代码生成 ,年末会更新具体文章介绍Karma语言)。

系统工程师与IT管理人员配合,通过采用Datalinks[2]读入相关本体信息分别生成OSLC服务配置器。注意,即使不通过MBSE方法,可以通过Datalinks手动开发相应OSLC配置器。 目前Datalinks已经具备诸多通用工具的OSLC配置器,并可以对这些配置器进行管理。这些服务配置器用于生命周期过程中所需要的相关基础组件及硬件接口所获得的数据转化为OSLC服务,进而实现生命周期中的数据整合生成及数字孪生。

通过服务配置器,将生命周期中的数据转为统一表达的OSLC服务及OSLC数据,在数据可视化及分析工具中进行数据挖掘和显示化并自动生成基于机器学习算法相关模型。其他平台通过OSLC服务调用数据,实现数据的统一和集成。

3 案例

3.1 OSLC服务的支持设备互联及数字孪生的接口及数据管理

图4物联网车辆案例

我们以自主循迹车辆的IoT框架的开发过程为例说明此方案的可行性。如图4所示,基于TURTLEBot3框架,开发两个车辆实物。在该框架下,两个自主车辆可以进行自主寻址,避障和数据的中心化分析及管理。这些车辆通过ROS(Robot Operating System)系统和Wifi将车辆的实时数据传送到PC端,通过PC端的OSLC服务配置器, 将实时数据传递到服务云上,开发人员通过云服务实现车辆的实时数据监控。

图5自主车辆案例全生命周期模型及服务化表达及数据分析

如5所示,在自主循迹车辆的IoT框架的开发过程中,会涉及到包括对针对整个IoT框架和车辆的体系级及系统级需求分析,产品设计、建模仿真、软件验证以及实物检测阶段。不同阶段中会使用到不同领域的工具。通过使用OSLC数据管道工具Datalinks,可将诸多模型和数据转化为OSLC服务及OSLC格式数据,将不同领域的工具进行集成并服务化。

通过OSLC服务,开发人员将自主车辆在研发过程中使用到的Simulink模型、CAD模型、仿真数据等生命周期过程中使用到的数字孪生的虚拟空间的模型集成到OSLC服务中并在数据可视化平台中显示。这些数据可以在大数据可视化及分析平台DataVis中用于辅助分析对该车辆的寻址算法、故障诊断和寿命预测算法的开发。

3.2 细节展示

在此案例,基于自主循迹车辆IoT框架,采用OSLC技术分别建立其simulink仿真模型及实物的实时监控前端。如图6所示,基于OSLC的CoreModel规范,其包含的概念有catalog,serviceprovider及service。Catalog可以嵌套Catalog及service provider,provider可嵌套service,进而实现不同数据的层次表达。在该案例中,建立一个总体的catalog用于描述本案例,利用两个catalog分别描述Simulink仿真模型和车辆实时数据显示和保存的功能。在对应catalog中,每个service provider代表单次仿真或实时测试。在每个service provider中,都可浏览本次service provider可实现实时数据显示和数据存储的服务。

图6服务化物联网平台数据显示

案例演示效果如图6所示:

1、主页面为用户提供了针对该案例中的仿真模型以及车辆实物的catalog,点击service provider相应链接即可对其进行进一步操作,即登入对应service provider。

2、每个service provider都为用户提供了针对数据的实时显示(display)以及数据保存(save)的service,点击链接即可在网页客户端调用此服务。

3、当用户选择实时显示(display)服务时,页面会将数据实时利用OSLC服务实时显示在页面中。

4、当用户选择保存数据(save)服务时,页面会为用户提供数据的下载链接,用户通过在OSLC服务即可通过此服务将数据保存下来。

4 应用展望

采用OSLC相关技术实现对产品生命周期过程中的相关数据进行整合实现企业级的现实数据及虚拟数据的统一表达和整合。通过服务化方法,可实现不同利益相关人对于不同领域的数据增删改查,从而帮助企业实现提高生命周期过程中的数据一致性、追溯性及互用性。根据OSLC规范提供的参考模型,系统工程师可以自行定义企业级或者IPT团队中的数据格式并建立各自领域的数据标准库,进而实现各自领域数据管理的优化。与此同时,这些数据标准,由于基于相同的OSLC格式,可以跨领域的数据整合。该方法比传统的标准范式集成灵活更加开放,避免集成领域知识与给定工业标准数据格式时,由于彼此异构所导致的转化过程中的数据缺失。此外,针对集成数据过程中所遇到的数据安全性问题,已经通过区域链技术进行加密,后续会对这项技术进行介绍。同时,针对该案例中的数据,以及采用强化学习技术实现对产品开发过程中的自动决策。后续也会介绍如何将机器学习技术应用于开发过程的决策。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

electron打包linux环境

注意:新版的electron已经不支持在win上直接打包Linux的环境了,服务会卡住,会一直生成文件占用磁盘(我发现的时候占了我100G,而且文件夹很深,找了java代码while循环,好不容易删除的o(╥﹏╥)o) electron有一个专门打包的docker镜像&#xff0c…

活动预告|云原生创新论坛:知乎携手 AutoMQ、OceanBase、快猫星云的实践分享

近年来,云原生技术迅猛发展,成为企业数字化转型的关键动力,云原生不仅极大地提升了系统的灵活性和可扩展性,还为企业带来了前所未有的创新机遇。 12 月 28 日 知乎携手 AutoMQ、OceanBase 和快猫星云推出“云原生创新论坛”主题的…

AMS1117芯片驱动电路·降压芯片的驱动电路详解

编写不易,仅供学习,请勿搬运,感谢理解 AMS1117驱动电路 很常用的一种LDO降压芯片,LDO(Low Dropout Regulator)降压芯片是线性稳压器,这种IC因为内部集成的不是开关电路,只能将输入与输出的电压差值通过内部…

[论文阅读]Universal and transferable adversarial attacks on aligned language models

Universal and transferable adversarial attacks on aligned language models http://arxiv.org/abs/2307.15043 图 1:Aligned LLMs 不是对抗性 Aligned。我们的攻击构建了一个单一的对抗性提示,该提示始终绕过最先进的商业模式(包括 ChatG…

【HarmonyOS之旅】HarmonyOS开发基础知识(一)

目录 1 -> 应用基础知识 1.1 -> 用户应用程序 1.2 -> 用户应用程序包结构 1.3 -> Ability 1.4 -> 库文件 1.5 -> 资源文件 1.6 -> 配置文件 1.7 -> pack.info 1.8 -> HAR 2 -> 配置文件简介 2.1 -> 配置文件的组成 3 -> 配置文…

DDoS工作原理

原理 原理解释1 DDoS攻击的核心原理是利用大量的恶意请求占用过多的资源,使目标系统无法处理正常的请求。 这些恶意请求可以包括数据包或请求,通常通过分布式网络进行发送,利用多个计算机或设备协同攻击。 这些被控制的计算机或设备被称为“…

搭建springmvc项目

什么是springmvc MVC它是一种设计理念。把程序按照指定的结构来划分: Model模型 View视图 Controller控制层 springmvc框架是spring框架的一个分支。它是按照mvc架构思想设计的一款框架。 springmvc的主要作用: 接收浏览器的请求数据,对数据进行处理,…

【USB-HID】“自动化键盘“ - 模拟键盘输入

目录 【USB-HID】"自动化键盘" - 模拟键盘输入1. 前言2. 模拟键盘2.1 STM32CubeMX 配置2.2 修改代码配置2.3 发送按键信息 3. 接收主机Setup数据3.1 获取PC下发的数据 4. 总结 【USB-HID】“自动化键盘” - 模拟键盘输入 1. 前言 对于模拟键盘的实现,网…

Scratch圣诞节作品 | 礼物快递大作战——限时挑战,传递圣诞惊喜! ✨

今天为大家推荐一款紧张又趣味十足的Scratch圣诞小游戏——《礼物快递大作战》!由CreativeCatStudios制作,这款作品用简单的操作、快节奏的玩法,将圣诞节的礼物传递任务变成了一场冒险挑战!更棒的是,这款游戏的源码可以…

Gin- Cookie\Session相关

Cookie,Session是什么? Cookie直译小饼干,是一些数据信息,类似于小型文本文件,存储在浏览器上。Cookie是进行第一次登录之后,由服务器创建后返回给浏览器的。之后,每当浏览器再次向同一服务器发…

uniapp 微信小程序 功能入口

单行单独展示 效果图 html <view class"shopchoose flex jsb ac" click"routerTo(要跳转的页面)"><view class"flex ac"><image src"/static/dyd.png" mode"aspectFit" class"shopchooseimg"&g…

uniapp开发微信小程序优化项目

问题一&#xff1a;对JS文件进行压缩 1、上传代码时自动压缩 2、运行时压缩压缩代码 3、以上2步不行可直接在开发者工具设置 二、 主包与vendor.js过大问题 1、配置 manifest.json 分包配置 与 组件懒加载配置 "lazyCodeLoading" : "requiredComponents" …

day50|DFS,BFS

深度优先遍历&#xff08;DFS&#xff09; 不撞南墙不回头算法 撞了之后就回退一步找别的路&#xff08;回溯算法&#xff09; 直到访问所有的顶点 注意&#xff1a;深度优先遍历的序列不是唯一的 若无向图非连通&#xff1a; 需要执行多次深度优先遍历 重要结论&#xff…

Linux系统安装部署Tomcat

1、进入Tomcat官网&#xff0c;官网地址&#xff1a;https://tomcat.apache.org/ 2、点击左侧Download下的Archives按钮 3、选择需要下载的版本 下载地址&#xff1a;https://archive.apache.org/dist/tomcat/ 4、点击自己需要下载的版本&#xff0c;我这里下载的是9.0.6 5、…

java全栈day17--Web后端实战(java操作数据库)

前言&#xff1a;本章应该是针对数据库基础讲解&#xff0c;数据的增删改查但是本人忘记对知识进行归纳总结就直接跳过&#xff0c;基本的内容都很简单&#xff0c;都是套式子使用。现在开始学习本章&#xff0c;很重要需要好好掌握。 一、使用的工具 二、JDBC 2.1概述 JDBC …

分立器件---运算放大器关键参数

运算放大器 关键参数 1、供电电压:有单电源电压、双电源电压,双电源电压尽量两个电源都接。如图LM358B,供电电压可以是20V或者是40V和GND。 2、输入偏置电流IB:当运放输出直流电压为零时,运放两个输入端流进或者流出直流电流的平均值。同向输入端电流IB+与反向输入端电流…

CS61a.1 textbook1.2 编程要素

1.structure and interpretation of computer programs Python 内置了对各种常见编程活动的支持&#xff0c; 例如&#xff0c;操作文本、显示图形以及通过 互联网。Python 代码行 >>> from urllib.request import urlopen是一个 import 语句&#xff0c;用于加载用…

第100+33步 ChatGPT学习:时间序列EMD-ARIMA-LSTM模型

基于Python 3.9版本演示 一、写在前面 上一节&#xff0c;我们学了经验模态分解&#xff08;Empirical Mode Decomposition&#xff0c;EMD&#xff09;。 如同结尾所说&#xff0c;“那么&#xff0c;做这些分解有什么作用呢&#xff1f;有大佬基于这些分解出来的序列分别作…

vulnhub靶场【DriftingBlues】之7

前言 靶机&#xff1a;DriftingBlues-6&#xff0c;IP地址192.168.1.65 攻击&#xff1a;kali&#xff0c;IP地址192.168.1.16 都采用虚拟机&#xff0c;网卡为桥接模式 主机发现 使用arp-scan -l或netdiscover -r 192.168.1.1/24 信息收集 使用nmap扫描端口 SSH服务&…

[Unity]在unity 中输出调试安卓真机日志

添加包 Android Logcat com.unity.mobile.android-logcat 简单介绍常用的用法&#xff1a; 手机USB连接unity&#xff0c;下图可以看到手机型号 可以过滤具体软件的日志