- BrainTools - https://www.braintools.ru -

Проектирование архитектуры в нотации ArchiMate с использованием ИИ. Часть 2

“Процесс проектирования любой системы, предназначенной для решения определенных задач, начинается с определения того, что надо спроектировать.”, Крэг Ларман (Craig Larman).

Всем привет! Меня зовут Владимир Зуев, я руководитель разработки JAVA-практики в компании Axenix. Сегодня я хочу представить новую часть из цикла статей о нотации ArchiMate. В прошлой части мы познакомились с ArchiMate и начали проектировать систему управления беспилотным грузовым автотранспортом для междугородних перевозок [1]. В этой части мы продолжим выполнение данной задачи.

Полностью разделяю мнение Крэга Лармана, автора книги «Применение UML 2.0 и шаблонов проектирования»: нельзя приступать к проектированию (а значит, и к рассмотрению бизнес-слоя), не имея чёткого понимания того, что же мы хотим получить. Поэтому сегодня мы попытаемся получить ответ на этот вопрос. В данной части работы акцент будет сделан на сбор, систематизацию и осмысление требований. Для этого мы подробно разберём требования к системе, составим перечень прецедентов использования c использованием обратного инжиниринга требований, а также сформируем техническое задание. Для решения всех задач будем использовать ИИ.

Осмысление требований

Cбор и систематизация требований при разработке информационной системы – это фундамент, на котором строится весь проект. Ошибки [2] на этом этапе самые дорогие. Закон Бёма (Boehm’s Law) гласит, что стоимость исправления ошибки экспоненциально растет по мере продвижения проекта:

  • ошибка в требованиях, найденная на этапе анализа, стоит 1 условную единицу;

  • найденная на этапе проектирования — уже 3–6 единиц;

  • на этапе тестирования — 10–20 единиц;

  • в работающей системе (после внедрения) — 60–100 единиц и выше.

Так что гораздо дешевле потратить немного времени на уточнение требований в начале, чем переписывать систему после релиза.

Основная этапа определения требований – найти и зафиксировать что же должна делать система. В разработке информационных систем требования принято делить на три основные категории:

  • функциональные — конкретные действия системы (формируются через модель прецедентов);

  • нефункциональные — требования к надежности и качеству (влияют на архитектуру);

  • ограничения — жесткие рамки, которые система не может нарушать (их анализ порождает новые функциональные требования).

В идеальном мире функциональные требования должны формироваться из прецедентов. Прецеденты важны, потому что они связывают требования с реальными нуждами — каждый прецедент показывает, зачем системе нужна та или иная функция. Один прецедент как правило порождает несколько функциональных требований (кнопка, связь, алгоритм торможения, индикация, запись в лог, отказоустойчивость и т.д).

В кастомной разработке часто встречается другой подход – вы получаете от заказчика уже готовый список требований — часто в виде таблиц, нормативных ссылок или длинного текста. Особенно часто это встречается в государственных или крупных корпоративных проектах). И вам нужно обратным ходом восстановить прецеденты, чтобы:

  • понять логику [3] заказчика;

  • проверить полноту сценариев;

  • подготовить основу для тестирования.

Описанный метод называется «обратный инжиниринг требований» (Requirements Reverse Engineering) или «извлечение прецедентов из требований» (Use Case Discovery from Requirements).

Поэтому в данной работе мы пойдем именно этим путем – на основе требований выделим прецеденты. В основном, это функциональные требования, указывающие на то, что должна делать система. Однако остальные типы тоже могут быть связаны с прецедентами. В процессе проработки прецедентов так же осуществляется уточнение требований. Требования в основном формулируются при описании прецедентов, но в нашем случае существует нормативно-правовая база. Так что переходим к анализу имеющихся исходных данных, а потом на их основе сформируем список прецедентов.

Анализ нормативных документов

Как было сказано в первой части, уже вышел проект закона, полное название которого звучит так: Федеральный закон «О высокоавтоматизированных транспортных средствах и о внесении изменений в отдельные законодательные акты Российской Федерации» (ВАТС).

Закон о ВАТС закрепит права и ответственность участников движения при эксплуатации беспилотных автомобилей и заменит собой все временные регламенты.

Попробуем проанализировать проект ФЗ на предмет важных требований, которые необходимо учитывать при разработке системы управления и мониторинга. Полный текст проекта ФЗ можно найти на сайте ОАО «Научно-исследовательский институт автомобильного транспорта» [4]. Первая мысль, которая возникает после открытия файла – “Как много букв…”.

Попробуем ускорить дело, проанализировав файл с помощью GenIA. Загрузим файл проекта в GenAI и выполним следующий промпт:

Проанализируй требования из PDF файла. Приведи список требований к оператору беспилотной грузовой перевозки

Ответ GenAI:

На основе анализа представленного проекта Федерального закона «О высокоавтоматизированных транспортных средствах…», ниже приведен сводный перечень требований и обязанностей, которые законопроект возлагает на оператора сервисного обслуживания (именно этот субъект правоотношений выполняет функции, схожие с оператором беспилотной грузовой перевозки в части контроля за техническим состоянием и дистанционного взаимодействия с ВАТС).

Следует учитывать, что законопроект разделяет понятия «водитель» (лицо в салоне, активирующее систему) и «оператор сервисного обслуживания» (юрлицо/ИП, осуществляющее дистанционный контроль, активацию режимов и ремонт). Для целей беспилотной грузовой перевозки, где водитель в кабине может отсутствовать (ч. 2 ст. 12), именно оператор сервисного обслуживания становится ключевым субъектом обеспечения безопасности движения.

