COVALUE Telegram 41
Ранее упоминалось, что упор для железнодорожной верификации делается на автоматизированных методах, что соответствует таким направлениям ФМ, как model checking и abstract interpetation. Посмотрим по довольно свежей статье-опроснику Beek et al, [2019] "Adopting Formal Methods in an Industrial Setting: The Railways Case", где и как они применяются.

Заметно, что большая часть усилий идёт на верификацию interlocking систем - это объясняется спецификой темы. Как видно уже из названия таких статей, как
Fantechi, Haxthausen, [2018] "Safety Interlocking as a Distributed Mutual Exclusion Problem", проблематику разрешения конфликтующих маршрутов сводят к уже существующим способам верификации многопоточных/распределенных систем. Т.е., рельсы и составы мыслятся как физический эквивалент потоков исполнения, где аналоги thread interference и race condition приводят к весьма печальным и зрелищным последствиям.

Самым же популярным инструментом, точнее семейством инструментов, выглядит уже упоминавшийся B-method - набор языков спецификации и модел-чекеров, разработка которых началась ещё в 80е в Англии и Франции. Из моделей можно экстрагировать код (в основном, кажется на Ada) - этот процесс называют refinement. B-method широко использовался французами в таких проектах как беспилотная 14я ветка парижского метро и автоматизированные шаттлы в аэропорту Шарль де Голь. По итогам проектов сложился некоторый консенсус по поводу надежности B-моделей, благодаря чему их теперь используют как низкоуровневый формализм, в который транслируют другие модели - например, сети Петри в
Sun, [2016] "Model based system engineering for safety of railway critical systems". Используются и другие инструменты проверки моделей, в частности, NuSMV и Promela/SPIN: https://github.com/jankofron/abz18-casestudy-spin.

В отличие от модел-чекинга, часто используемого для работы со спецификациями, абстрактная интерпретация используется для статического анализа кода. Для safety-critical систем таким кодом часто является C, получаемый из более высокоуровневой программы на датафлоу-языке типа Lustre, которая в свою очередь экстрагируется из Simulink-подобных диаграмм. Пример одновременного использования всех этих инструментов вместе с модел-чекингом можно увидеть в Ferrari et al, [2013] "The Metrô Rio case study". Также об этом рассказывает Xavier Leroy в своей наградной лекции 2016 года "In search of software perfection".

#railway



tgoop.com/covalue/41
Create:
Last Update:

Ранее упоминалось, что упор для железнодорожной верификации делается на автоматизированных методах, что соответствует таким направлениям ФМ, как model checking и abstract interpetation. Посмотрим по довольно свежей статье-опроснику Beek et al, [2019] "Adopting Formal Methods in an Industrial Setting: The Railways Case", где и как они применяются.

Заметно, что большая часть усилий идёт на верификацию interlocking систем - это объясняется спецификой темы. Как видно уже из названия таких статей, как
Fantechi, Haxthausen, [2018] "Safety Interlocking as a Distributed Mutual Exclusion Problem", проблематику разрешения конфликтующих маршрутов сводят к уже существующим способам верификации многопоточных/распределенных систем. Т.е., рельсы и составы мыслятся как физический эквивалент потоков исполнения, где аналоги thread interference и race condition приводят к весьма печальным и зрелищным последствиям.

Самым же популярным инструментом, точнее семейством инструментов, выглядит уже упоминавшийся B-method - набор языков спецификации и модел-чекеров, разработка которых началась ещё в 80е в Англии и Франции. Из моделей можно экстрагировать код (в основном, кажется на Ada) - этот процесс называют refinement. B-method широко использовался французами в таких проектах как беспилотная 14я ветка парижского метро и автоматизированные шаттлы в аэропорту Шарль де Голь. По итогам проектов сложился некоторый консенсус по поводу надежности B-моделей, благодаря чему их теперь используют как низкоуровневый формализм, в который транслируют другие модели - например, сети Петри в
Sun, [2016] "Model based system engineering for safety of railway critical systems". Используются и другие инструменты проверки моделей, в частности, NuSMV и Promela/SPIN: https://github.com/jankofron/abz18-casestudy-spin.

В отличие от модел-чекинга, часто используемого для работы со спецификациями, абстрактная интерпретация используется для статического анализа кода. Для safety-critical систем таким кодом часто является C, получаемый из более высокоуровневой программы на датафлоу-языке типа Lustre, которая в свою очередь экстрагируется из Simulink-подобных диаграмм. Пример одновременного использования всех этих инструментов вместе с модел-чекингом можно увидеть в Ferrari et al, [2013] "The Metrô Rio case study". Также об этом рассказывает Xavier Leroy в своей наградной лекции 2016 года "In search of software perfection".

#railway

BY Covalue




Share with your friend now:
tgoop.com/covalue/41

View MORE
Open in Telegram


Telegram News

Date: |

1What is Telegram Channels? During the meeting with TSE Minister Edson Fachin, Perekopsky also mentioned the TSE channel on the platform as one of the firm's key success stories. Launched as part of the company's commitments to tackle the spread of fake news in Brazil, the verified channel has attracted more than 184,000 members in less than a month. Joined by Telegram's representative in Brazil, Alan Campos, Perekopsky noted the platform was unable to cater to some of the TSE requests due to the company's operational setup. But Perekopsky added that these requests could be studied for future implementation. A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more. Over 33,000 people sent out over 1,000 doxxing messages in the group. Although the administrators tried to delete all of the messages, the posting speed was far too much for them to keep up.
from us


Telegram Covalue
FROM American