Научная статья на тему 'Графотрансформационный подход к синтезу формальных моделей систем функциональных блоков IEC 61499'

Графотрансформационный подход к синтезу формальных моделей систем функциональных блоков IEC 61499 Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
171
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГРАФОТРАНСФОРМАЦИОННЫЙ ПОДХОД

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Дубинин Виктор Николаевич, Вяткин Валерий Владимирович

Рассмотрен подход на основе преобразований графов для синтеза формальных моделей систем функциональных блоков IEC 61499. В качестве модельной формы предлагаются арифметические NCES-сети. Процесс синтеза представляется как поток моделей. С помощью метамоделей описываются языки представления систем функциональных блоков и модульных арифметических NCES-сетей на основе графов. Рассмотрены правила трансформации графов для некоторых этапов синтеза.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Графотрансформационный подход к синтезу формальных моделей систем функциональных блоков IEC 61499»

УДК 004.4’244:004.434

В. Н. Дубинин, В. В. Вяткин

ГРАФОТРАНСФОРМАЦИОННЫЙ ПОДХОД К СИНТЕЗУ ФОРМАЛЬНЫХ МОДЕЛЕЙ СИСТЕМ ФУНКЦИОНАЛЬНЫХ БЛОКОВ IEC 61499

Рассмотрен подход на основе преобразований графов для синтеза формальных моделей систем функциональных блоков IEC 61499. В качестве модельной формы предлагаются арифметические NCES-сети. Процесс синтеза представляется как поток моделей. С помощью метамоделей описываются языки представления систем функциональных блоков и модульных арифметических NCES-сетей на основе графов. Рассмотрены правила трансформации графов для некоторых этапов синтеза.

Введение

Основными этапами разработки управляющих систем на основе функциональных блоков (ФБ) нового международного стандарта IEC 61499 [1] являются формулировка требований (предъявляемых к системе), формализованное описание управления и объекта управления (моделирование), верификация, валидация и реализация [2]. Одним из слабо формализованных этапов является разработка формальных моделей контроллеров и объектов управления. Это приводит к ошибкам проектирования, усложняет автоматизацию данного этапа и замедляет процессы разработки и повторного проектирования системы в целом.

Наибольшей популярностью при моделировании систем ФБ IEC 61499 пользуются модульные NCES-сети [3], берущие свое начало от сетей Петри. Одной из первых в этой области была работа [4], в [5] освещаются вопросы моделирования алгоритмов ФБ с помощью NCES на уровне целочисленной арифметики. В последнее время были предприняты новые попытки автоматизации моделирования систем ФБ на основе NCES-сетей. В работе [6] были предложены неформальные правила для создания моделей некоторых элементов ФБ, а также моделей их выполнения. Данные правила были реализованы в системе FBSD, разработанной в среде Eclipse. В работе [7] правила преобразования реализуются в виде Х£Е77-скриптов и правил языка Пролог. Следует отметить, что работы [6, 7] ограничены в плане моделирования, например, в них не учитывается диаграмма состояний операций ЕСС (см. Figure 12 в [1]).

Несмотря на значительный прогресс в области моделирования и автоматизации построения формальных моделей ФБ на основе NCES-сетей, можно выделить следующие основные нерешенные проблемы: 1) сложность моделирования потоков данных и алгоритмов; 2) отсутствие формальных правил преобразования систем ФБ в NCES-сети; 3) сложность перепрограммирования систем синтеза при изменении правил. И главное - отсутствует целостная методология синтеза формальных моделей для систем ФБ.

В данной работе для синтеза формальных моделей систем ФБ IEC 61499 предлагается подход на основе управления моделями. Отправным пунктом проектирования является начальное описание системы ФБ, а конечным результатом - формальная модель системы. Для уменьшения сложности моделирования алгоритмов и передач данных в системах ФБ в качестве модельной формы предлагаются арифметические NCES-сети. Технология, основанная на управлении моделями (Model Driven Engineering - MDE), является в настоящее время передовой технологией разработки программного обеспе-

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