1. Организационно-правовые и лицензионные требования

Требование

Основание в тексте PDF

1.1

Наличие лицензии. Деятельность по сервисному обслуживанию ВАТС подлежит обязательному лицензированию.

Ст. 15, ч. 3

1.2

Включение в Реестр. Оператор должен быть включен в Реестр операторов сервисного обслуживания Единой автоматизированной информационной системы ВАТС.

Ст. 20, ч. 2

1.3

Квалификация персонала. Наличие в штате техников-мехатроников, соответствующих установленным квалификационным требованиям и внесенных в Единый реестр техников-мехатроников.

Ст. 2 (определение), Ст. 7 п. 11, Ст. 20 ч. 3

1.4

Наличие производственно-технической базы. Соответствие пунктов сервисного обслуживания установленным требованиям к зданиям, оборудованию и программно-аппаратным средствам.

Ст. 2 (определение), Ст. 15 ч. 3

2. Функциональные обязанности при эксплуатации (управление движением)

Требование

Основание в тексте PDF

2.1

Активация и дезактивация режима. Исключительное право (и обязанность при необходимости) осуществлять активацию и дезактивацию беспилотного (автоматизированного) режима движения.

Ст. 11, Ст. 13 п. 13

2.2

Дистанционное управление после дезактивации. При отключении автоматического режима (например, при выезде из ОДД или нештатной ситуации) оператор обязан взять управление на себя или обеспечить безопасную остановку.

Ст. 11, Ст. 13 п. 14

2.3

Контроль среды штатной эксплуатации (ОДД). Запрет активации и обеспечение прекращения автоматического движения, если ТС выходит за пределы установленной среды штатной эксплуатации (участка дороги, погодных условий, для которых сертифицирована система).

Ст. 25, ч. 5

2.4

Реагирование [5] на нештатные ситуации. При получении сигнала от системы о неисправности или ДТП техник-мехатроник обязан:
• Деактивировать режим автоматического управления.
• Установить связь с находящимися в ТС людьми.
• Принять меры для обеспечения безопасности движения.
• Организовать прекращение эксплуатации при угрозе безопасности.

Ст. 26 (стр. 49, ч. 4)

2.5

Проверка и настройка систем. Проведение плановых и внеплановых проверок работоспособности, настройки и корректировки режимов автоматизированной системы вождения (как дистанционно, так и непосредственно).

Ст. 11, Ст. 25 ч. 5

2.6

Информирование пользователя. При ручном режиме управления (если в ТС есть водитель-испытатель) оператор обязан незамедлительно извещать его о любых сбоях в работе автоматики.

Ст. 25, ч. 5

3. Технические и программные требования

Требование

Основание в тексте PDF

3.1

Обновление ПО. Обеспечение своевременной установки обновлений программного обеспечения автоматизированной системы вождения (в соответствии с регламентом изготовителя и требованиями информационной безопасности).

Ст. 11, Ст. 12 ч. 11

3.2

Соблюдение регламентов изготовителя. Проведение технического обслуживания и ремонта строго в соответствии с нормами, правилами и процедурами, установленными изготовителем ВАТС (сервисная книжка).

Ст. 15, ч. 2

3.3

Ведение учета. Внесение записей о проведенных сервисных обслуживаниях в сервисную книжку и передача сведений в Единую информационную систему ВАТС.

Ст. 25, ч. 5, Ст. 26 (стр. 49)

3.4

Обеспечение связи. Обеспечение функционирования двусторонней голосовой связи с ВАТС и кнопки экстренного вызова (ЭРА-ГЛОНАСС).

Ст. 12, ч. 6, Ст. 13 п. 9

4. Требования информационной безопасности и отчетности

Требование

Основание в тексте PDF

4.1

Конфиденциальность. Запрет на передачу информации, полученной в результате рабочей деятельности, третьим лицам без согласия обладателя.

Ст. 25, ч. 6 п. 5

4.2

Передача данных в госорганы. Обязанность передавать данные о ДТП, деактивациях систем, неисправностях и иную информацию в Единую автоматизированную информационную систему ВАТС.

Ст. 20, Ст. 25 ч. 5

4.3

Защита от кибератак. Обеспечение мер защиты от неправомерного доступа, перехвата управления и радиоэлектронного подавления.

Ст. 24

4.4

Прекращение эксплуатации. При получении уведомления от изготовителя о запрете эксплуатации (отзывная кампания) или выявлении критической неисправности, оператор обязан немедленно прекратить эксплуатацию ТС.

Ст. 25, ч. 5

5. Ответственность оператора

Вид ответственности

Основание в тексте PDF

5.1

За качество работ. Оператор несет ответственность за качество технического обслуживания и ремонта, а также за соблюдение технологии обновления ПО.

Ст. 22, ч. 6 (стр. 53)

5.2

За безопасность. Ответственность за нарушение правил эксплуатации ВАТС в зоне своей ответственности (включая активацию режима вне ОДД).

Ст. 21-22

5.3

За непредоставление сведений. Ответственность за непредставление или искажение сведений, подлежащих внесению в Единую информационную систему ВАТС.

Ст. 22, ч. 6

Резюме для оператора грузовой перевозки

Согласно данному законопроекту, оператор беспилотной перевозки (в терминологии документа — оператор сервисного обслуживания) фактически выполняет роль внешнего экипажа для беспилотного грузовика. Он должен:

Иметь лицензию и аттестованного техника-мехатроника.

Дистанционно разрешать старт и принудительно останавливать машину в случае сбоя.

Следить за тем, чтобы грузовик не покинул разрешенную зону эксплуатации (геозону).

