УДК 681.3.06
ВИЗУАЛЬНЫЙ УРОВЕНЬ ПРЕДСТАВЛЕНИЯ АЛГОРИТМОВ ФУНКЦИОНИРОВАНИЯ РАСПРЕДЕЛЁННЫХ СИСТЕМ РЕАЛЬНОГО ВРЕМЕНИ НА ЯЗЫКЕ СТРУКТУРНОГО МОДЕЛИРОВАНИЯ
В.К. Погребной
Институт «Кибернетический центр» ТПУ E-mail: [email protected]
Предлагается развитие концепции модульной технологии проектирования распределённых систем реального времени в направлении разработки средств автоматизации процессов эволюции моделей систем. Вводится понятие языка структурного моделирования (языка SML) и соответствующей технологии структурного моделирования (SML-технологии). Инструментальные средства SML-технологии разрабатываются в соответствии с правилами семантической среды функционирования систем, представленными в базе знаний и определяющими область возможных эволюций моделей. Разработан визуальный уровень представления исходных моделей систем в форме графа потока данных на языке SML Предложен ряд механизмов доопределения моделей по обновлению данных и доступу к ресурсам, которые дают представление о характере операций, выполняемых инструментальными средствами SML-технологии в процессе эволюции моделей.
Ключевые слова:
Система реального времени, модульная структура, граф потока данных, структурное моделирование, эволюционное проектирование, язык SML, SML-технология.
Введение в структурное моделирование
Концепция имитационного моделирования распределённых систем реального времени (СРВ), изложенная в работе [1], развивает технологию модульного проектирования в направлении создания моделей, выполняемых на виртуальной машине моделирования (ВММ), названных активными. Принцип активности моделей, наряду с принципами дискретности и графовой формы представления, создаёт условия для реализации эволюционного подхода к проектированию СРВ. Эффективность применения эволюционного подхода определяется функциональной полнотой имеющейся совокупности формализованных процедур по трансформации модели и может быть отражена соответствующим принципом модульной технологии
- принципом эволюционности. Можно сказать, что данный принцип отражает стремление строить модель СРВ в таком виде, чтобы разработчику проекта максимально упростить составление задания на трансформацию модели, а все «заботы» по отработке этого задания переложить на инструментальную систему и ВММ.
Цикл эволюции модели в соответствии с предложенной концепцией в упрощенном варианте представлен на рис. 1.
Центральное место в цикле эволюции занимает модель СРВ, представленная модульной структурой в форме графа потока данных (ГПД) [2] и модель архитектуры и топологии сети вычислительной системы [3], реализующей прикладные функции СРВ. В первом блоке осуществляется анализ результатов моделирования, полученных при выполнении текущего варианта активной модели на ВММ (блок 3), и формируются задания на изменение условий функционирования СРВ в надежде на улучшение качества проекта. Внесение изменений в модульную структуру модели осуществляется разработчиком проекта в интерактивном режиме. При
этом могут выполняться предварительные расчёты для принятия решений по изменению модели. Принятые решения отображаются непосредственно на ГПД модульной структуры либо в описателях его компонентов.
Рис. 1. Цикл эволюции модели
Второй блок с помощью процедур трансформации преобразует внесённые в модульную структуру изменения в форму активной модели и настраивает её для выполнения на ВММ. Таким образом, модульная структура в форме ГПД выступает в роли промежуточного языка общения между разработчиком проекта (блок 1) и инструментальными средствами трансформации и настройки активной модели (блок 2).
Учитывая, что общение разработчика проекта (блок 1) с инструментальной системой моделирования (блоки 2 и 3) осуществляется на структурном уровне представления модели в форме ГПД, данный язык будем именовать языком структурного моделирования (Structural Modelling Language -SML), а соответствующую технологию структурного моделирования - SML-технологией. Модульная структуризация модели в SML-технологии используется не только для её представления в форме
ГПД, но и при выполнении модели на ВММ. С этой целью ГПД модели системы преобразуется в специальную форму описания, названную SML-программой, где каждый модуль воспринимается как команда ВММ. Полные сведения об алфавите языка SML и синтаксических правилах описания условий функционирования СРВ содержатся в базе знаний, показанной на рис. 1 отдельным блоком.
База знаний включает описание совокупности объектов языка SML, их атрибутов, признаков, параметров, отношений, механизмов реализации отдельных правил, которые все вместе определяют семантическую среду (эволюционное пространство) функционирования СРВ. Здесь следует отметить, что разработчик проекта в основном имеет дело лишь со структурной составляющей семантической среды функционирования СРВ, используя визуальное представление модульной структуры модели в форме ГПД.
В итоге разработчик проекта, придерживаясь правил языка SML, с помощью программных средств, содержащихся в блоке 1, задаёт что должна делать СРВ, а блок 2 знает как это делать, трансформируя и доопределяя модель соответствующим образом. При этом разработчик проекта должен иметь в виду, что знания блока 2 ограничены содержанием семантической среды функционирования СРВ, заложенным в базе знаний.
Содержание базы знаний можно условно разделить на 2 части. В первую из них входят объекты языка SML, которые использует разработчик проекта при построении модульной структуры модели и задании условий функционирования СРВ. Вторая часть, напротив, содержит информацию для работы блока 2 при выполнении трансформаций и настройке активной модели. Ниже в статье рассматриваются основные объекты из первой части базы знаний, которые доступны разработчику проекта. Приводится также ряд скрытых от разработчика проекта механизмов по доопределению модели, относящихся к второй части базы знаний и используемых блоком 2 при выполнении своих функций.
Модульная структура модели
и её визуальное представление в форме ГПД
В соответствии с технологией модульного проектирования модель алгоритма функционирования системы представляется модульной структурой, получаемой путём композиции модулей, взятых из заранее созданной библиотеки. Библиотека создаётся под конкретную предметную область и при построении модульной структуры системы может пополняться недостающими модулями, как правило, в составе групп А и F [1]. Вопросы создания библиотеки модулей и композиции из них модульных структур в данной работе не рассматриваются. Основное внимание уделяется изложению правил языка SML по визуальному представлению модульной структуры в форме ГПД и отображению на нём условий функционирования системы.
На рис. 2 приведён пример модульной структуры модели, представленной в форме ГПД. Имитацию оборудования объекта осуществляют модули А1 и А2, реализующие алгоритмы функционирования соответствующих подсистем. Автономное управление технологическими параметрами первой подсистемы выполняют две прикладные функции. Первая из них выполняется модулями /5 и /9, вторая функция - модулями /6, /¡0, /13. Автономное управление технологическими параметрами второй подсистемы выполняет третья функция - модули /8, /12, /14. Четвёртая функция - модули /7 и /11, анализирует работу подсистем и управляет параметрами, оптимизирующими работу объекта в целом. Пятая функция - модули Т4, И15, Sl6, Н3, запускается циклически таймером Т4 и на основе анализа состояния оборудования объекта и параметров технологического процесса выполняет подстройку параметров оборудования.
форме ГПД
Перечисленные прикладные функции на основе входных данных (показаний датчиков), полученных имитаторами подсистем объекта (модули А1 и А2), вычисляют управляющие воздействия (позиции йь 48, й30, 4, й31, ¿32, 47), которые поступают на исполнительные механизмы объекта. Таким образом, представление модульной структуры (рис. 2), которое в графовой форме отражает последовательность преобразования данных модулями прикладных функций, получило название графа потока данных (ГПД). Заметим, что ГПД в таком виде отражает функциональный уровень выполнения прикладных функций СРВ без учёта динамики их взаимодей-
ствия. При выполнении такого ГПД на ВММ можно проследить наличие и исполнение всех технологических алгоритмов по управлению объектом, предусмотренных техническим заданием.
Основными компонентами модульной структуры являются модули, позиции и дуги. Модули в ГПД, независимо от принадлежности к группам А, ¥, Н, О, Т, £ [1], имеют одинаковое изображение в виде планок. Порядковые номера модулей проставляются рядом с планками и помечаются принадлежностью к одной из групп, например А1, Т, /5, Н15. Позиции изображаются кружками и нумеруются независимо от модулей. Порядковые номера позиций проставляются внутри кружков. Как видно из рис. 2 позиции в ГПД имеют различные изображения в виде определённых дополнений к кружку. Эти дополнения в языке SML стандартизованы и облегчают разработчику проекта визуальное восприятие ГПД. Перечень видов изображений позиций с указанием их групп [1] и смыслового содержания дополнительных признаков приведено в таблице.
Таблица. Изображение позиций графа, рис. 2
№ Виды позиций Смысловое содержание дополнительного признака Группа позиции
1 0,0 Состояние данных D
2 о.о Совокупность присоединенных состояний данных D
3 0,0 Сигнальные данные Р
4 101,0 Значение счетчика К
5 0,0 Выделенное показание таймера D
6 о Управляющее воздействие и
7 о Разделяемый ресурс К
8 о Потребляемый ресурс
9 о Общая область памяти I
10 0 Буфер В
11 □ Начальные условия D
12 о Сигнал запуска агрегатов и таймеров Р
Первые пять видов позиций имеют по два варианта изображения. Первый из них является базовым и воспринимается модулем как информационный вход (выход). Позиция второго варианта изображения (выделена жирно) содержит дополнительный признак - требование на обработку, что соответствует входу запуска модуля.
Дуги в ГПД изображаются линиями трёх типов
- сплошная тонкая, сплошная жирная и пунктирная. Тонкая линия соответствует информационным дугам, связывающим модули и позиции. Жирными линиями связываются входные позиции запуска с модулями, которые они запускают. Например, на рис. 2 позиция 4 является входом запуска для модуля /6 и обычным информационным входом для модуля /7. Пунктирными линиями изображаются дуги, входящие в модуль из позиций видов 7-12, таблица. На рис. 2 это дуги, выходящие из позиции 33.
Для улучшения визуального восприятия ГПД допускаются разрывы отдельных дуг. На рис. 3 представлены правила изображения разрыва дуги, выходящей из позиции 4 в модуль м] (рис. 3, а) и дуги, выходящей из модуля м] в позицию 4 (рис. 3, б). Разрывы дуг по правилу, показанному на рис. 3, а, можно видеть на рис. 2, например для дуги (4, т8).
а
Рис. 3. Изображение разрыва дуги
Согласно [1] структура модуля включает три блока: операционный блок, блок состояний и блок адаптации модуля. Каждый блок содержит описание на языке SML параметров модуля, относящихся к соответствующему блоку, условий совместной работы модулей в модели и условий функционирования объекта управления, влияющих на динамику работы модуля. Для удобства описание параметров операционного блока включается в описание блока адаптации, а описание блока состояний структурировано на описатели отдельных позиций. Это позволяет разработчику проекта визуально для любого модуля ГПД кликом вызывать и редактировать содержание соответствующего блока адаптации и, аналогично, для любой позиции ГПД - её описатель.
При построении ГПД все позиции изображаются как состояния данных без требования на обработку (вид 1 в таблице).Изображение позиций с дополнительными признаками происходит автоматически после указания этого признака в описателе позиции. Аналогично, в исходном варианте ГПД все дуги изображаются тонкими линиями. Жирные и пунктирные дуги появляются в ГПД после введения соответствующих признаков в описатели позиций.
Приведённый на рис. 2 ГПД отображает на позициях и дугах ряд признаков, которые автоматически перенесены из описателей позиций и блоков адаптации модулей. На последующих этапах доопределения модели часть сведений из описателей блоков модулей автоматически или вручную также может быть отображена на ГПД. Но такие этапы доопределения модели не связаны с её структурными свойствами и в данной работе не рассматриваются. Поэтому ниже в качестве примеров излагаются только те механизмы доопределения моделей, которые не отображаются на ГПД, т. е. являются скрытыми от разработчика проекта, но описываются средствами языка SML на структурном уровне.
Механизмы обновления выходных данных с присоединением состояний
Операционный блок модуля при однократном исполнении получает одно состояние совокупности выходных данных 4 В общем случае, при выполнении модуля К раз, для каждого данного 4 будет получена совокупность состояний {^ь...,^к,..,^К}. Число сохраняемых состояний из данной совокупности не зависит от числа срабатываний модуля и обычно ограничивается одним или несколькими последними состояниями. При сохранении ограниченного числа состояний после очередного срабатывания модуля происходит обновление одного из сохраняемых состояний на вновь полученное. Для случаев сохранения одного состояния различается три условия его обновления:
• ОС - обновление текущего состояния на вновь полученное (С - обновление);
• ЦО - циклическое обновление текущего состояния с временем цикла срабатывания модуля АТ (Ц - обновление);
• ТО - обновление состояния в момент времени /, удовлетворяющий условию —/*<А/, где -момент поступления данных с требованием на обработку с целью получения состояния, а А/ -допустимый интервал времени на получение состояния (Т - обновление).
Если необходимо сохранять несколько последних состояний, то выполняется обновление с присоединением очередного состояния к сохраняемой совокупности. В этом случае возможны следующие условия обновления с присоединением:
• ЦП - циклическое присоединение К состояний, К=сош1 (Ц - присоединение);
• КП - присоединение К состояний, К=сош1 (К - присоединение);
• ТП - присоединение состояний, полученных за интервал времени А/, А/=сош1 (Т - присоединение);
• ВП - присоединение В состояний, В^сош1;, полученных за интервал времени, определяемый чи-
слом К(т;), К(т;)=сош1;, последних запусков некоторого модуля т^ в ГПД (В - присоединение).
Отличие Ц - обновления от С - обновления заключается в том, что при С - обновлении момент получения нового состояния совпадает с моментом завершения работы модуля, а при Ц - обновлении момент получения состояния связывается с моментом окончания цикла АТ, независимо от реального момента завершения работы модуля в цикле АТ.
Условие Т - обновления предполагает контроль момента получения состояния. При моделировании такой контроль выполняется практически всегда и осуществляется с целью анализа работоспособности системы. Функции контроля реализуются на структурном уровне и являются скрытыми от разработчика проекта. Если при этом момент времени / и и, соответственно величина А/, должны оцениваться более точно, чем это позволяют такты моделирования, то вводятся более точные таймеры. На рис. 4, а, показан ГПД, реализующий функцию контроля для Т - обновления. Здесь модуль т]1 формирует состояние позиции ц с требованием на обработку для получения модулем т]2 управляющего воздействия (позиция /2) через 0,8 такта моделирования. Скрытая часть ГПД включает две позиции /к, формируемые ВММ, состояния которых обозначают моменты завершения выполнения соответствующих модулей. Позиция / показывает время, которое отсчитывает таймер Т с начала получения управляющего воздействия. Модуль синхронизации £ выдаёт информацию (позиция А) для ВММ в случае, если время получения управляющего воздействия превышает установленные 0,8 единиц.
Механизм обновления по условиям ЦП и КП показан на рис. 4, б. Модуль /запускается позицией 12 и включает очередное состояние, полученное модулем т]Ъ в совокупность состояний, определяемую позицией /2*. Состояние, включаемое в совокупность, сопровождается временем получения /к, а состояние с наименьшим временем получения исключается из совокупности так, чтобы в ней всегда сохранялось не более К состояний доступных модулю т;2. Для случаев, когда модуль т;2 дол-
а: ТО
б: ЦП, КП
в: ТП
г: ВП
Рис. 4. Структурный уровень представления механизмов обновления
жен запускаться в г раз реже, чем модуль тр скрытая часть ГПД дополняется счётчиком Ки позицией 5. Счётчик К запускается позицией 4 и после г запусков формирует сигнал в позиции 5, которая запускает модуль т]2 и разрешает доступ к совокупности состояний в позиции 12. Заметим также, что дуга (/2, т]2) в работе рассматриваемого механизма обновления не участвует.
Обновление по условию ТП представлено на рис. 4, в. Скрытая часть ГПД представлена модулями /1, /2, таймером Ти позициями 4, , 4 5. Модуль / запускается позицией 4 и включает состояние позиции /, получаемое модулем тр в совокупность состояний, определяемую позицией Л Модуль /2 запускается в каждом такте моделирования, генерируемым таймером Т, и исключает из совокупности (позиция /*) состояние с моментом получения 4</+1-А/. Позиция 5, состояние которой формируется модулем /2, в каждый такт моделирования разрешает модулю т]2 доступ к совокупности состояний, полученных за текущий интервал времени А/. Если модуль т]2 необходимо запускать через некоторое установленное число тактов, например 12, то модуль /2 дополняется функцией счётчика так, чтобы сигнал в позиции 5 формировался через 12 тактов.
Сказанное выше иллюстрируется на рис. 5 диаграммой работы модуля т;1 и вариантами совокупностей состояний, полученных для А/=20 тактов. Здесь же показаны варианты совокупностей доступных модулю т]2 через 12 тактов.
Скрытая часть ГПД, реализующая обновление по условию ВП, представлена на рис. 4, г, и включает модули /1, /2 и позиции 4, 4, 4, г*. В механизме обновления по условию ВП формирование совокупности состояний, осуществляемое модулем т]Ъ ставится в зависимость от запусков некоторого модуля т. Модуль т;1 должен присоединять все состояния, полученные не ранее К(т) последних запусков модуля т. С этой целью модуль /1 запускается позицией 4, в которой с помощью ВММ фиксируется очередной момент запуска модуля т , и формируется позиция /„*. Состояние позиции 4* указывает наиболее ранний запуск модуля т из К(т) последних запусков. В начале моделирования состояние позиции 4* принимается равным 0. Это значение сохраняется в позиции до К(т) запусков модуля т, после чего 4* заменяется на момент первого запуска. При следующем запуске 4* становится равным моменту второго запуска и т. д. Модуль /2 запускается позицией 4, которая фиксирует момент завершения работы модуля т]Ь и если 4>4*, то очередное состояние позиции I заносится в совокупность состояний, определяемую позицией /*, и из неё исключаются все состояния с моментами получения Iк<1н*. В рассматриваемом ГПД, также как и в ГПД на рис. 4, в, дуга (I, т]2) в работе не участвует. Пример формирования совокупностей состояний по условию ВП для случая К(т)=3 показан на рис. 5 в виде диаграммы, расположенной ниже оси времени.
1,2,3
т,
Л
0
т
3
т.
1,2
1,2,3
5 10
12
1,2
3,4
20 2
4,5
4,5,6
5 3
4
0 3 5 40
5
4 5
5,6,7
45
50 55
8 9
6,7,8,9
Рис. 5. Иллюстрации к обновлению по условиям Т-присоединения (выше оси времени) и В-присоединения (ниже оси времени)
2
3
5
6
7
4
6
7
3
67
3
Механизмы доступа модулей к ресурсам
Необходимость организации доступа к потребляемому 2 и разделяемому Я ресурсам возникает всякий раз, когда несколько модулей (больше одного) обращаются к одному ресурсу. Ресурс 2 является потребляемым и расходуется модулем в заранее оговоренных объёмах и не возвращается. Поэтому потребление данного ресурса предполагает постоянный контроль его наличия и при необходимости пополнения.
Возможное время использования ресурса Я модули делят между собой. Принимается, что модуль захватывает ресурс Я в момент запуска и освобождает его в момент завершения работы. Ресурсная позиция группы Я может описывать один разделяемый ресурс или несколько, например, г единиц. В последнем случае использовать ресурс Я могут одновременно до г модулей. При этом предполагается, что все г единиц ресурса являются равноценными.
--------\*-----©
Fз
Fl
На рис. 6, а, представлен ГПД, реализующий доступ к потребляемому ресурсу 2 модулей т]Ь т]2, т]3. Скрытая часть ГПД реализуется модулями Ръ /2, /3. Модуль / запускается позицией 5, состояние которой сигнализирует о том, что выделение ресурса предыдущему модулю завершено. Начальное состояние позиции 5 содержит сигнал запуска модуля Учитывая, что в данной схеме доступа наличие ресурса всегда гарантировано, модуль / реализует простой алгоритм выбора модуля для предоставления ресурса. Первым ресурс получает модуль с наиболее ранним началом выполнения. Исходя из этого модуль / после запуска ждёт появления в позициях /н1, /н2, Н сигнала о начале работы, выбирает соответствующий модуль и указывает его в позиции 1Н. Модуль /2 выделяет ресурс выбранному модулю и в позицию 5 помещает сигнал о запуске мо-
дуля В модуле /2 также принимается решение о необходимости пополнения ресурса и сообщение об этом помещается в позиции д. Пополнение ресурсов в позиции 2 осуществляет модуль /3.
Скрытый ГПД, реализующий механизм доступа к разделяемому ресурсу Я, представлен на рис. 6, б. Модули т]Ь т]2, т]3 потребляют ресурс Я по очереди, если он имеется в одном экземпляре. Если ресурс Я содержит г равноценных единиц, то воспользоваться ресурсом может несколько модулей одновременно. Предлагаемая схема реализует обе ситуации по составу ресурса Я.
Модуль / в ждущем режиме опрашивает позиции 4ь 4г, н и выбирает модуль для выделения ресурса и информацию о нём помещает в позицию /н. Модуль /2 запускается позицией /н и выполняет следующие действия: проверяет наличие ресурса для выделения очередному модулю; уменьшает ресурс в позиции Я, выделяя его модулю, или фиксирует недостаточное количество единиц (отсутствие) ресурса; формирует сигнал в позиции 52 о возможности возвращения ресурса и сигнал запуска модуля /1 в позиции 51. Сигнал в позиции 52 запускает модуль /3, который ждёт появления момента завершения работы модуля в позициях ¡к1, ¡л, ¡к3 и по информации позиции 52 освободившийся ресурс возвращает в позицию Я.
При счётном ресурсе Я позиция 52 выступает в роли буфера, накапливающего информацию от модуля /2 о начале работы модулей и их потребностях в ресурсе, а модуль /3 эту информацию извлекает и возвращает соответствующий ресурс.
Язык SML и автоматизация процесса
эволюции модели
Изложенные выше правила языка SML по визуальному представлению модели СРВ в форме ГПД отражают структурную составляющую описания алгоритмов функционирования модели. Текстовая составляющая описания модели, сосредоточенная в блоках адаптации модулей и описателях позиций, в данной статье не рассматривается. Вместе с тем результаты, полученные при разработке технологии структурного моделирования уже на данном этапе исследований позволяют сделать ряд обобщений относительно роли языка SML и соответствующих инструментальных средств в решении проблемы автоматизации процесса эволюции модели.
Технология структурного моделирования (SML-технология) основана на систематическом использовании принципов модульного проектирования распределённых СРВ и в первую очередь ориентирована на развитие эволюционного подхода к проектированию. Принципиально важным для SML-технологии является то, что эволюция модели происходит в рамках заранее разработанной семантической среды, определяющей область допустимых условий функционирования СРВ. Инструментальные программные средства поддержки
т
SML-технологии включают редактор языка SML, систему автоматизации трансформаций модели, систему формирования SML-программы, операционную систему ВММ (блок управления процессом моделирования), ВММ для выполнения SML-программы. Участие разработчика проекта в эволюционном процессе ограничивается составлением и, с помощью редактора SML, отображением на уровне ГПД очередного варианта условий функционирования модели. Инструментальные средства поддержки SML-технологии трансформируют модель под эти условия и преобразуют её в активную форму (SML-программу), а ВММ под управлением операционной системы выполняет активную модель, имитируя функционирование СРВ.
Таким образом, в каждом цикле эволюции модель СРВ последовательно изменяет своё состояние. Выделяются три основных состояния, которые с помощью инструментальных средств SML-технологии преобразуются из одного в другое. Исходное состояние модели формируется разработчиком проекта с помощью редактора языка SML. Оно включает визуальное представление структурной составляющей модели в форме ГПД и исходные состояния описателей блоков адаптации модулей и позиций. Здесь же задаются исходные условия функционирования модели в динамике, а также параметры исходного варианта архитектуры и топологии сети вычислительной системы, на которой будет реализована СРВ.
Второе состояние получается с помощью системы автоматизации трансформаций, которая выполняет множество операций по доопределению и настройке моделей, в том числе скрытых от разработчика проекта, формированию процессов и операций контроля возможности их совместной работы. Выполняя эти операции, система следует предписаниям блоков адаптации модулей и описателей позиций по условиям функционирования модели в динамике. В итоге модель преобразуется в актив-
СПИСОК ЛИТЕРАТУРЫ
1. Погребной В.К. О построении активных моделей, распределённых систем реального времени // Известия Томского политехнического университета. - 2008. - Т. 312. - № 5. - С. 78-84.
2. Погребной В.К. Системы реального времени. Моделирование и автоматизированное проектирование. - Томск: Изд-во ТПУ, 2006. - 209 с.
3. Погребной А.В. Математические и программные средства построения архитектуры и топологии сети вычислительной си-
ную форму в виде совокупности параллельных процессов с непротиворечивой системой отношений по взаимодействию. Третье состояние в виде SML-программы получается после выполнения настроек и контрольных функций по подготовке активной модели к выполнению на ВММ.
Выделение трёх состояний модели в значительной степени является условным, т.к. после построения исходной модели в форме ГПД выполняется большое число преобразований, последовательность выполнения которых не всегда предопределена. В результате с каждым преобразованием полнота и детальность описания модели возрастает и постепенно приближается к получению SML-программы. Средства языка SML позволяют представлять модель на любом уровне детализации описания. В этом смысле язык SML обладает ярко выраженным свойством иерархии, когда задание некоторого условия на верхнем уровне иерархии предполагает переход к более детальному его описанию с учётом других условий функционирования СРВ. В сравнении с известными языками моделирования, в том числе с универсальным языком моделирования UML [4], язык SML не является языком программирования модели. Это язык визуального представления модели на структурном уровне и задания на ней условий функционирования СРВ в рамках заранее разработанной замкнутой семантической среды, определяющей область возможных эволюций моделей при проектировании распределённых и жёстких СРВ.
Принципиально важным для языка SML является также и то, что разработчик проекта оперирует самым верхним слоем иерархии языка и, в основном, на визуальном уровне структурного представления модели в форме ГПД. Все последующие более детальные описания состояний модели формируются инструментальными средствами SML-технологии в соответствии с правилами семантической среды функционирования СРВ, представленной в базе знаний.
стемы для управления территориально распределёнными объектами: Автореф. дис. ... канд. техн. наук. - Томск, 2008. -19 с.
4. Скотт К. ИМЬ Основные концепции. Пер. с англ. - М.: Издательский дом «Вильямс», 2002. - 144 с.
Поступила 31.03.2009 г.