Перспективным подходом к трансформации моделей является подход, основанный на трансформации графов [9]. Он развивается и уже нашел применение в MDE. Например, был успешно применен для рефакторинга диаграмм ЕСС в базисных ФБ [10]. Преимуществом подхода является его формальность, что позволяет избежать многих ошибок проектирования и проверить правила на корректность. Этот подход был принят в данной работе за основу. В качестве метамоделей используются типизированные атрибутные графы (ТАГ) [9], и трансформация на их основе поддерживается системой AGG, которая является одним из наиболее популярных средств для трансформаций графов [11].

1 Поток моделей в процессе синтеза

Представим процесс синтеза aNCES-сетей для систем ФБ как поток графовых моделей (рис. 1). В приведенной на рис. 1 диаграмме состояний модели представлены как состояния, а макропреобразования - как переходы. Отправным пунктом преобразований является графовая модель исходной системы ФБ (состояние 50). Как правило, эта модель является многоуровневой. Конечным пунктом преобразования является графовая модель одноуровневой («плоской») aNCES-сети (состояние 54). Эта модель является наиболее приемлемой для дальнейшего анализа. Промежуточное (опциональное) состояние 51 представляет исходную систему ФБ, в базовых ФБ которой проведен рефакторинг диаграмм управления выполнением (диаграмм ЕСС) [10]. Состояние 52 определяет одноуровневую («плоскую») систему ФБ, которую можно принять за некоторую нормализованную форму для дальнейшего использования, например, для реализации, имитационного моделирования или анализа. Состояние 53 представляет многоуровневую aNCES-модель, состоящую из множества взаимосвязанных aNCES-модулей. Это наиболее компактное и понятное для пользователя представление aNCES-моделей. Переход из одного состояния в другое производится в результате применения наборов трансформационных правил R0, R1, R2 и R3.

Рис. 1 Поток моделей в задаче синтеза ЫСКБ-сетей для систем ФБ

2 Арифметические NCES-сети

В зависимости от типа маркировки и весов дуг будем различать арифметические NCES-сети целочисленного и вещественного типов, причем второй тип сети включает первый. Арифметические NCES-сети вещественного типа определяются как N = (P, T, H, A, B, I, W, S, M, F, Q, C, m0), где P - конечное непустое множество позиций; T - конечное непустое множество переходов; H с PXT и TxP - множество обычных дуг; AcPxTuTxP - множество арифметических дуг; HnA=0; BcPxT - множество условных дуг; IcPxT - множество ингибиторных дуг; WMuB^R - функция весов обычных и условных дуг, где R - множество действительных чисел; ScTxT - множество событийных дуг; M:T^{&, v} - режим срабатывания перехода; F=F'0)uF'1)uF'2)u... - бесконечное множество функций различных арностей. Функция feF'n) определяется как f.Rn^R; Q:T^Fu{none} - функция, назначающая переходам функции из F; C:AnPxT^{1, 2, ...} - функция нумерации входных арифметических дуг переходов; m0:P^R - начальная маркировка сети.

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

Введем следующие множества: apret= {p | (p, t)eA} - множество входных арифметических позиций перехода teT; apostt= {p | (t, p)eA} - множество выходных арифметических позиций перехода teT. Должны выполняться следующие ограничения: 1) Vte T[|apostt|<1]; 2) \apret\ должно быть равно арности функции Q(t) (если таковая имеется).

Функция нумерации входных арифметических дуг перехода t определяется как Ct:apret^{1, 2, ..., ^p^l}. Общая функция нумерации С вычисляется как С = ^ Сг . Порядок нумерации входных арифметических дуг дол-teT

жен соответствовать порядку аргументов функции, поставленной в соответствие переходу.