Оперативно обновлять защищенное программное обеспечение.

Неплохо. Мы получили перечень ключевых моментов, которые необходимо заложить при проектировании. В проекте закона определено две роли оператора: оператор инфраструктуры и оператор беспилотной грузовой перевозки. Первая роль отвечает за дорожную инфраструктуру. Вероятно, это будет компания Автодор. Вторая роль относится к транспортным компаниям. Мы получили выборку требований, относящуюся именно к ним. Но это явно не все требования, которые необходимо знать. Попробуем уточнить:

Какие требования предъявляются к интерфейсу пользователя?

Ответ GenAI:

Согласно проекту Федерального закона, требования к интерфейсу пользователя (в тексте документа он именуется «Блок интерфейса пользователя в салоне высокоавтоматизированного транспортного средства») подробно изложены в Статье 12, частях 4, 5 и 6.

Ниже приведен структурированный перечень обязательных требований к данному блоку, который должен быть установлен в салоне транспортного средства.

1. Информационные функции (что должен показывать и сообщать)

Блок интерфейса обязан обеспечивать информирование пользователя (пассажира или водителя-испытателя) о следующих параметрах и событиях:

Функция / Требование

1.1

Идентификация ТС: Индикация информации о марке, модели и государственном регистрационном знаке ВАТС.

1.2

Построение маршрута: Возможность задания пользователем пункта назначения и маршрута к нему.

1.3

Запуск двигателя: Возможность запуска двигателя пользователем (опционально, если это предусмотрено конструкцией).

1.4

Статус движения: Информирование о начале движения и отслеживание движения по маршруту.

1.5

Дорожная обстановка: Оперативное информирование о дорожно-транспортной ситуации.

1.6

Изменение маршрута: Возможность изменения маршрута пользователем в пути и уведомление о таком изменении.

1.7

Статус автопилота: Информирование о фактическом статусе функционирования автоматизированной системы вождения (активна/неактивна/ошибка).

1.8

Предупреждение о выходе из ОДД: Аварийная сигнализация о том, что система выходит за пределы установленной среды штатной эксплуатации (например, покидает разрешенную геозону или попадает в неподходящую погоду).

1.9

Отмена поездки: Информирование о невозможности продолжения перевозки до пункта назначения с указанием причин.

1.10

Завершение поездки: Информирование о достижении места назначения.

2. Органы управления и элементы физического интерфейса

Блок интерфейса должен содержать конкретные физические (или четко обозначенные виртуальные) элементы управления:

Элемент

Описание и требования

2.1

Кнопка «Экстренный вызов»

Должна иметь конструктивную защиту от непреднамеренного нажатия. Обеспечивает двустороннюю голосовую связь с экстренными службами (система ЭРА-ГЛОНАСС).

2.2

Кнопка вызова оператора

Обеспечивает двустороннюю голосовую связь с оператором сервисного обслуживания (диспетчером/техником-мехатроником).

2.3

Индикаторы состояния

Визуальное отображение состояния устройства вызова экстренных служб (например, готовность, ошибка, связь).

2.4

«Красная кнопка»

Орган аварийного отключения. Предназначена для экстренного отключения автоматизированной системы вождения и остановки транспортного средства.

3. Специальные требования доступности (Инклюзивность)

Отдельное внимание [6] уделяется доступности интерфейса для маломобильных групп населения:

Требование

3.1

Адаптивный человеко-машинный интерфейс: Интерфейс должен обеспечивать взаимодействие с людьми с ограниченными возможностями.

3.2

Способы взаимодействия: Взаимодействие должно быть реализовано посредством:
• Визуальных сообщений;
• Голосовых сообщений;
• Сенсорных экранов с обратной связью (тактильная отдача).

4. Общие функциональные требования безопасности

Помимо конкретных кнопок, интерфейс в целом должен поддерживать выполнение следующих критических сценариев, заложенных в логику автоматизированной системы (Ст. 13):

  • Распознавание сигналов регулировщика (ч. 2 п. 6) — интерфейс должен корректно интерпретировать и отображать статус «внимание, ручное управление/остановка по требованию».

  • Уведомление о переходе на ручное управление (ч. 2 п. 12) — при воздействии водителя на органы управления (если они есть) интерфейс должен отобразить переход в ручной режим.

  • Уведомление о безопасной остановке (ч. 2 п. 14) — при деактивации режима оператором сервисного обслуживания интерфейс должен проинформировать пассажира о возможности безопасно покинуть ТС.

Итак, мы получили список требований, сгруппированных по категориям. Теперь мы знаем требования, зафиксированные в нормативных документах.

Отдельно в проекте ФЗ закреплен блок мониторинга и дистанционной поддержки, в соответствии с которым контроль состояния ВАТС и параметров функционирования АСВ осуществляется в реальном времени при непосредственном участии оператора дистанционной поддержки. В частности, он может активировать или деактивировать АСВ, корректировать маршрут, запускать манёвр минимального риска и ограничивать движение. Оператор также обязан выполнять требования контролирующих органов об ограничении или приостановке эксплуатации ВАТС, а в случае ДТП — оперативно информировать ГИБДД и вызывать соответствующие службы при наличии пострадавших.

Анализ требований

Мы получили требования, теперь попробуем их систематизировать. В первую очередь нас интересуют функциональные требования, поскольку они описывают задачи, решаемые системой. На основе этих требований далее получим список прецедентов. Выполним следующий промпт:

Необходимо систематизировать требования из загруженного PDF, а также разделить их по категориям:

– функциональные

– нефункциональные

– ограничения

Ответ GenAI:

