Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| mdd:formal_methods_in_safety_critical_railway [2014/06/03 06:22] – tolmalev | mdd:formal_methods_in_safety_critical_railway [2026/08/29 07:59] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== Formal Methods in Safety-Critical Railway Systems ====== | ||
| + | Thierry Lecomte, Thierry Servat, Guilhem Pouzancre. ClearSy, Aix en Provence, France. In: SBMF 2007 (2007) | ||
| + | |||
| + | ===== Общее описание статьи ===== | ||
| + | |||
| + | В этой статье представлены несколько последних применений B-метода к критичным по безопасности системам, | ||
| + | |||
| + | ===== Введение ===== | ||
| + | |||
| + | B-метод был создан в конце 80х для разработки критичного по надежности программного обеспечения и был успешно применен в индустрии транспорта. Первое успешное применение в реальных условиях было в Парижском метро - были написаны 110000 строк B-моделей и в сгенерированном по ним коде не было найдено ни одной ни одной ошибки после многочисленных проверок. | ||
| + | |||
| + | В середине 90х появились полее широкие возможности использования B. Стало возможно применять его не только для разработки программного обеспечения, | ||
| + | |||
| + | В самой статье рассматриваются различные применения B и насколько успешными были его применения на системном уровне в железнодорожной области. | ||
| + | |||
| + | ===== Критичные к безопасности системы ===== | ||
| + | |||
| + | Определения критичного к безопасности программного обеспечения или системы разделяют общую идею: использование абстракций, | ||
| + | |||
| + | Для каждой модели отдельно проверяется внутренняя корректность каждой отдельной модели и соответствие ее абстракции, | ||
| + | |||
| + | А после этого для всего набора моделей вместе доказывается корректность, | ||
| + | |||
| + | ===== Контролер платформенных раздвижных дверей ===== | ||
| + | |||
| + | Двери на платформах нужны в первую очередь для обеспечения безопасности пасажиров. На ClearSy стояла задача за 10 месяцев разработать контролер, | ||
| + | |||
| + | ===== Разработка ===== | ||
| + | |||
| + | Для достижения требуемого уровня безопасности, | ||
| + | |||
| + | До начала разработки был проведен функциональный анализ системы для оценки полноты и поиска неоднозначностей в поведении. B-метод использовался для | ||
| + | |||
| + | * Проверки на целостной системе (контроллер + двери) того, что все функциональные ограничения и требования безопасности выполняются. | ||
| + | * Наблюдения за опасным поведением системы | ||
| + | |||
| + | Уже на основе этого анализа удалось отказаться от первого варианта решения задачи, | ||
| + | |||
| + | Для второго варианта решения на основе инфракрасных, | ||
| + | |||
| + | Далее все функции контролера были разделены на отдельные состояния (прибытие поезда, | ||
| + | |||
| + | Для каждой стадии и всех вариантов ошибок сенсоров были вычислены вероятности и в дальнейшем проверены в ходе 8-месячного эксперимента. С учетом этих вероятностей модели были модифицированы для достижения требуемого уровня точности. | ||
| + | |||
| + | Итоговые модели были анимированы с помощью [[http:// | ||
| + | |||
| + | После этого по проверенным моделям был сгенерирован исходный код, для которого уже не нужны юнит-тесты, | ||
| + | |||
| + | ===== Заключение ===== | ||
| + | |||
| + | Стояла задача разаботки SIL3-совместимой системы управления платформенными дверьми за 10 месяцев. | ||
| + | |||
| + | Разработка с помощью B-метода позволила прозрачно опробовать несколько вариантов детектирования событий и проверки их с помощью одной функцинальной модели. | ||
| + | |||
| + | По итоговым моделям был сгенерирован 100%-протестированный исходный код, без ошибок (соответствующий спецификации). | ||
| + | |||
| + | За 8 месяцев работы система обработала примерно 96000 поездов, | ||
| + | |||
| + | ===== Ссылки ===== | ||
| + | |||
| + | - [[http:// | ||