Семантика вещественных NCES (без функций) сходна с семантикой обычных NCES, несмотря на то, что используется вещественный домен чисел. Семантика арифметических вещественных NCES (с функциями) отличается от семантики обычных NCES в следующем: 1) маркировка позиций из множеств apret и apost не влияет на разрешенность перехода teT; 2) при срабатывании перехода te T, для которого Q(t) Ф none, маркировка позиций apre* не изменяется, а маркировка позиции из apostt устанавливается равной значению функции Q(t). При вызове функции Q(t) позиции из apre упорядочиваются в соответствии с функцией нумерации C.

На рис. 2 приведен пример перехода сетевой модели, имеющего обычные (pt и tp), условные (с), событийные (ev), ингибиторные () и арифметические (pa и ap) дуги, а также функцию обработки данных (f). Следует отметить, что в рамках aNCES-сетей могут быть разработаны доменноориентированные переходы для определенной предметной области. Для моделирования алгоритмов полезны переходы-обработчики, выполняющие элементарные арифметические, логические операции и операции сравнения. Из них могут быть составлены любые алгоритмы обработки данных.

р1 р2 р3 р4 р5 рб

0 сз2 оз ооо

ра 1 ра * ра 3 с рі і

1_і____і______4_____і____і___

у = У(х1, х2, х3)

ар Ф 1р

о б А

р7 р8 р9

Рис. 2 Переход аЖСЕ£-сети

Другое важное расширение аЛСЕБ-сетей находится в области структуризации сетевых моделей. Известно, что в обычных модульных ЛСЕЗ-сетях не разрешены потоки меток между модулями. Это затрудняет моделирование потоков данных между ФБ. Используемый в аЛСЕ^-сетях модуль представляет собой макроопределение (рис. 3). В отличие от ЛСЕ^-модулей, между модулями этого типа возможна передача меток. Тип входа-выхода модуля определяется типом проходящей через границу модуля дуги.

3 Метамодели систем функциональных блоков

Ниже определяется графический язык функциональных блоков, основанный на их представлении в виде ТАГ. Мотивом разработки языка является создание языковой базы для трансформации описаний систем ФБ в другие модельные формы, в частности в сетевые модели для проведения верификации системы. Синтаксис языка ФБ определяется с помощью метамоделей. Подход на основе метамоделирования широко распространен для определения синтаксиса визуальных языков моделирования.

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

состоянию .^2 на рис. 1). В одноуровневой системе ФБ раскрыты все блоки, включая базисные. Эти системы состоят только из «начинок» базисных ФБ, связанных сетью клапанов данных (КД). При этом интерфейсные элементы базисных ФБ сохраняются. Эту форму представления систем ФБ можно считать нормализованной, поскольку ее дальнейшее раскрытие невозможно.

Идея КД и переход к одноуровневой структуре систем ФБ были впервые предложены в работе [12]. КД представляет программную единицу, осуществляющую при приходе управляющего сигнала копирование данных с информационных входов на выходы. В простейшем случае КД представляет копировщик, управляемый от разветвителя сигнала (рис. 4). Каждый КД имеет один событийный вход-выход и несколько информационных входов-выходов. Для представления КД могут использоваться различные нотации (рис. 5). На рис. 6 представлена метамодель замкнутой одноуровневой системы ФБ.

Управление

Разветвитель

а

Данные

£>

Копировщик

Рис. 4 Простой клапан данных

Рис. 5 Представления клапана данных

Рис. 6 Метамодель одноуровневой системы ФБ

В приведенной метамодели (рис. 6) используются следующие типы вершин: CEI и CEO - событийные вход и выход оболочки ФБ соответственно; CDI и CDO - информационные вход и выход оболочки ФБ соответственно; S -ЕС-состояние; Cond - условие ЕС-перехода; Act - ЕС-акция; Var - внутренняя переменная; DV E - разветвитель КД; DV D - копировщик КД.