Ниже представлена систематизация ваших требований по трём категориям. Повторения [7] устранены, формулировки приведены к краткому тезисному виду.

Функциональные требования (что должна делать система)

Управление режимами движения:

  • Активация и дезактивация автоматизированного режима движения.

  • Дистанционное управление ТС после дезактивации автопилота (в нештатных ситуациях).

  • Экстренное отключение автоматизированной системы вождения и остановка ТС («красная кнопка»).

Контроль и мониторинг:

  • Контроль нахождения ТС в разрешённой среде эксплуатации (геозона, погодные условия). Запрет активации или прекращение движения при выходе за границы.

  • Реагирование на нештатные ситуации: деактивация режима, связь с находящимися в ТС людьми, меры по обеспечению безопасности, прекращение эксплуатации при угрозе.

Информирование пользователя (интерфейс в салоне):

  • Отображение марки, модели и госномера ТС.

  • Задание пункта назначения, построение и изменение маршрута.

  • Информирование о начале движения, ходе поездки, прибытии.

  • Отображение статуса автопилота (активен/неактивен/ошибка).

  • Аварийная сигнализация при выходе из разрешённой среды эксплуатации.

  • Сообщение о невозможности завершить поездку с указанием причин.

  • Информирование о дорожно-транспортной ситуации.

  • Уведомление о переходе на ручное управление.

  • Уведомление о безопасной остановке (возможность покинуть ТС).

Связь и вызовы:

  • Обеспечение двусторонней голосовой связи с экстренными службами (кнопка «Экстренный вызов» с защитой от случайного нажатия).

  • Обеспечение двусторонней голосовой связи с оператором сервисного обслуживания.

  • Отображение состояния устройства вызова экстренных служб (готовность, ошибка, связь).

Обслуживание и учёт:

  • Проведение плановых и внеплановых проверок работоспособности, настройка автоматизированной системы вождения.

  • Внесение записей о сервисных обслуживаниях в сервисную книжку.

  • Передача сведений о ДТП, деактивациях, неисправностях в Единую автоматизированную информационную систему ВАТС.

Доступность:

  • Обеспечение взаимодействия с людьми с ограниченными возможностями здоровья через визуальные, голосовые сообщения и сенсорные экраны с тактильной обратной связью.

Нефункциональные требования (качества и атрибуты)

Безопасность (эксплуатационная):

  • Недопущение эксплуатации при наличии запрещающих движение неисправностей.

  • Немедленное прекращение эксплуатации при выявлении технических неисправностей, создающих угрозу безопасности.

  • При получении уведомления от изготовителя о запрете эксплуатации (отзывная кампания) или критической неисправности — немедленная остановка.

Информационная безопасность:

  • Защита от неправомерного доступа, перехвата управления и радиоэлектронного подавления.

  • Защита данных от уничтожения, изменения или распространения.

  • Постоянный контроль уровня защищённости информации.

  • Конфиденциальность: запрет передачи информации третьим лицам без согласия обладателя.

Надёжность и качество:

  • Соответствие технического состояния ТС требованиям законодательства РФ о безопасности дорожного движения.

  • Обеспечение своевременной установки обновлений ПО (в том числе для устранения киберугроз) по регламенту изготовителя.

  • Соблюдение порядка обновления ПО, утверждённого производителем.

  • Качество работ по ТО и ремонту, соблюдение технологий обслуживания ПО.

Эксплуатационная пригодность:

  • Обеспечение функционирования двусторонней голосовой связи и кнопки экстренного вызова.

  • Наличие в штате техников-мехатроников с соответствующей квалификацией (внесённых в Единый реестр).

Ограничения (жёсткие рамки, которые система не может нарушать)

Правовые и лицензионные:

  • Наличие лицензии на деятельность по сервисному обслуживанию ВАТС.

  • Включение оператора в Реестр операторов сервисного обслуживания Единой автоматизированной информационной системы ВАТС.

  • Обязательное оформление ОСАГО в соответствии с ФЗ № 40-ФЗ.

Организационно-технические:

  • Наличие производственно-технической базы, соответствующей требованиям к зданиям, оборудованию и программно-аппаратным средствам.

  • Проведение ТО и ремонта строго в соответствии с нормами и процедурами изготовителя ВАТС (сервисная книжка).

  • Обязательная передача данных в госорганы (Единую автоматизированную информационную систему ВАТС).

Эксплуатационные запреты:

  • Запрет активации автоматического режима при выходе ТС за пределы установленной среды штатной эксплуатации.

  • Запрет на передачу информации третьим лицам без согласия обладателя.

  • Недопущение эксплуатации при наличии неисправностей, запрещающих движение.

Ответственность (юридические ограничения):

  • Ответственность оператора за качество ТО, ремонта и соблюдение технологии обновления ПО.

  • Ответственность за нарушение правил эксплуатации ВАТС в зоне своей ответственности.

  • Ответственность за непредоставление или искажение сведений, подлежащих внесению в Единую информационную систему.

Мы систематизировали требования, разбросанные по разным разделам ВАТС. Такой вид прекрасно подходит для технического задания, по сути являясь основой данного документа.

Функциональные требования:

  • управление автопилотом (активация/деактивация/экстренная остановка);

  • контроль геозоны;

  • информирование пассажира (статус, маршрут, предупреждения);

  • двусторонняя связь (экстренная и с оператором);

  • ведение учёта обслуживания;

  • передача данных в госорганы;

  • доступность для людей с ограниченными возможностями здоровья (ОВЗ).

