Вы можете комбинировать модули SW с различным уровнем SIL, даже если Независимый Оценщик Безопасности глубоко проанализирует ваш код.Принцип прост: вы должны продемонстрировать, что более низкий модуль SIL не может влиять на больший модуль SIL.Чтобы достичь этого, вы должны иметь в виду, что функция с низким SIL может вызывать функцию с большим SIL, но следует строго избегать обратного.В этом сценарии для обмена данными между двумя модулями с различным уровнем SIL необходим третий модуль с уровнем SIL, равным более высокому, который предоставляет обоим API для обмена данными.Пример: - задача SIL3 (T1) реализует отказоустойчивый прикладной протокол.- задача SIL0 (T2) реализует стек TCP / IP, используемый в качестве транспортного уровня протокола приложения.Конечно, T1 и T2 должны обмениваться данными в обоих направлениях.Вам нужна третья задача (T3), по крайней мере, SIL3, которая обеспечивает API взаимодействия между задачами (например, некоторые функции управления очередями).Таким образом, либо T1, чем T2 вызывают только функции T3 (то есть SIL3) для обмена данными.
Типичным примером такого рода механизма является так называемая «доска», используемая в приложении авионики.1003 *