0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用Eclipse Process Framework搭建嵌入式软件

星星科技指导员 来源:嵌入式 作者:Irv Badr 2022-08-12 09:43 次阅读

挑战:

除了用于开发嵌入式软件产品的典型工作流程,如需求收集、分析、系统设计、详细设计、测试和项目管理,医疗设备行业还有一个额外的挑战——合规性。为美国市场开发的产品由美国食品药品监督管理局 (FDA) 通过质量体系法规 (QSR) 21 CFR Part §820.30 进行监管,这基本上要求:

在设计历史文件 (DHF) 中维护适当的文档

21 CFR 第 11 部分还管理 DHF 中电子签名的使用,以促进电子文档代替纸质版本

国际市场符合 ISO 13485:2003 并符合欧盟 MDD 93/42 法规

符合 FDA 规定的当前良好生产规范 (CGMP) 和良好设计规范 (GDP)

传统方法

为了达到合规目标,医疗器械开发团队在项目开始时就启动了 DHF。该文件的内容可能包括非正式的手写需求和设计说明,以及以打印输出和源代码摘录形式的正式架构和设计文档。对于许多以源代码为中心的开发团队来说,DHF 可能包括需求文档、临时正式设计文档和大量源代码清单,反映了表达的需求是如何作为源代码忠实实施的。QSR 需要此工作流程,要求必须在需求及其确切实施之间建立可追溯性,以证明设备正用于其预期目的; 但是,没有详细说明建立可追溯性的方法。源代码通常是提交的,因为它很容易获得,并且大多数团队也使用源代码作为表示系统架构和设计的媒介。在开发过程中没有集成正式建模方法的情况下,这是非常典型的。

设计输入输出

图 1 显示了 FDA 设计控制指南中推荐的开发过程。请注意,通过遵循所示的迭代开发步骤,可以与 GDP 一起实现 QSR 合规性。通过根据设计输入测量设计输出,可以根据要求执行大部分系统验证。设计输入是一组最初源自用户要求的规范,其目标是设备的预期用途应作为一组要求进行说明。反过来,设计输出是设备制造商定义的一组程序,以确保完成的工作与相应的设计输入相符。这实质上要求这两个里程碑之间的可追溯性。

图1

pYYBAGL1sH6AQ93bAADyZve0K1A566.png

传统上,开发过程包括作为设计输入的一组正式或半正式的文字处理器文档和一些模型,这些模型反映了构建系统所依据的一组规范。该输入被转换为设计输出中提到的一组预先披露的可交付成果。因此,在系统软件的情况下,设计输出可能包括属于应用程序的源代码列表。目标是披露设备的预期用途并确保已实施规范并满足设计目标。

验证设计

设计输入和输出里程碑是医疗器械开发过程的组成部分,适用于大量器械;因此,他们没有具体说明应该使用哪些方法进行图 1 中概述的流程中所示的验证。设备制造商为此使用了一系列工具和流程,但大多数依赖于文本需求文档和源代码列表,如设计输入和输出。图 1 包括一个设计验证步骤,其中根据设计输入验证设计输出。

验证系统

由于大多数团队将源代码视为系统实现的最终衡量标准,因此在实际设备上运行完整的源代码经常表明设备的预期用途。这是一种以源为中心的方法,因为通过执行为真实设备编译的应用程序代码来进行验证。

验证系统的传统方法虽然有效,但成本高且容易出错。在目标设备上对不断发展的系统进行单元测试的任务可能既繁琐又缓慢。可能无法在不产生大量费用或后勤障碍(例如硬件不完整或不存在)的情况下使机器通过所有预期的使用场景,这可能会妨碍设备的最终测试。不完整的平台可能会为测试的应用程序呈现错误的结果。

由于在单元测试期间发现了软件和系统错误并得到纠正,它们相关的设计和要求可能需要更新以反映更改的源代码。根据应用程序的大小,这可能会变得耗时且容易出错,因为可能会遗漏一些更改,从而导致 DHF 与实际实施的系统不匹配。

使用自动化工具的新方法

设计控制和 QSR 不需要实际运行的医疗设备作为系统验证和确认的基础。就 FDA 而言,只需证明收集的数据作为设备预期用途的证明就足够了。该数据可以从实际设备以及模拟执行中收集该设备的自动化应用程序开发工具提供了无与伦比的效率增益。图 2 展示了一个以确认和验证为中心的过程。与前面描述的 FDA 流程一样,该流程取决于基于设计输入的设计输出的迭代开发。图 2 还将需求追溯至系统验证,而架构和设计活动则追溯至系统验证。显示的所有步骤都是通过建模工具提供的需求可追溯性和可执行模型功能自动执行的。

图 2

pYYBAGL1sIWAduVlAAOWFoqPb7M978.png

自动验证和验证的示例