Нефункциональные требования:

  • защита от кибератак и перехвата управления;

  • конфиденциальность данных;

  • своевременное обновление программного обеспечения;

  • квалифицированный персонал;

  • контроль уровня защищённости;

  • немедленная остановка при угрозе.

Ограничения:

  • наличие лицензии и включение в реестр;

  • соответствие базе требованиям законодательства;

  • привязка к регламентам изготовителя;

  • обязательное страхование гражданской ответственности (ОСАГО);

  • юридическая ответственность оператора.

С требованиями разобрались, теперь разберем ограничения.

Ограничения и границы задачи

Основным ограничением, которое необходимо учитывать при разработки нашей системы является тот факт, что транспортное средство является источником повышенной опасности. Этот факт диктует особые требования к надежности системы. Более того, согласно ВАТС, разработчик ПО несет ответственность за ДТП, в случае если оно было совершено в результате программной ошибки. В проекте ФЗ появилась важная деталь – определена ответственностью за ДТП с беспилотным транспортом. Если сейчас в случае ДТП могут быть виноваты только водители или производители, то с принятием ФЗ о ВАТС круг ответственных лиц существенно расширится. В том числе ответственность будет нести и оператор. Согласно проекту ФЗ оператор дистанционной поддержки будет нести ответственность в случае неисполнения им операторских обязанностей.

Кроме того, в текущей геополитической обстановке периодическое отсутствие мобильного интернета в отдельных района стало нормой, а спутниковая навигация нельзя часто дает сбои. Обычный путь из дома на работу, согласно встроенной навигации, может выглядеть следующим образом.

Проектирование архитектуры в нотации ArchiMate с использованием ИИ. Часть 2 - 1

Если же ориентироваться по навигатору при перемещении между регионами, то можно обнаружить, что определяемые координаты могут отличаться от реального местоположения на десятки километров.

В приведенном выше анализе есть важное требование – запрет активации автоматического режима при выходе ТС за пределы установленной среды штатной эксплуатации.

Если полагаться только на спутниковую навигацию, до данное требование не выполнимо в секущих условиях. Из этого ограничения вытекает новое функциональное требование – определение геоположения на основе визуальной информации.

К границам задачи можно отнести роль оператора беспилотной грузовой перевозки. В данной работе не будет рассматриваться роль оператора инфраструктуры, а также управление непосредственно транспортной единицей. Такие системы уже существуют и успешно развиваются.

Дальнейшее проектирование будет опираться на функциональные требования. Мы не будем рассматривать юридические аспекты и вопросы безопасности, сконцентрировавшись на функциях системы.

Прецеденты

Прецеденты (варианты использования) — это инструмент, который упрощает формулировку требований для всех заинтересованных лиц. По сути, это рассказы об использовании системы для решения поставленных задач. Прецеденты описывают сценарии взаимодействия между пользователем и системой. На этапе их определения система рассматривается как «чёрный ящик»: мы не пытаемся заглянуть внутрь, а сосредотачиваемся на том, какие задачи должна решать система и какие цели достигать с её помощью.

Итак, выявим перечень прецедентов методом обратного инжиниринга требований. Обычно этот метод выполняется путём анализа и группировки требований, что может занимать значительное время. Использование искусственного интеллекта [8] позволяет ускорить этот процесс — достаточно выполнить следующий промпт:

Определи основных исполнителей для прецедентов в соответствии с полученным списком требований.

Ответ GenAI:

Ниже представлен список основных исполнителей (акторы).

Акторы (исполнители)

Актор

Описание

Пассажир

Лицо, находящееся в ТС (может не иметь навыков управления)

Водитель-испытатель

Лицо, находящееся в ТС, способное взять ручное управление

Оператор сервисного обслуживания

Удалённый оператор (техник-мехатроник), управляющий ТС и обслуживающий его

Изготовитель / Дилер

Ответственный за обновления ПО и отзывные кампании

Экстренные службы

Внешние службы (112, скорая, МЧС, полиция)

Единая информационная система ВАТС

Государственная автоматизированная система сбора данных

Система (автоматика)

Сама автоматизированная система вождения (выполняет действия без участия человека)

Составь список прецедентов для актора «Оператор сервисного обслуживания» в соответствии с полученным списком требований. Другие прецеденты не нужны. Уточнение: В ТС нет ни пассажиров, ни водителя-испытателя.

Ответ GenAI:

Ниже представлен только список прецедентов для актора «Оператор сервисного обслуживания» (техник-мехатроник), где один прецедент покрывает сразу несколько функциональных требований. Прецеденты сгруппированы по функциональным блокам.

Прецеденты оператора сервисного обслуживания (полностью беспилотный автомобиль)

Актор: Оператор сервисного обслуживания (техник-мехатроник)

Уточнение: В ТС нет ни пассажиров, ни водителя-испытателя. Все взаимодействия — только между оператором, системой ТС, внешними службами и госорганами.

Группа 1. Управление движением

UC‑O‑1. Управление автоматизированным режимом

Описание: Оператор управляет включением и выключением автопилота, перехватывает управление при необходимости.

Какие требования покрывает:

  • Активация автоматизированного режима движения

  • Деактивация автоматизированного режима движения

  • Дистанционное управление ТС после дезактивации автопилота

  • Контроль нахождения ТС в разрешённой среде эксплуатации (частично)

UC‑O‑2. Экстренное вмешательство

Описание: Оператор выполняет аварийную остановку при угрозе или по требованию системы.

Какие требования покрывает:

  • Экстренное отключение автоматизированной системы вождения («красная кнопка»)

  • Немедленное прекращение эксплуатации при выявлении угрозы

  • Реагирование на нештатные ситуации (деактивация режима, меры безопасности)

