Прикладные модули модели воздушного судна
Типы модулей прикладного субэлемента структурной модели воздушного судна показаны на рис. 8.5. Собственно, их всего два: контроллер подсистемы (subsystem controller) и дочерний модуль контроллера (controller child). Контроллеры подсистем передают данные от других и другим экземплярам контроллеров подсистем, их дочерним модулям. Дочерние модули контроллеров передают данные, между собой и своими родителями; с другими дочерними модулями они взаимодействуют. Управление они получают только от родителей и возвращают его им же. Эти ограничения запрещают дочерним модулям передавать данные 10управление даже своим братьям. Запрет на сцепление дочерних экземпляров с кем-либо иным, кроме своих родительских элементов логически обосновывается задачами по достижению интегрируемости и модифицируемости. В роли посредника при воздействии модификаций и интеграции всегда выступает родительский контроллер подсистемы. Все это согласуется с тактикой «ограничение обмена данными». Контроллер подсистемы Контроллеры подсистем взаимосвязывают ряд функционально-ориентированных дочерних модулей, решая тем самым две задачи: ♦ моделирование подсистемы в целом; ♦ посредничество в обмене данными управления и непериодическом обмене между системой и подсистемами. Кроме того, они ориентируют дочерние модули на реализацию тренировочной функциональности — в частности, моделирование неисправностей и установку параметров. Поскольку образец «структурная модель» ограничивает обмен данными между дочерними модулями контроллера, контроллеру подсистемы приходится устанавливать между ними самими, с одной стороны, и между ними и другими подсистемами — с другой, логические соединения. Входящие соединения удовлетворяют аналогичные потребности сторонних подсистем и заменителей. Эти соединения представляют собой наборы имен, посредством которых контроллеры подсистем осуществляют внутренние обращения к внешним данным. Допущения об установлении соединений принимаются при считывании или записи таких имен. Механизм фактического установления соединений определяется позже, на стадии детального проектирования, и выражается в изменяемом параметре образца (изменяемые параметры рассматриваются в главе 14 «Линейки продуктов»). Помимо установления соединений между собственными дочерними модулями и дочерними модулями других подсистем контроллер подсистемы исполняет роль посредника во взаимодействии между своими дочерними модулями - дело в том, что ограничение средств связи между ними предполагает запрет На прямой обмен данными. Как мы уже говорили, система моделирования условий полета может находиться в нескольких состояниях. Посредством организующей части она переводится в конкретное состояние исполнения. После этого организующая часть со- °6щает контроллеру подсистемы о текущем состоянии. Для нас значимыми Являются состояния «Работа» (operate) и «Стабилизация» (stabilize). В состоянии работы контроллер подсистемы выполняет нормальные вычисления, сиособ- f дующие продвижеиию состояния моделирования. В состоянии стабилизации к'жтроллер подсистемы управляемым образом завершает текущие вычисления (при неконтролируемом завершении спорадические движения платформы могут повредить экипажу). Последовательность действий при этом выглядит так: ♦ Под прямым контролем организующей части происходит извлечение и локальное сохранение значений входящих соединений. Тем самым обеспечивается непротиворечивость данных и временная связность. ♦ Под контролем экземпляров организующей части проводится стабилизация алгоритмов моделирования дочерних модулей. После этого организующая часть признает подсистему в целом полностью стабильной. Контроллеры подсистем должны выполнять следующие действия. ♦ В ответ на любое событие инициализировать себя и все свои дочерние модули набором начальных условий. ♦ Основываясь на знаниях возможностей дочерних модулей, передавать им запросы на неисправности и настройки параметров моделирования. Наконец, контроллеры подсистем в некоторых случаях проводят реконфигурацию параметров задания, касающихся, в частности, вооружений, грузоподъемности и начального местоположения учебных заданий. Реализация этих возможностей проводится посредством периодических и непериодических операций, предоставляемых генератору периодической последовательности и обработчику событий соответственно. Контроллеры подсистем должны предоставлять две периодические операции - update и import — и могут поддерживать две другие (непериодические): process_event и configure. Update Операция update заставляет контроллер подсистемы проводить периодическую обработку согласно текущему рабочему состоянию, которое предоставляется в качестве входного параметра. В состоянии operate операция update заставляет контроллер подсистемы: 1) устанавливать входные соединения и извлекать для дочерних модулей входные данные; 2) исполнять операции дочерних модулей в логической последовательности, с расчетом на распространение среди них изменений; 3) извлекать выходные данные дочерних модулей, удовлетворяя тем самым сторонние входящие соединения или исходящие соединения подсистемы. Помимо исполнения функций генератора периодической последовательности этот алгоритм логически «склеивает» дочерние модули и придает моделированию связный, гармоничный характер. Этой цели служат вычисления, преобразования данных и изменения. В состоянии stabilize операция update заставляет контроллер подсистемы провести одну итерацию алгоритма стабилизации и проверить, удовлетворены ли локально определенные критерии стабильности. Операция update предоставляет один выходной параметр, выражающий суждение контроллера относительно стабильности подсистемы. Предполагается, что такое заключение можно сделать локально, хотя, с другой стороны, такая возможность присутствует не всегда. Контроллеры подсистем могут выполнять, а могут и не выполнять нижеследующие задачи. ♦ import. Операция import заставляет контроллер подсистемы завершать некоторые входные соединения — считывать их значения и проводить их локальное сохранение в расчете на последующее применение операцией update. Контроллеры подсистем предоставляют две непериодические операции: process event и configure. ♦ process, event. Операция process_event применяется в преимущественно периодических рабочих состояниях (к числу которых, в частности, относится состояние operate) для вызова реакции контроллера подсистемы на событие, предоставляемое в виде входного параметра. Под эту категорию подпадает ряд событии операторской станции: process_malfunction, set_parameter л hold_parameter. ♦ configure. Операция configure применяется в таких преимущественно непериодических состояниях системы, как initialize. Она предназначена для установления именованного набора условий — например, конфигурации учебного устройства или тренировочного задания. Информация, необходимая контроллеру подсистемы для установления такого состояния, может предоставляться в виде входного параметра, ячейки памяти вторичного запоминающего устройства или извлекаться из базы данных. Контроллер подсистемы вызывает такие операции своих дочерних модулей, которые приводят к установлению требуемых состояний.
|