在模型驱动的过程中,应用程序的架构和设计都是在建模工具中进行的。此外,设计工具可以从设计模型中自动生成单元测试用例。在这里,设计和测试用例的模型都是可执行的。第一个目标是验证底层设计,然后测试设计,描绘设备的实际使用场景。大多数缺陷和设计疏忽都在此模型验证阶段被发现。单元测试可以使设计通过任何可能的场景,其中许多可能难以在实际设备上创建。在接下来的示例中,测试可以显示系统在患者在监测他或她的血氧水平的过程中没有表现出可检测到的脉搏这种不太可能发生的情况下的行为。

检测到的缺陷和疏忽会在设计中立即得到纠正,从而无需手动更改代码和设计文档。这与传统开发形成鲜明对比,传统开发是在真实设备上执行源代码后修复源代码内部的缺陷。这发生在开发过程的后期,因此系统调试比模型驱动方法慢得多。

图 4 中的示例说明了用于通过指夹传感器测量血氧水平和脉率的血氧监测仪的设计。该设计显示了一个状态机,负责对包含血氧水平 (SpO2) 和脉率的传感器数据进行解包。通过注入真实或模拟的传感器数据,图中所示的状态机可以快速验证正确的操作。此外,图 4 中的测试案例验证了脉搏率和氧气水平都在安全范围内。该测试用例与设计验证一起运行,以确保在难以创建的不可预见或复杂事件期间患者的安全。

图 4

pYYBAGL1sI2AajM1AAItrcKg4zw121.png

此外,可以使用自动化需求管理工具,以便在设计组件(例如图 4 中所示的状态机)和需求之间建立可追溯性。

最后,对于系统验证,测试用例被追踪到系统的操作要求。这是通过正式需求管理工具和建模环境之间的需求可追溯性功能实现的自动化。换句话说,可以建立一个完全自动化的验证和验证过程。

开发工具

Telelogic 提供生命周期开发工具(如图 3 所示),涵盖 QSR 要求的整个系统验证和验证领域。DOORS 需求管理工具用作创建设计输入的基础,系统需求和验证测试都在 DOORS 内部作为结构化和可跟踪的对象集进行管理。

根据正在开发的医疗设备的性质,两种不同的工具可提供建模解决方案。对于通常使用单板嵌入式计算机和实时操作系统 (RTOS) 的传统独立医疗设备,Telelogic 的 Rhapsody 提供系统架构和设计支持以及自动源代码生成。Rhapsody 能够支持开箱即用的主要 RTOS 平台。它还提供了目标托管协同仿真的附加功能,当需要目标级验证时,这在验证和验证过程中被证明是有价值的。

Telelogic TAU 可用于使用多个平台或嵌入式和桌面系统的任意组合的复杂医疗设备。这可能包括计算机断层扫描 (CT) 扫描仪等设备或携带一系列相关平台的其他系统,包括无头运行传统操作系统(如 Linux、UNIX 或 Windows)的台式计算机和监控工作站。TAU 支持独立于语言和操作系统的建模,并且可以使用多种编程语言在任意平台上部署相同的模型。这被描述为平台无关建模 (PIM),其中一组模型可以在许多不同或未定义的平台上使用。因此,PIM 的概念为提高生产力增加了另一个维度,允许在未来几代未知平台中使用设计的组件。

自动化开发过程生成的文档提供了源自需求管理和建模活动的集成书面记录。这篇论文是由 Telelogic 的 DocExpress 自动创建的,它可以查看本示例中使用的所有 Telelogic 工具。DocExpress 自动创建包含来自所用工具的文本和图表的文字处理器页面,并且完全由用户配置。

更好、更便宜的开发过程

在设计医疗设备时,FDA QSR 规定的设计指南和法规可以与系统和软件开发中的最佳实践同时解决。这不仅降低了开发成本,而且还促进了 QSR 规定的验证和验证过程,从而使医疗设备更可靠,现场故障的可能性更小。此外,这还为 DHF 提供了实时内容,这些内容是自动管理和制作的。Telelogic 的生命周期管理解决方案集旨在通过使用需求管理、系统和软件建模以及自动化的、基于模型的测试工具(包括 DOORS、Rhapsody、TAU 和 DocExpress)来自动化开发过程。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11202

    浏览量

    208694
  • 计算机
    +关注

    关注

    19

    文章

    7351

    浏览量

    87625
  • 操作系统
    +关注

    关注

    37

    文章

    6675

    浏览量

    123127