В метамодели на рис. 6 используются следующие типы дуг: w - WITH-связь; eic - дуга, связывающая событийный вход оболочки с условием ЕС-перехода; aeo - дуга, связывающая ЕС-акцию с событийным выходом оболочки; t - дуга, связывающая EC-состояния и условия; a - дуга, связывающая ЕС-состояние с первой EC-акцией или ЕС-акции между собой согласно порядку их выполнения; so - дуга, определяющая порядок оценки ЕС-переходов, выходящих из одного ЕС-состояния; par - дуга для представления потоков данных через алгоритмы. Данная дуга служит также для определения параметров условия ЕС-перехода. Для представления потока событий между ФБ используются дуги типа ec, а для представления потока данных - дуги типа dc. Из всех используемых атрибутов вершин требует пояснения только атрибут path. Данный атрибут представляет путь до родительского ссылочного экземпляра в дереве иерархии. Путь представляет собой конкатенацию имен экземпляров ФБ, лежащих на этом пути.

В предложенной метамодели алгоритмы, связанные с ЕС-акцией, специфицируются только на уровне интерфейсов (входов-выходов). Кардинальности связей определяют допустимую структуру взаимосвязей экземпляров вершин.

4 Метамодели арифметических NCES-сетей

В данном разделе представлен графический язык модульных aNCES-сетей, основанный на их представлении в виде ТАГ. На рис. 7 приведена метамодель (без атрибутов) используемой в работе доменно-ориентированной aNCES-сети с учетом следующих упрощений: 1) используется один доменноориентированный арифметический переход Copy для моделирования КД; 2) используется ограниченный набор типов входов-выходов aNCES-модулей. Вершины типов CTI, CCI, CPI, CTO, CCO и CPO определяют интерфейс модуля, причем вершина типа CTI (CTO) представляет событийный вход (выход), CCI (CCO) - условный вход (выход), CPI (CPO) - вход (выход) по данным. Вершины типов TI, CI, PI, TO, CO и PO аналогичны перечисленным вершинам, но они определяют интерфейс ссылочного экземпляра модуля. Вершина типа Т представляет переход сетевой модели, вершина типа P - позицию сетевой модели, а вершина типа Module - ссылочный экземпляр модуля. Дуги типа b определяют принадлежность интерфейсных вершин определенному ссылочному экземпляру модуля. Дуги типаpt и tp представляют связи между позициями и переходами и переходами и позициями соответственно. Связь типа ev служит для определения событийных дуг, а типа с - условных дуг. Дуги типа pa и ap являются арифметическими.

Следует заметить, что метамодели конкретных типов и систем NCES могут быть получены из приведенной метамодели путем удаления определенных структурных элементов или в результате манипулирования с кратностью вершин. Например, чтобы из приведенной метамодели получить метамодель базисного модуля NCES-сети, достаточно положить кратность всех вершин, кроме вершин CTI, CCI, CTO, CCO, Tи P, равной нулю.

Рис. 7 Метамодель модуля многоуровневой aNCES-сети

5 Правила перехода от многоуровневых к одноуровневым системам ФБ

Переход от многоуровневой структуры системы ФБ к одноуровневой структуре производится в два этапа. На первом этапе (этапе компоновки) рекурсивно осуществляется замена ссылочных экземпляров ФБ на соответствующие им развернутые экземпляры. На втором этапе (этапе встраивания) производится встраивание развернутых экземпляров ФБ в окружающую среду.

Все правила перехода к одноуровневому представлению систем ФБ можно разбить на два класса: правила компоновки и правила встраивания развернутых экземпляров.

С использованием правил первого вида представляются типы ФБ. Правила второго вида делятся на правила: 1) создания КД; 2) связывания КД по событийным и информационных линиям; 3) связывания КД по WTH-связям; 4) удаления ненужных элементов.

В свою очередь правила создания КД включают правила: 1) создания разветвителей (входных/выходных); 2) копировщиков (входных/выходных).

