0

考虑一个由多个任务组成的安全关键应用程序,我有以下问题:

是否可以在应用程序中拥有不同 SIL 的任务,或者所有任务都具有相同的 SIL?我知道在硬件中,有可能有一个特定 SIL 的系统实际上由不同 SIL 的子组件组成。IEC 61508-2,第 7.4.3 节提出了将不同 SIL 的子系统组合成一个比组成部分具有更高 SIL 的系统的规则。

如果可能,结合的规则是什么?参考资料非常有帮助。例如,SIL 2 的任务可以作为 SIL 3 任务的输入吗?

谢谢,祝你好运,

4

4 回答 4

4

对的,这是可能的。我建议阅读最新版本的 IEC 61508 (IEC 61508-3:2010) 附录 F 的第 3 部分,“在单台计算机上实现软件元素之间不干扰的技术”,它只有 5 页,但信息量很大。它概述了实现具有不同 SIL 级别的软件模块的空间和时间独立性的方法。

如本链接前面所述,PikeOS 和 Vxworks 等操作系统应提供此分区;我知道已通过 IEC 61508 认证的SafeRTOS确实提供了这种类型的分区作为标准。

于 2013-07-25T17:05:07.987 回答
1

您应该查看基于 ARINC 653(和 DO-297)或同等标准的系统。基于分区的操作系统旨在满足这种需求。我的意思是 PikeOS、VxWorks、Integrity ...

于 2011-03-10T01:13:32.740 回答
1

正如我所说:符合 ARINC 653 的 RTOS(用于飞机)正是针对这一目标的。DO-178B(等效于 IEC 61508 或 ISO 26262 或 Def-Stan 55/56)要求分区或不同软件保证级别(对您而言,SIL 级别)之间的空间和时间分段。您可能会为您的特定市场找到等效系统。对于连接不同层次,存在来自低层次和通信渠道的固有困难。您将必须在更高级别的安全性/安全性/可靠性(意味着最难获得)上证明您的系统的确定性。因此,通信不能被阻塞,RTOS 必须经过更高级别的认证,......这在基于分区的 RTOS 中被考虑在内,如 ARINC 653 等效。您也可能在 MILS Linux 或虚拟化系统(= XEN 等虚拟机管理程序,

于 2011-06-14T03:18:03.113 回答
0

您可以组合具有不同 SIL 级别的软件模块,即使独立安全评估员会深入分析您的代码。原理很简单:您必须证明较低的 SIL 模块不能影响较高的 SIL 模块。要实现这一点,您必须记住,较低 SIL 的函数可以调用较高 SIL 的函数,但必须严格避免相反的情况。在这种情况下,要在具有不同 SIL 级别的两个模块之间交换数据,您需要第三个模块,其 SIL 级别等于提供给两个 API 以交换数据的更高级别的模块。示例: - SIL3 任务 (T1) 实施故障安全应用协议。- 一个 SIL0 任务 (T2) 实现 TCP/IP 堆栈,用作应用协议的传输层。当然,T1 和 T2 必须双向交换数据。你需要第三个任务(T3),至少 SIL3,提供任务间通信API(例如一些队列管理功能)。这样无论是 T1 还是 T2 都只调用 T3 的函数(即 SIL3)来交换数据。

这种机制的一个典型例子是所谓的“黑板”,用于航空电子应用。

于 2011-10-05T21:55:35.523 回答