Группа 2. Мониторинг и безопасность

UC‑O‑3. Контроль среды эксплуатации

Описание: Оператор отслеживает соблюдение геозоны, погодных условий и других ограничений.

Какие требования покрывает:

  • Контроль нахождения ТС в разрешённой среде эксплуатации

  • Запрет активации или прекращение движения при выходе за границы ОДД

  • Запрет активации автоматического режима при выходе за пределы ОДД (ограничение)

UC‑O‑4. Обработка нештатной ситуации

Описание: Оператор получает сигнал от системы, анализирует ситуацию и принимает меры.

Какие требования покрывает:

  • Реагирование на нештатные ситуации (деактивация, меры безопасности, прекращение эксплуатации)

  • Получение уведомления от системы о нештатной ситуации

  • Принятие мер по обеспечению безопасности при угрозе

  • Прекращение эксплуатации ТС при выявлении угрозы

UC‑O‑5. Вызов экстренных служб

Описание: Оператор инициирует вызов 112 при ДТП или критической ситуации.

Какие требования покрывает:

  • Обеспечение двусторонней голосовой связи с экстренными службами (через оператора)

  • Вызов экстренных служб при необходимости

  • Взаимодействие с экстренными службами

Группа 3. Обслуживание и учёт

UC‑O‑6. Диагностика и настройка системы

Описание: Оператор проводит плановые и внеплановые проверки, настройку автоматизированной системы вождения.

Какие требования покрывает:

  • Проведение плановых проверок работоспособности

  • Проведение внеплановых проверок и настройки

  • Качество работ по ТО и соблюдение технологий (нефункциональное)

UC‑O‑7. Учёт обслуживания

Описание: Оператор фиксирует факты обслуживания и передаёт данные в госорганы.

Какие требования покрывает:

  • Внесение записей о сервисных обслуживаниях в сервисную книжку

  • Передача сведений о ДТП в Единую информационую систему ВАТС

  • Передача сведений о деактивациях и неисправностях в ЕИС ВАТС

  • Обязательная передача данных в госорганы (ограничение)

UC‑O‑8. Обновление программного обеспечения

Описание: Оператор обеспечивает установку обновлений ПО по регламенту изготовителя.

Какие требования покрывает:

  • Обеспечение своевременной установки обновлений ПО

  • Соблюдение порядка обновления ПО, утверждённого производителем

  • Установка обновлений ПО на ТС

Группа 4. Информационная безопасность

UC‑O‑9. Обеспечение конфиденциальности данных

Описание: Оператор соблюдает режим неразглашения информации о перевозке.

Какие требования покрывает:

  • Конфиденциальность: запрет передачи информации третьим лицам

  • Запрет на передачу информации третьим лицам без согласия обладателя (ограничение)

UC‑O‑10. Реагирование на угрозы информационной безопасности

Описание: Оператор принимает меры при подозрении на кибератаку или перехват управления.

Какие требования покрывает:

  • Защита от неправомерного доступа, перехвата управления и радиоэлектронного подавления (контроль со стороны оператора)

Группа 5. Взаимодействие с изготовителем

UC‑O‑11. Обработка отзывной кампании

Описание: Оператор получает уведомление от изготовителя о запрете эксплуатации и останавливает ТС.

Какие требования покрывает:

  • При получении уведомления от изготовителя о запрете эксплуатации — немедленная остановка

  • Получение уведомления от изготовителя о запрете эксплуатации (отзывная кампания)

UC‑O‑12. Получение и установка критических обновлений

Описание: Оператор получает уведомление от изготовителя о необходимости срочного обновления и устанавливает его.

Какие требования покрывает:

  • Обеспечение своевременной установки обновлений ПО (в том числе для устранения киберугроз)

  • Установка обновления ПО на ТС

Сводная таблица (12 прецедентов вместо 22)

Прецедент

Количество покрытых требований

UC‑O‑1

Управление автоматизированным режимом

4

UC‑O‑2

Экстренное вмешательство

3

UC‑O‑3

Контроль среды эксплуатации

3

UC‑O‑4

Обработка нештатной ситуации

4

UC‑O‑5

Вызов экстренных служб

3

UC‑O‑6

Диагностика и настройка системы

3

UC‑O‑7

Учёт обслуживания

4

UC‑O‑8

Обновление программного обеспечения

3

UC‑O‑9

Обеспечение конфиденциальности данных

2

UC‑O‑10

Реагирование на угрозы ИБ

1

UC‑O‑11

Обработка отзывной кампании

2

UC‑O‑12

Получение и установка критических обновлений

2

Краткий перечень (12 прецедентов)

  • Управление автоматизированным режимом

  • Экстренное вмешательство

  • Контроль среды эксплуатации

  • Обработка нештатной ситуации

  • Вызов экстренных служб

  • Диагностика и настройка системы

  • Учёт обслуживания

  • Обновление программного обеспечения

  • Обеспечение конфиденциальности данных

  • Реагирование на угрозы информационной безопасности

  • Обработка отзывной кампании

  • Получение и установка критических обновлений

В результате выполнения промпта мы получили список прецедентов. Приведем их перечень еще раз:

  1. Управление автоматизированным режимом.

  2. Экстренное вмешательство.

  3. Контроль среды эксплуатации.

  4. Обработка нештатной ситуации.

  5. Вызов экстренных служб.

  6. Диагностика и настройка системы.

  7. Учёт обслуживания.

  8. Обновление программного обеспечения.

  9. Обеспечение конфиденциальности данных.

  10. Реагирование на угрозы информационной безопасности.

  11. Обработка отзывной кампании.

  12. Получение и установка критических обновлений.