Правила для создания КД являются однотипными, поэтому рассмотрим их на примере правила создания входного разветвителя DVE (рис. 8). Вершина типа EI определяет событийный вход ссылочного экземпляра ФБ. Правило применяется при выполнении следующих условий по атрибутам: 1) EI.nameM=CEI.path; 2) EI.name=CEI.name. Слева от правила записано NAC-условие, представляющее собой граф, который определяет запрещенную графовую структуру. В данном случае условие NAC предназначено для исключения дублирования разветвителей.

g

1:EI —

DV E

NAC

g

2: CEI

1:EI

name=x

nameM=y

2: CEI

name=x

path=y

'=>l1E>g-

DVE

name=x

path=y

2: CEI

Рис. 8 Правило создания входного разветвителя клапана данных

g

6 Правила синтеза многоуровневых aNCES-сетей на основе одноуровневых систем ФБ

Правила синтеза многоуровневых aNCES-сетей на основе одноуровневых систем ФБ по сути определяют семантику ФБ в нотации aNCES. Их можно разделить на следующие группы правил: 1) правила создания элементов; 2) правила связывания элементов; 3) правила создания и связывания элементов; 4) правила замены элементов; 5) правила установки атрибутов элементов; 6) правила удаления элементов. Всего разработано 41 правило синтеза. Все перечисленные правила имеют один и тот же приоритет, за исключением правил удаления, приоритет которых ниже.

В качестве примера правила класса 3 рассмотрим правило, представленное на рис. 9. Данное правило создает переход сетевой модели, моделирующий EC-переход, встраивает данный переход сетевой модели в общую сетевую модель ECC и соединяет событийной дугой выход true соответствующего (уже существующего) Cond-модуля с созданным переходом. На рис. 9 переменная x определяет текущее значение счетчика переходов. Под Cond-модулем понимается модуль aNCES-сети, предназначенный для вычисления условия EC-перехода.

Рис. 9 Правило создания перехода сетевой модели, имитирующего ЕС-переход, и его встраивание в NCES-модель ЕСС

Пример. В качестве примера рассмотрим синтез целочисленной aNCES-модели для простейшей системы, включающей один функциональный блок типа E_SR, представляющий RS-триггер (рис. 10). Алгоритм SET устанавливает выходную булеву переменную в значение «Истина», а алгоритм RESET - в «Ложь».

а) б)

Рис. 10 Графическое представление ФБ E SR: интерфейс ФБ (а) и диаграмма ЕСС (б)

Представление ФБ E_SR в виде правила перезаписи графов в системе AGG приведено на рис. 11. Правая часть правила построена в соответствии с метамоделью базисного ФБ и с учетом положений о построении шаблонов правил компоновки. Графовое представление простой системы функциональных блоков, включающей один ФБ ESR, изображено на рис. 12. Эта система соответствует метамодели составных ФБ.

Рис. 11 Представление (типа) функционального блока ESR в виде правила перезаписи графов в системе AGG

г > CEI Г EI r EO ec CEO

name=”cei1” path=”” name=”S” nameM=”.il” ч b N 4 * FB b , ✓ * name=”EO” nameM=”.il” name ceol path=””

name=”il” nameT=”E SR” path=””

Ь * Kb

CEI ec ► ' EI DO dc ► CDO

name=”cei2” name=”R” ✓ \ name= Q name cdol

path=”” nameM=”.il” V J nameM=”.il” path=””

Рис. 12 Система ФБ, включающая один функциональный блок ESR

На рис. 13 изображена модульная aNCES-сеть, моделирующая систему ФБ, содержащую один ФБ типа E_SR. Графовое представление этой aNCES-сети было получено путем последовательных преобразований графового представления системы ФБ (рис. 11, 12) на основе применения правил в системе AGG [12].

