随着医疗机器人技术继续发展,设计良好的软件将派拉蒙安全和一致的性能。
苏珊•琼斯MedAcuity软件
使用机器人在医学技术还在继续增长。不管是cobot人类一起工作自动化或制造或外科手术机器人,一个单点故障会导致严重的伤害。结合软件系统必须考虑安全。
IEC 61508 - 3为安全系统提供了一些软件开发的技术,医疗设备软件开发社区可以利用在设计和实施风险控制措施根据ISO 14971的要求。
开发“安全”软件开始建立一个软件编码标准。IEC 61508 - 3促进使用众所周知的技术,包括:
- 使用模块化的代码。
- 使用首选的设计模式。
- 避免再进入和递归。
- 避免动态内存分配和全球数据对象。
- 最小化中断服务例程的使用和锁定机制。
- 避免死循环等。
- 使用确定的时间模式。
保持简单
还有其他的建议下周围的“保持简单”的原则限制的使用指针,工会和铸型,而不是使用自动类型转换同时鼓励使用圆括号和方括号澄清语法。
危害分析可能会发现你的代码或数据空间可以损坏。有著名的风控措施维护代码和内存完整性可以很容易地采用。运行代码从只读存储器,保护与循环冗余校验(crc) 32可以在启动时检查和定期在运行时,防止错误更改代码空间和提供一个机制来检测这些失败。
隔离数据到不同的内存区域,可以通过虚拟内存空间和保护使用CRC在32块内存区域,甚至添加一个校验和每个条目存储在内存允许将这些CRC /校验和定期检查。
CRC每读访问权可以验证/校验和自动存储项目和更新每个写访问这些受保护的项目。构建测试的软件是一个重要的工具。它是一个好主意来执行一个通电自检(POST)在升高,确保硬件工作和检查你的代码和数据空间是一致的,而不是腐败。
还能发生什么呢?
另一个危险情况出现时控制和监视在相同的处理器上执行或在相同的过程。发生了什么你的安全系统,如果您的流程被挂在一个循环中?技术,独立的监视控制功能介绍软件系统的复杂性,而这种复杂性可以抵消确保控制功能实现的最低安全要求而监控处理故障和错误恢复。
故障检测系统和错误恢复机制从一开始设计时更容易实现。设计糟糕的软件可以意想不到的经验,时间不一致,从而导致意想不到的失败。可以避免这些失败通过控制延迟在软件。状态机,软件监管机构和定时器驱动型可控制这事件是常见的设计元素。
留意沟通
Inter-device和进程间通信安全系统是另一个需要考虑的问题。这些通讯的完整性必须被监控,以确保他们是健壮的。使用crc在32建议两个实体之间的任何协议。单独的crc报头和有效载荷32有助于发现这些消息的腐败。协议应该编写和设计的理念,在任何时候,您的系统可能重启由于一些错。因此,建议在重试尝试和无状态的协议。
安全操作软件验证所有输入接口的范围在哪里遇到;检查内部变量的一致性;并定义默认设置,以帮助恢复不一致的设置或支持工厂复位。软件看门狗过程可以到位看观察者和确保过程运行。
考虑到这些技术,软件开发人员在医疗机械设备可以更好地解决安全问题的系统。
苏珊·琼斯在MedAcuity软件质量工程经理。她有超过25年的经验在各种角色领导高科技组织。
这篇文章的观点是作者的,不一定反映的医疗设计和外包或员工。