Все прецеденты покрывают от одного до четырех требований. Кроме того, для каждого прецедента подробно описано как он связан с покрываемыми требованиями. Работа, которая могла занять целый день выполнена за минуту.

Корректируем слой стратегий

Мы проанализировали имеющиеся у нас требования, разобрали ограничения и сформулировали перечень интересующих нас прецедентов. В первой части мы получили слой стратегий, но на нем отражено много информации, выходящей за рамки задачи. Теперь вернемся к слою стратегии и попробуем отобразить на нем полученные результаты, а также убрать лишнюю информацию. Выполним следующий промпт:

Скорректируй схему слоя стратегий с учетом полученных прецедентов. Лишнее убери. Приведи полный код схемы.

Ответ GenAI:

Вот полный код обновлённой стратегической схемы с добавленными элементами для Оператора сервисного обслуживания:

plantuml

@startuml
!include <archimate/Archimate>
 
title Стратегический слой: Управление беспилотным грузовым автотранспортомn(Оператор сервисного обслуживания)
 
' ============================================================
' МОТИВАЦИОННЫЙ СЛОЙ
' ============================================================
 
' Стейкхолдер
Motivation_Stakeholder(st_operator, "Оператор сервисного обслуживания")
 
' Драйверы
Motivation_Driver(drv_shortage, "Дефицит водителей")
Motivation_Driver(drv_safety_reg, "Требования безопасности")
Motivation_Driver(drv_competition, "Конкуренция")
Motivation_Driver(drv_data_reg, "Требования к отчётностиnперед регулятором")
 
' Оценки
Motivation_Assessment(asm_accidents, "Высокая аварийность ночью")
Motivation_Assessment(asm_tech, "Технологическая зрелость")
Motivation_Assessment(asm_insurance, "Рост стоимости страховки")
Motivation_Assessment(asm_data_risks, "Риски утечки данныхnо перевозках")
 
' ============================================================
' ЦЕЛИ
' ============================================================
Motivation_Goal(g_safety, "G1: Безаварийная эксплуатация")
Motivation_Goal(g_efficiency, "G2: Экономическая эффективность")
Motivation_Goal(g_scalability, "G4: Масштабируемость")
Motivation_Goal(g_compliance, "G5: Соответствие требованиям регулятора")
Motivation_Goal(g_data_security, "G6: Конфиденциальность данных")
 
' Подцели
Motivation_Goal(g_safety_reduction, "↓ ДТП на 90%")
Motivation_Goal(g_safety_scenarios, "Безопасность при нештатных сценариях")
Motivation_Goal(g_cost_reduction, "↓ стоимости км на 25%")
Motivation_Goal(g_utilization, "↑ использования ТС до 95%")
Motivation_Goal(g_fleet_size, "Управление 10 000+ ТС")
Motivation_Goal(g_reporting, "100% отчётностьnв ЕИС ВАТС")
Motivation_Goal(g_data_protection, "0 инцидентов утечки")
 
' ============================================================
' КУРСЫ ДЕЙСТВИЙ
' ============================================================
Strategy_CourseOfAction(coa_phased, "COA1: Поэтапное внедрение")
Strategy_CourseOfAction(coa_remote_ops, "COA3: Центр удаленных операторов")
Strategy_CourseOfAction(coa_data_compliance, "COA4: Системаnбезопасной отчётности")
 
' ============================================================
' ТРЕБОВАНИЯ
' ============================================================
Motivation_Requirement(req_perception, "R1: Redundant perception")
Motivation_Requirement(req_planning, "R2: Предиктивное планирование")
Motivation_Requirement(req_fallback, "R3: Удаленный оператор")
Motivation_Requirement(req_blackbox, "R4: Black box событий")
Motivation_Requirement(req_monitoring, "R5: Центр мониторинга")
Motivation_Requirement(req_ota, "R6: OTA-обновления")
Motivation_Requirement(req_reporting, "R7: Передача данных в ЕИС ВАТС")
Motivation_Requirement(req_data_protection, "R8: Шифрование данныхnи защита каналов")
 
' ============================================================
' ПРИНЦИПЫ
' ============================================================
Motivation_Principle(princ_safety, "Safety first")
Motivation_Principle(princ_fail_op, "Fail-operational")
Motivation_Principle(princ_autonomy, "Автономность по умолчанию")
Motivation_Principle(princ_bandwidth, "Минимум видеопотока")
Motivation_Principle(princ_data_privacy, "Data privacy by design")
 
' ============================================================
' ВОЗМОЖНОСТИ
' ============================================================
Strategy_Capability(cap_perception, "Многосенсорное восприятие")
Strategy_Capability(cap_planning, "Планирование и решения")
Strategy_Capability(cap_hmi, "Удаленное управление")
Strategy_Capability(cap_connectivity, "Связь V2X")
Strategy_Capability(cap_reporting, "Безопасная отчётностьnперед регулятором")
 
' ============================================================
' СВЯЗИ
' ============================================================
 
' Стейкхолдер → Драйвер
st_operator --> drv_shortage
st_operator --> drv_safety_reg
st_operator --> drv_competition
st_operator --> drv_data_reg
 
' Драйвер → Оценка
drv_safety_reg --> asm_accidents
drv_shortage --> asm_insurance
drv_data_reg --> asm_data_risks
 
' Оценка → Цель
asm_accidents --> g_safety : influence (-)
asm_tech --> g_safety : influence (+)
asm_insurance --> g_efficiency : influence (-)
asm_data_risks --> g_data_security : influence (-)
 