Следует отметить, что NCES-модуль типа ConrtrolECC на рис. 13 представляет управляющую часть интерпретатора ЕСС. Модуль CondEVENT предназначен для вычисления условия, включающего только один событийный вход. Модули Alg E SR SET и Alg E SR RESET представляют алгоритмы установки выходной булевой переменной Q в значение «Истина» (1) и «Ложь» (0), соответственно. Одноуровневое представление сетевой модели может быть получено путем раскрытия модулей aNCES-сети.

Рис. 13 Модульная aNCES-сеть, представляющая систему ФБ на рис. 11, 12

Заключение

В работе кратко рассмотрен подход на основе преобразований графов для синтеза формальных моделей систем ФБ IEC 61499. Данный подход положен в основу прототипа синтезирующей системы, реализованного с помощью системы трансформации графов AGG. Из-за лимита печатного места в работе не рассмотрены вопросы моделирования систем ФБ с помощью aNCES-сетей, а также не представлены в достаточной мере правила преобразования графов.

Список литературы

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Function blocks for industrial-process measurement and control system. - Part 1: Architecture, International Electrotechnical Commission Geneva, 2005.

2. Vyatkin, V. Rapid engineering and re-configuration of automation objects using formal verification / V. Vyatkin V., H.-M. Hanisch, S. Karras, T. Pfeiffer, V. Dubinin // International Journal of Manufacturing Research. - 2006. - V. 1. - № 4. - P. 382-404.

3. Hanisch, H.-M. Netz-Condition/Event-Systeme. 4. Fachtagung Entwurf komplexer Automatisierungssysteme (EKA’95) / H.-M. Hanisch, M. Rausch. - Braunschweig, Mai 1995, Tagungsband. - S. 55-71.

4. Vyatkin, V. A Modeling Approach for Verification of IEC 61499 Function Blocks Using Net Condition/Event Systems / V. Vyatkin, H.-M. Hanisch // Emerging technologies and factory automation (ETFA’99) : IEEE Int. Conf. - 1999. - P. 261-270.

5. Pang, C. Towards Formal Verification of IEC61499: modelling of Data and Algorithms in NCES / C. Pang, V. Vyatkin // IEEE Int. Conf. on Industrial Informatics (INDIN’2007). - Vienna, 2007. - P. 879-884.

6. Lueder, A. Formal models for the verification of IEC 61499 function block based control applications / A. Lueder, C. Schwab, M. Tangermann, J. Peschke // Emerging technologies and factory automation (ETFA’2005) : IEEE Int. Conf. Catania. - 2005. -P. 105-112.

7. Ivanova-Vasileva, I. Transformation of IEC 61499 control systems to formal models I I. Ivanova-Vasileva, C. Gerber, H.-M. Hanisch II Automatics and Informatics (CAI'07). - Sofia. - 2007. - P. 5-10.

8. Sendall, S. Model transformation: The heart and soul of model-driven software development I S. Sendall, W. Kozaczynski II IEEE Software. Special Issue on Model-Driven Software Development. - 2003. - № 20 (5). - P. 42-45.

9. Ehrig, H. Fundamental theory for typed attributed graph transformation I H. Ehrig, U. Prange, G. Taenzer II Graph Transformation: 2nd Int. Conf. (ICGT 2004). Lecture Notes in Computer Science. - Springer-Verlag, 2004. - V. 3256. - P. 161-177.

10. Дубинин, В. H. Рефакторинг диаграмм управления выполнением стандарта IEC 61499 I В. Н. Дубинин, В. В. Вяткин II Известия высших учебных заведений. Поволжский регион. Технические науки. - 2008. - № 2. - С. 16-25.

11. AGG Web-сайт http:lltfs.cs.tu-berlin.delagg

12. Dubinin, V. Towards a Formal Semantics of IEC 61499 Function Blocks I V. Dubinin, V. Vyatkin II IEEE Int. Conf. on Industrial Informatics (INDIN’2006), Singapore. - 2006. - P. 6-11.

i Надоели баннеры? Вы всегда можете отключить рекламу.