收藏 人收藏

    评论

    相关推荐

    嵌入式框架Zorb Framework搭建方案

    Zorb Framework是一个基于面向对象的思想来搭建一个轻量级的嵌入式框架。
    的头像 发表于 11-05 17:08 1398次阅读
    <b class='flag-5'>嵌入式</b>框架Zorb <b class='flag-5'>Framework</b><b class='flag-5'>搭建</b>方案

    嵌入式框架Zorb Framework状态机的实现

    Zorb Framework是一个基于面向对象的思想来搭建一个轻量级的嵌入式框架。
    的头像 发表于 11-29 09:33 1064次阅读
    <b class='flag-5'>嵌入式</b>框架Zorb <b class='flag-5'>Framework</b>状态机的实现

    eclipse + armgcc + jlink 进行嵌入式MCU开发环境搭建

    eclipse + armgcc + jlink 进行嵌入式MCU开发环境搭建(windows版本)由于不想用keil和iar等集成环境进行开发,个人比较喜欢eclipse的操作和更高
    发表于 12-16 07:30

    Eclipse OpenOCD OpenJTAG嵌入式开发教程

    电子发烧友网为大家提供了Eclipse OpenOCD OpenJTAG嵌入式开发教程,本站所有资源都是免费的,希望对您有所帮助!
    发表于 11-09 14:46 0次下载
    <b class='flag-5'>Eclipse</b> OpenOCD OpenJTAG<b class='flag-5'>嵌入式</b>开发教程

    Eclipse嵌入式软件开发平台

    随着嵌入式系统在通信、网络设施、航空、航海和航天等领域的大范围应用,需要功能强大的软件开发平台辅助嵌入式应用软件的开发。一个好的软件开发平台
    发表于 12-01 15:37 55次下载
    <b class='flag-5'>Eclipse</b><b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发平台

    基于嵌入式开发平台的搭建软件移植

    基于嵌入式开发平台的搭建软件移植
    发表于 10-30 15:31 7次下载
    基于<b class='flag-5'>嵌入式</b>开发平台的<b class='flag-5'>搭建</b>与<b class='flag-5'>软件</b>移植

    嵌入式开发环境的搭建

    本文详细介绍了嵌入式开发环境的搭建。这个教程在仅使用附带的光盘镜像文件里的资料的情况下,所搭建嵌入式 ARM 开发环境可以满足 ARM 核为 ARM920T 及 CORTEX-A8
    的头像 发表于 02-01 16:39 8440次阅读
    <b class='flag-5'>嵌入式</b>开发环境的<b class='flag-5'>搭建</b>

    如何使用Eclipse开发环境实现复杂的嵌入式视觉算法

    本演示将重点介绍软件开发人员如何使用Xilinx All Programmable SoC轻松使用熟悉的基于Eclipse的开发环境实现复杂的嵌入式视觉算法 - 无需掌握RTL。 与标准不同
    的头像 发表于 11-29 06:10 2171次阅读

    嵌入式应用框架EAF详解

    EAF是Embedded Application Framework 的缩写,即嵌入式应用框架。嵌入式应用框架是 Application framework的一种, 是在
    发表于 12-02 11:30 2784次阅读

    关于嵌入式应用框架(EAF)的分析

    EAF是Embedded Application Framework 的缩写,即嵌入式应用框架。嵌入式应用框架是 Application framework的一种, 是在
    发表于 01-01 09:50 1468次阅读

    嵌入式软件是什么意思_嵌入式软件的分类有哪些

    本文首先阐述了嵌入式软件的概念,其次介绍了嵌入式软件的特征,最后介绍了嵌入式软件的分类。
    发表于 08-31 15:54 1.6w次阅读

    嵌入式系统移植-01嵌入式基本概念,嵌入式开发环境搭建,目标机搭建,TFTP服务搭建,NFS服务搭建

    文章目录系统移植概述及环境搭建嵌入式基本概念嵌入式系统的应用领域什么是嵌入式系统用嵌入式系统硬件组成部分通用
    发表于 10-20 17:21 10次下载
    <b class='flag-5'>嵌入式</b>系统移植-01<b class='flag-5'>嵌入式</b>基本概念,<b class='flag-5'>嵌入式</b>开发环境<b class='flag-5'>搭建</b>,目标机<b class='flag-5'>搭建</b>,TFTP服务<b class='flag-5'>搭建</b>,NFS服务<b class='flag-5'>搭建</b>

    嵌入式软件开发环境

    嵌入式软件开发环境1 简介嵌入式软件定义嵌入式系统构成2 环境搭建2.1 Qt2.2 CLion
    发表于 10-21 12:21 7次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>开发环境

    基于Eclipse嵌入式软件图形化建模开发集成环境

    ASCET-DEVELOPER IDE是一个基于Eclipse嵌入式软件图形化建模开发集成环境。借助ASCET-DEVELOPER,软件工程师能够构建高性能、安全、可靠、低开销且易于
    的头像 发表于 06-07 12:02 2122次阅读

    使用Eclipse Process Framework构建嵌入式软件

      在设计医疗设备时,FDA QSR 规定的设计指南和法规可以与系统和软件开发中的最佳实践同时解决。这不仅降低了开发成本,还促进了 QSR 规定的验证和验证过程,从而使医疗设备更可靠,现场故障的可能性更小。
    发表于 06-28 11:35 423次阅读
    使用<b class='flag-5'>Eclipse</b> <b class='flag-5'>Process</b> <b class='flag-5'>Framework</b>构建<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b>