' Драйвер → Цель
drv_shortage --> g_efficiency : influence (+)
drv_safety_reg --> g_safety : influence (+)
drv_competition --> g_efficiency : influence (+)
drv_data_reg --> g_compliance : influence (+)
 
' Цель → Подцель
g_safety --> g_safety_reduction
g_safety --> g_safety_scenarios
g_efficiency --> g_cost_reduction
g_efficiency --> g_utilization
g_scalability --> g_fleet_size
g_compliance --> g_reporting
g_data_security --> g_data_protection
 
' Курс действий → Цель
coa_phased --> g_safety
coa_phased --> g_scalability
coa_remote_ops --> g_efficiency
coa_remote_ops --> g_safety
coa_data_compliance --> g_compliance
coa_data_compliance --> g_data_security
 
' Цель → Требование
g_safety --> req_perception
g_safety --> req_planning
g_safety --> req_fallback
g_efficiency --> req_monitoring
g_efficiency --> req_ota
g_scalability --> req_monitoring
g_compliance --> req_reporting
g_data_security --> req_data_protection
 
' Принцип → Требование
princ_safety --> req_perception
princ_fail_op --> req_fallback
princ_autonomy --> req_planning
princ_bandwidth --> req_blackbox
princ_data_privacy --> req_data_protection
 
' Требование → Возможность
req_perception --> cap_perception
req_planning --> cap_planning
req_fallback --> cap_hmi
req_monitoring --> cap_hmi
req_ota --> cap_connectivity
req_reporting --> cap_reporting
req_data_protection --> cap_reporting
 
' Курс действий → Возможность
coa_remote_ops --> cap_hmi
coa_data_compliance --> cap_reporting
 
' ============================================================
' ЛЕГЕНДА
' ============================================================
legend left
<back:lightyellow>Стейкхолдер / Драйвер / Оценка</back>
<back:lightgreen>Цель / Курс действий</back>
<back:lightblue>Требование / Принцип</back>
<back:lightcoral>Возможность</back>
====
--> association / influence / realization
--( )--> composition
endlegend
 
@enduml
 
 

📋 Что добавлено

Категория

Добавленные элементы

Связанные прецеденты

Драйвер

drv_data_reg (Требования к отчётности)

UC-O-4.4, UC-O-4.5

Оценка

asm_data_risks (Риски утечки данных)

UC-O-6.2

Цели

g_complianceg_data_security

UC-O-4.4, UC-O-6.2

Подцели

g_reportingg_data_protection

UC-O-4.5, UC-O-6.2

Курс действий

coa_data_compliance

UC-O-4.4, UC-O-4.5

Требования

req_reportingreq_data_protection

UC-O-4.4, UC-O-4.5, UC-O-6.2

Принцип

princ_data_privacy

UC-O-6.2

Возможность

cap_reporting

UC-O-4.4, UC-O-4.5

События

event_incidentevent_recallevent_maintenanceevent_command_ack

UC-O-5.1, UC-O-5.2, UC-O-4.1

Процессы

process_incidentprocess_recallprocess_maintenanceprocess_reportingprocess_emergency

UC-O-2.3, UC-O-5.2, UC-O-4.1, UC-O-4.4, UC-O-1.3

Объекты

incident_reportmaintenance_logrecall_notice

UC-O-4.3, UC-O-4.4

 

🎯 Теперь схема покрывает

·       ✅ Все прецеденты из вашего перечня

·       ✅ Отчётность перед регулятором (ЕИС ВАТС)

·       ✅ Конфиденциальность данных

·       ✅ Обработку уведомлений (отзывные кампании)

·       ✅ Экстренную остановку

·       ✅ Плановое и внеплановое обслуживание

Полученная схема приведена ниже:

Проектирование архитектуры в нотации ArchiMate с использованием ИИ. Часть 2 - 2

Мы получили скорректированную схему слоя стратегии. Как видно по схеме, на ней действительно остался один исполнитель. Так же на схеме учтены наши прецеденты. Итак, мы определили, что надо спроектировать и теперь можем переходить к самому проектированию.

Заключение

В данной работе мы продолжили проектировать систему управления беспилотным грузовым автотранспортом для междугородних перевозок. В этой части мы получили ответ на вопрос “Что же мы хотим получить”. Для этого мы провели анализ требований на основе нормативных документов, а также сформировали список прецедентов методом обратного инжиниринга требований.

В следующей части мы познакомимся с бизнес-слоем нотации ArchiMate , а также узнаем об изменениях версии 4.0, анонсированной в апреле 2026 года.

Автор: zvntver

Источник [9]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/30791

URLs in this post:

[1] мы познакомились с ArchiMate и начали проектировать систему управления беспилотным грузовым автотранспортом для междугородних перевозок: https://habr.com/ru/companies/axenix/articles/1032160/

[2] Ошибки: http://www.braintools.ru/article/4192

[3] логику: http://www.braintools.ru/article/7640

[4] Полный текст проекта ФЗ можно найти на сайте ОАО «Научно-исследовательский институт автомобильного транспорта»: https://niiat.ru/files/proekt_fz_vats-niiat-4.pdf

[5] Реагирование: http://www.braintools.ru/article/1549

[6] внимание: http://www.braintools.ru/article/7595

[7] Повторения: http://www.braintools.ru/article/4012

[8] интеллекта: http://www.braintools.ru/article/7605

[9] Источник: https://habr.com/ru/companies/axenix/articles/1038916/?utm_source=habrahabr&utm_medium=rss&utm_campaign=1038916

www.BrainTools.ru

Rambler's Top100