分享朋友圈获20个人点赞,截图微信公众号回复,获得机翻和英文原文。
TwinOps:数字孪生遇上DevOps
Jérôme Hugues Joe Yankel John Hudak Anton Hristozov
2022年3月
技术报告
CMU/SEI-2022-TR-001 DOI: 10.1184/R1/19184915
软件解决方案部
[分发声明 A]批准公开发布和无限制分发。
REV-03.18.2016.0
版权所有 2022 卡内基梅隆大学。
本材料基于国防部根据合同号资助和支持的工作。FA8702-15-D-0002与卡内基梅隆大学合作运营软件工程研究所,这是一个联邦政府资助的研发中心。
本材料中包含的观点,意见和/或发现是作者的观点,意见和/或发现,除非由其他文件指定,否则不应被解释为政府的官方立场,政策或决定。
本报告是为SEI行政代理AFLCMC / AZS 5 Eglin Street Hanscom AFB,MA 01731-2100准备的无担保。这本卡内基梅隆大学和软件工程学院的材料按“原样”提供。卡内基梅隆大学对任何事项不作任何明示或暗示的保证,包括但不限于对用途适用性或适销性、排他性或使用材料所获得的结果的保证。卡内基梅隆大学对不侵犯专利、商标或版权不作任何形式的保证。
[分发声明 A]本材料已被批准公开发布和无限制分发。请参阅版权声明,了解非美国政府的使用和分发。
内部使用:*授予复制此材料并从此材料制备衍生作品以供内部使用的许可,前提是所有复制品和衍生作品都包含版权和“无保证”声明。
外部使用:*本材料可以完整复制,未经修改,并以书面或电子形式自由分发,无需请求正式许可。任何其他外部和/或商业用途都需要许可。许可请求应直接向 [email protected] 的软件工程研究所 提出。
* 这些限制不适用于美国政府实体。DM22-0259
目录
摘要
本技术报告总结了TwinOps项目的调查结果,该项目在2020财年执行了一年。
TwinOps研究了网络物理系统(CPSs)的工程。CPS表现出多重工程,验证和确认(V&V)以及测试挑战。在这个项目中,我们的目标是通过改进工程和测试环境来缩短交付软件密集型系统的时间。
TwinOps探索了三种核心技术之间的相互作用:
基于模型的工程(MBE):一种工程方法,依靠模型作为系统的第一类抽象来支持工程 活动。
DevOps:通过更好地耦合开发和运营活动来支持软件持续交付的组织工作 。
数字孪生:实时支持系统监控和诊断的基础设施,以实现持续的系统 改进。
截至2020财年末,SEI通过其对TwinOps的研究取得了以下成果:
SEI提供了一个ModDevOps示例,通过整合MBE和V&V功能来扩展DevOps。我们演示了MBE模型处理功能如何实现快速系统 原型设计。
SEI为通过定义TwinOps流程来构建软件密集型CPS的系统架构师创建了一个增强的分析和测试流程。
SEI使用TwinOps在ModDevOps和数字孪生的基础上构建,以在运行时收集系统上的数据,并将其与其他工程工件进行比较:模型仿真和分析。这种比较可以快速进行系统 诊断。
ModDevOps 和 TwinOps 进程都记录为 SysML 模型。这些模型支持该过程的完整定义。因此,可以对这些过程进行审查并使其适应其他项目需求。
使用建模语言组合的两个案例研究(SysML,架构分析和设计语言[AADL]和Modelica [除了C编程])说明了这两个贡献。我们使用Azure IoT和GitLab forge作为支持DevOps基础设施。
摘要
本报告总结了TwinOps项目的贡献,该项目由软件工程研究所资助并在2020财年执行,为期一年。这项研究的贡献是双重的。首先,它引入了ModDevOps,作为一种创新方法,使用DevOps概念和从模型生成代码来桥接基于模型的工程和软件工程。ModDevOps平滑了从模型级验证和确认(V&V)到软件生产的过渡。其次,该研究开发了TwinOps,这是一个特定的ModDevOps管道,通过在构建模型工件时仔细组合,为系统工程师提供新的分析功能。
1概要
在本章中,我们将提供TwinOps项目、其上下文及其主要结果的摘要。
1.1TwinOps项目的背景和目标
网络物理系统(CPS)的复杂性增加正在导致广泛的未定义行为。有害问题,例如不精确的组件表征(在功能,延迟或安全角度来看)或紧急系统行为,例如系统死锁或不稳定的be-haviors,通常在测试期间或系统部署之后出现。这些不需要的行为会导致大量且代价高昂的返工,并延迟系统交付。
软件系统的DevOps和CPS的数字孪生体最近已成为改进CPS工程的两种有趣技术。我们最初的研究目标是通过DevOps简化模拟或仪器CPS的去策略,DevOps使用整个系统的连续集成,部署和实时监控,同时利用数字孪生概念来审查以软件为中心的监控数据视图和实际的物理参数。然而,DevOps和数字孪生体之间的联系依赖于特定的工程工件和流程。TwinOps项目旨在定义它们。
SEIMBE团队倡导基于模型的技术。我们声称模型可以解决其中一些问题。为此,我们希望组合多个类别的模型:
系统工程模型,用于捕获系统需求、接口和系统功能分解为子系统
用于评估系统一般行为的仿真模型
为系统设计设计设计模型,然后对分析模型(例如,用于模型检查,性能评估)的模型转换,最后是代码生成。
我们注意到这些类别的模型通常是单独考虑并同时开发的。我们声称这些模型可以在一个统一的流程中组合,以改善整个工程设计流程。
在本报告中,我们首先定义了ModDevOps,这是DevOps的扩展,它利用基于模型的工程方法来改进系统持续集成/持续交付(CI/CD)。ModDevOps被定义为一个通用进程。
TwinOps是ModDevOps的一个专业化,旨在CPS工程,验证和确认(V&V)以及部署。TwinOps将DevOps实践和基于模型的代码生成实践相结合,促进多个目标的系统部署,以构建网络物理系统的仿真测试平台、验证平台和数字孪生体。
TwinOps项目建立在DevOps和数字tw基础设施的基础上。DevOps是一个软件开发过程,它依赖于一个迭代的工作流程,结合了软件的分解和操作,从编码到在受监控的运行时基础设施上部署,无论是模拟的还是在实际平台上。DevOps由一系列云技术提供支持,以鼓励在构建、测试和部署活动中实现自动化。数字孪生将工程模型的仿真(使用功能模型接口[FMI]标准)与运行时系统监控相结合,以分析部署的CPS[Blochwitz2012]。
数字孪生的概念已被用于各个领域,以提高系统质量(例如,制造和汽车)。数字孪生体严重依赖物联网(IoT)和基于云的技术来收集和传播数据。
1.2已交付的成果
TwinOps旨在通过在单个统一的流程中生成可以从系统的架构模型及其测试平台中推导出的大部分软件来加快系统开发的测试阶段。系统架构虚拟集成(SAVI)研究表明,在项目的集成和验收阶段发现并减轻了大量的错误。这种现象反映在所需的测试和/或重新测试工作的增加上[Feiler2009]。
通过广泛依赖代码生成并将其链接到测试台或数字孪生,TwinOps减少了在设计时泄漏到CPS工程后期阶段的故障数量,因此工程师将对正在构建的系统以及运行时更有信心,以降低仪器以提高系统的可验证性。
在以下章节中,我们将介绍以下贡献:

推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...