К.т.н.Жарковский А.В., к.т.н Лямкин А.А., к.т.н Микуленко Н.П.,

к.т.н Тревгода Т.Ф.

Санкт-Петербургский государственный электротехнический университет «ЛЭТИ»

Метаязык описания сложных технических  систем

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

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

Улучшить качество проектов и сократить их длительность мола бы помочь автоматизация. Наибольшие трудности автоматизации концептуального проектирования связаны с формализацией описания предметной области на неком метаязыке, понятном как Заказчику, так и Исполнителю. Таким промежуточным между вербальным языком и языками программирования высокого уровня является предлагаемый ниже объектно-признаковый язык, который может служить для формализации описания СТС и процесса ее функционирования, а также  для формулирования технических заданий с целью однозначного их понимания Заказчиком и Исполнителями.

Для понимания сути языка достаточно рассмотреть лишь его синтаксис и семантику. Можно считать, что каждый конкретный объект Х принадлежит к определенному множеству (типу) объектов (Т.Х). Любой объект этого множества характеризуется номером (именем конкретного экземпляра) и целым набором признаков, которые перечисляются через запятую в квадратных скобках  после имени объекта (Т.Х [...]). Объекты и их признаки и обозначаются на латинице начальными буквами терминов языка предметной области и в виде общепринятых физических величин.

Существуют признаки числовые (например, D – дистанция, S – скорость, U – угол) и нечисловые (например, ТС – тип цели). Если признак объекта характеризуется только одним членом некоторого множества, то все члены множества перечисляется в фигурных скобках (например, ТС:{C, W, R}, где C – самолет, W – вертолет, R – ракета). Если признак объекта характеризуют все члены множества, то они задаются кортежем в ломаных скобках (например,        GR: <LX, LY, LZ>, где GR – геометрические размеры объекта вдоль осей его симметрии).

         Признаки бывают зависимыми и независимыми. Зависимость (функция) одного признака от другого указывается в круглых скобках (например, Е(D) – энергия или мощность E принимаемого излучения зависит от дальности D до источника излучения). Описание типа любого объекта Х можно рассматривать как шапку таблицы Т.Х,  где в первом столбце указывается такой признак объекта как его имя, а проще, номер (N_Т.X), а в последующих столбцах – все остальные признаки.

Так, типовое описание радиолокационного обнаружителя можно представить в виде:

Т.Z [N_T.Z, QM, DM, DH,  SPZ, SPY, TD, TE],

где N_T.Z – имя обнаружителя; QM – максимальное число сопровождаемых целей; DM и DH – минимальная и максимальная дистанции обнаружения цели; SPZ и SPY – секторы поиска цели в горизонтальной и вертикальной плоскостях; TD и ТЕ – соответственно точности измерения дистанций и угловых величин.  

Для описания информационных связей между различными компонентами СТС служат формуляры (F.), в расширении которых указывается обозначение объекта, из которого выходит (I) или в который входит (U) данная информационная связь. Признаки формуляров в отличие от признаков объектов являются величинами переменными (изменяющимися во времени). Совокупность формуляров образует информационную модель системы.

Так, информирующий формуляр радиолокационного обнаружителя  имеет вид:  F.ZI  [LC, N_C, K, M, D ], где LC – количество сопровождаемых  целей; N_C – номер цели в нумерации данного обнаружителя; K, M, D  – измеряемые координаты целей (K – курсовой укол,  M – угол места, D – дальность).

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

Процесс функционирования какого-либо объекта Х можно представить как преобразование информации из входного (входных) формуляра F.XU в выходной F.XI в соответствие с характеристиками объекта, задаваемыми  его типом Т.X:

                  М.X=F.XU  F.XI.

Для описания отношений между объектами или отдельными признаками, для записи вычислительных процедур могут использоваться стандартные математические функции. Это позволяет использовать объектно-признаковый язык для описания процессов (моделей) функционирования СТС и их компонентов с использованием модифицированной формы структурограмм (диаграмм Нэсси–Шнайдермана).

Из приведенных примеров видно, что все обозначения объекно-признакового языка составляются из аббревиатуры или начальных букв соответствующих названий (терминов предметной области) на латинице, которая принята для использования на компьютере и из-за общепринятых стандартных обозначений физических величин. Это способствует быстрому запоминанию обозначений и не является препятствием для программирования и создания машинного языка высокого уровня.

Жарковский А.В., Лямкин А.А., Тревгода Т.Ф. Объекно-признаковый язык описания сложных технических систем //Программная инженерия, 2012, №2