Научная статья на тему 'Использование раскрашенных сетей Петри для моделирования и верификации параллельных устройств логического управления'

Использование раскрашенных сетей Петри для моделирования и верификации параллельных устройств логического управления Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Венгжин Агнешка, Короткевич Андрей Геннадьевич

Описывается моделирование, верификация и анализ с помощью системы Design/CPN устройств логического управления, алгоритм функционирования которых задаётся раскрашенными сетями Петри.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Венгжин Агнешка, Короткевич Андрей Геннадьевич

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

Using Coloured Petri Nets for Modeling and Testing of Concurrent Logical Controllers

The logic control program is usually specified by drawing the Petri net in terms of interface with the electromechanical devices and the environment of the system. In such case it is not immediately evident that the control system behaves in a satisfactory way. Industrial engineers prefer frequently a form of specification, like interpreted Petri Net, Sequential Function Chart (SFC), Grafcet or Grafchart. In opposite, some popular techniques are informal and do not provide means to validate the design. In the paper, different modelling methods of controllers by means of coloured Petri nets was presented.

Текст научной работы на тему «Использование раскрашенных сетей Петри для моделирования и верификации параллельных устройств логического управления»

КОМПЬЮТЕРНАЯ ИНЖЕНЕРИЯ И ТЕХНИЧЕСКАЯ k~=i ДИАГНОСТИКА

УДК 519.714.5

ИСПОЛЬЗОВАНИЕ РАСКРАШЕННЫХ СЕТЕЙ ПЕТРИ ДЛЯ МОДЕЛИРОВАНИЯ И ВЕРИФИКАЦИИ ПАРАЛЛЕЛЬНЫХ УСТРОЙСТВ ЛОГИЧЕСКОГО УПРАВЛЕНИЯ

ВЕНГЖИН А., КОРОТКЕВИЧА.Г._________

Описывается моделирование, верификация и анализ с помощью системы Design/CPN устройств логического управления, алгоритм функционирования которых задаётся раскрашенными сетями Петри.

1. Введение

Сети Петри являются математическими объектами и как таковые — независимы от физической интерпретации. Они могут эффективно описывать параллелизм. Их графическое представление используется в качестве средства моделирования и анализа цифровых схем, в особенности устройств логического управления [1-4].

Был предложен ряд методов разработки управляющих устройств с помощью сетей Петри [1,3,5,6]. Они реализованы в программном обеспечении, позволяющем разработчикам моделировать систему на различных уровнях абстракции. Как правило, эти средства ориентированы прежде всего на задачи верификации проектов. Одним из наиболее мощных из таких программных средств является система Design/ CPN, работающая с расширением сетей Петри, называемым раскрашенными сетями Петри (CPN, Coloured Petri Nets) [7].

Раскрашенные управляющие интерпретированные сети Петри (CCIPN, Coloured Control Interpreted Petri Nets), введенные в [4], подобны высокоуровневым сетям с цветными фишками, описанным Иенсеном в [7]. В отличие от них, CCIPN обладают преимуществами таких популярных в инженерной практике видов сетей Петри, как интерпретированные сети Петри и Grafcet.

2. Высокоуровневые сети Петри, применяемые в разработке устройств управления

Сети Петри - хорошо известный математический формализм [8]. Существуют различные классы и расширения сетей Петри. Лишь некоторые из них применяются для моделирования цифровых сис-

70

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

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

Формально CPN - это шестёрка:

R = (P, T, C, Pr е, Post, M0),

где р — множество мест; t — множество переходов; C — множество цветов; Pr е, Post — функции, задающие входные и выходные места для переходов (дуги) с приписанными цветами; M 0 — начальная маркировка (с приписанными фишкам цветами).

Такая модель, будучи компактной и удобной для анализа, является, однако, автономной, т.е. не имеет средств описания взаимодействия с окружающим миром. Поэтому её нельзя использовать для задания полной спецификации управляющего алгоритма. Для этих целей применяются интерпретированные сети Петри. В простейшем случае — это сеть Петри, каждому из переходов которой приписано условие (обычно это логическая функция), без выполнения которого переход не может сработать, а также некая операция (в логическом управлении это обычно присваивание значений булевым переменным), выполняемая при его срабатывании. В более полном варианте переходам приписаны, помимо условий, события (возбуждённый переход срабатывает, когда происходит соответствующее событие), операции приписаны местам, им же приписаны задержки (появление фишки в месте влияет на возможность перехода сработать только по прошествии определённого времени). Такая модель описана в [7]. Очевидно, что она позволяет полностью описывать управляющие алгоритмы. Поэтому интерпретированные сети Петри являются формальной основой ряда языков описания параллельных процессов — таких как SFC [10], Grafchart и Grafcet [6], АЛУ и ПРАЛУ [11], PNSF [12].

Возможности обоих классов моделей объединяют раскрашенные управляющие интерпретированные сети Петри (Coloured Control Interpreted Petri Net, CCIPN) [3] и интерпретированные цветные P/T сети (Interpreted Coloured Place/Transition Net, ICPN), впервые описанные в [5]. Такие сети можно определить как интерпретированные сети Петри с цветными фишками. Поскольку в каждом месте может находиться не более одной фишки каждого

РИ, 2000, № 4

цвета, такая сеть должна быть 1-ограниченной (безопасной) относительно каждого цвета. CCIPN является более наглядной моделью, чем другие варианты цветных сетей Петри [3].

Однако вернёмся к автономным раскрашенным сетям, с которыми работает Design/CPN. Функционирование управляющей системы представляется переходами между частичными состояниями; каждый такой переход соответствует некоторому абстрактному процессу. Управляющая система естественно описывается структурированной, обычно иерархической совокупностью объектов. Такие объекты представляют процессы, подпроцессы или их отдельные части [1,2].

3. Моделирование параллельных устройств управления раскрашенными сетями Петри в системе Design/CPN

Design/CPN — это пакет программ, позволяющий изображать, моделировать и анализировать раскрашенные сети Петри. Данная система, один из самых мощных из доступных инструментов работы с сетями Петри, разработана фирмой Meta Software Corporation (США) в тесном сотрудничестве с группой исследования CPN университета г. Аархус (Дания). В настоящее время продукт распространяется бесплатно (в том числе для коммерческих компаний).

Система Design/CPN является диалоговой и состоит из трёх частей:

— редактор, позволяющий изображать сети и осуществляющий синтакисческий контроль введенных данных;

— симулятор, предназначенный для интерактивного или автоматического моделирования CPN;

— анализатор, предназначенный для построения и анализа графов достижимости сетевых моделей.

Система позволяет работать с раскрашенными, иерархическими сетями Петри (формальное определение иерархических CPN приведено в [7]); в ней также можно задавать задержки срабатывания переходов.

Существуют различные стили моделирования параллельных контроллеров цветными сетями Петри. В данном разделе представлены три из них (рис. 1). Продемонстрируем вначале основные обозначения, используемые для цветных сетей Петри в системе Design/CPN.

В этой системе каждое место сети характеризуется именем, набором цветов и начальным состоянием; например, для одного из мест на рис. 1,б это p1, ColorPи 1‘(c1,c2), соответственно. Переходы имеют много атрибутов, таких как временные задержки (для сетей соответствующего класса). В представленных примерах используется только такой атрибут, как имя, например, t1. Для описания дуги используется соответствующее выражение (Arc Expression), например, (c1,c2). Оно определяет, сколько и каких фишек может пройти через данную дугу. Для каждой сети должны также бвть

РИ, 2000, № 4

заданы глобальные объявления (Global Declaration Node), где объявляются наборы цветов (colorsets).

color Color_p = with cl | c2;

а

color Color_p = with cl | c2;

color ColorP = product Color_p * Color_p;

color Color_p = with cl | c2 | c3;

в

Рис. 1. Различные стили моделирования с помощью CPN

При использовании первого метода моделирования (см. рис. 1,a) начальная маркировка задаётся как сумма (1‘c1+1 ‘c2) двух фишек; после срабатывания перехода t1 она переходит в маркировку, в которой места р1 и р3 содержат фишки c1 и c2, соответственно . Затем срабатывание перехода t2 возвращает сеть к начальной маркировке. При таком подходе каждый цвет представляет один последовательный процесс [1,5]. Общее количество цветов соответствует количеству автоматных сетей, на которые может быть декомпозирована данная сеть.

71

Во втором методе маркировка задаётся не совокупностью простых фишек, а сложными объектами. В Design/CPN как средство описания применяется язык ML, позволяющий объявлять сложные типы, такие как декартово произведение двух или более наборов цветов - tuple colorset. Каждый член tuple colorset представляет собой упорядоченную последовательность значений, каждое из которых принадлежит набору цветов, соответствующему его позиции в декартовом произведении. Так, на рис. 1,б начальное состояние места pi (1‘(c1,c2)) задано с помощью элемента tuple colorset, определённого как color ColorP = product Color_P*Color_P.

С другой стороны, цвет может представлять и управляемые объекты [3]. Для такого подхода нужно иное задание цветной сети. В описанных выше методах различные цвета соответствовали различным подсетям. В сети, показанной на рис. 1,в, начальная маркировка представлена фишкой цвета с3. Срабатывание перехода t1 приводит к маркировке с фишками с1 и с2 в местах р2 и р3, соответственно; затем, после срабатывания t2, эти фишки порождают фишку с3.

На рис. 2 показана приготовленная в системе Design/CPN (при использовании первого метода) модель для контроллера сверлильного станка (подробнее об этом примере см. в [9]). Места (от р1 до р16) описаны с помощью набора цветов Color_p. Начальная маркировка задана с помощью выражения 1‘с1+1‘с2+1‘с3.

[color Color_p = with cl | c2 | c3; |

Рис. 2. Модель контроллера сверлильного станка в виде CPN

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

В системе Design/CPN конфликты могут быть разрешены введением дополнительных мест, подсоединяемых к конфликтующим переходам. Наличие фишки в дополнительном месте означает выполнение соответствующего условия. Добавлять фишки в места может пользователь во время моделирования функционирования сети. При отсутствии таких дополнительных мест система выбирает между конфликтующими случайным образом переходами. На рис. 3 показан пример разрешения конфликта: добавлены места рс1 и рс2, подсоединённые к перехдам t17 и t18.

color Color_p = with cl | c2 | c3; color Guard_t = bool;

Рис. 3. Иерархическая CPN (второй уровень иерархии)

4. Иерархический подход к моделированию управляющих устройств

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

72

РИ, 2000, № 4

вать иерархические модели. Сеть при этом представляется совокупностью модулей, которые можно моделировать независимо друг от друга. Модули связаны между собой иерархическими отношениями. Один и тот же модуль может многократно использоваться в сети, поэтому нет необходимости в дублировании элементов, управляющих одними и теми же операциями в различных контекстах. В Design/C PN используются два подхода для описания иерархических сетей Петри: с помощью макромест и макропереходов.

На рис. 3 и 4 показаны последовательные уровни иерархии, описывающие иерархическую сеть для рассматриваемого примера. На первом шаге иерархической декомпозиции некоторые последовательные участки сети объединены в макропереходы. Например, подсеть, состоящая из переходов от t6до t9и мест отр7дор9, выделена в отдельный модуль и представлена в виде макроперехода ТН2. Аналогичным образом получены макропереходы ТН1 и ТН3 (рис. 3). На следующем шаге переходы t2, t6, TH1, TH2 и TH3 объединяются в макропереход ТН4 (рис. 4). Сеть высшего (в данном случае третьего) уровня иерархии проще для анализа, чем соответствующая одноуровневая сеть. Ряд её свойств может быть установлен без необходимости вдаваться в подробности устройства нижних уровней.

color Color_p = with cl | c2 | c3; color Guard_t = bool;

Рис. 4. Иерархическая CPN (третий уровень иерархии)

5. Анализ раскрашенных сетей Петри

Design/CPN предоставляет три способа анализа раскрашенных сетей Петри: моделирование срабатываний переходов, построение графа достижимости и P-инварианты (place invariants).

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

Второй метод анализа основан на построении графа достижимости сети. Такой граф создаётся автоматически. Иерархическая сеть Петри перед его построением преобразуется в одноуровневую. Результаты анализа записываются в файл. Г енериру-емый отчёт содержит сведения о важных с точки зрения моделирования логических контроллеров свойствах сетей, таких как живость, мёртвые места и переходы, ограниченность и т. д. На рис. 5 показана часть отчёта по анализу сети, изображённой на рис. 2.

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

6. Заключение

В данной статье представлены различные методы моделирования контроллеров с помощью цветных сетей Петри. Цвета могут быть интерпретированы, например, как относящиеся к последовательным процессам, выполняемым контроллером в рамках параллельного алгоритма, или к различным управляемым объектам [3].

Statistics

Occurrence Graph Nodes: 78

Arcs: 17 5

Secs: 0

Status: Full

Home Properties

Home Markings: All

Liveness Properties

Dead Markings: None

Dead Transitions Instances: None

Live Transitions Instances: All

Fairness Properties

New'T1 1 Fair

New'T11 1 Impartial

New'T18 1 Just

Рис. 5. Отчёт об анализе сети (фрагмент)

РИ, 2000, № 4

73

Рассмотрен пакет Design/CPN, один из самых мощных программных инструментов моделирования с помощью сетей Петри. Он даёт возможность как для моделирования, в том числе динамического, параллельных управляющих устройств, так и для их анализа. Хотя в этой системе реализовано множество сложных алгоритмов анализа, она не работает с интерпретированными сетями Петри. В связи с этим в статье предлагается подход, позволяющий представлять в Design/CPN логические условия срабатывания переходов.

Литература: 1. WegrzynM., WolanskiP., AdamskiM., MonteiroJ. Field Programmable Device as a Logic Controller // Proceedings of the 2nd Conference on Automatic Control CONTROL’96, Oporto, Portugal. Р.715-720. 2. Wegrzyn M, Adamski M, Monteiro J. Reconfigurable Logic Controller with FPGA // 4th IFAC Workshop on Algorithms and Architectures for Real-Time Control - AARTC’97, Vilamoura, Algarve, Portugal, 9-11.04.1997. Р.247-252. 3. WegrzynM., WolanskiP., AdamskiM., MonteiroJ.L. Coloured Petri Net Model of Application Specific Logic Controller Programs // IEEE International Symposium on Industrial Electronics ISIE’97, Guimaraes, Portugal, 7-11.07.1997. Vol.I. Р. 158-163. 4. WegrzynM. Hierarchiczna synteza kontroleryw cyfrowych z wykorzystaniem FPGA // IKrajowa konferencja naukowa “Reprogramowalne Ukiady Cyfrowe”, RUC’98, Szczecin: Politechnika Szczeckska, 12-13.03.1998, S. 33-40. 5. AdamskiM., WegrzynM. Hierarchically Structured Coloured Petri Net Specification and Validation of Concurrent Controllers // 39th International Scientific Colloquium IWK’94, 1994, Ilmenau, Germany, Band 1. Р.517-522. 6. DavidR, AllaH. Petri Nets & Grafcet. Tools for modelling discrete event systems. New York: Prentice Hall, 1992. 339 p. 7.JensenK Coloured Petri Nets. Basic Concept,

УДК 681.326.35.74 “

ОЦЕНКА ВРЕМЕНИ ТЕСТИРОВАНИЯ ПРИ ОБЕСПЕЧЕНИИ ТЕСТОПРИГОДНОСТИ МАТРИЧНЫХ СТРУКТУР СИСТОЛИЧЕСКОГО ТИПА

КУЛАКЭ.Н, ПЕРЕСЕКИН А.В, ЛЕРЕСЕКИНА ЕВ.

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

Введение

Удешевление и совершенствование технологии изготовления СБИС привели к тому, что они стали основой создания специализированных вычислительных систем, которые целесообразно использовать в тех случаях, когда решение задачи требует больших вычислительных ресурсов и применение этих устройств эффективнее, чем решение традиционными способами. Практически все специализированные СБИС используют преимущества кон-

Analysis Methods and Practical Use / Vol.1. Berlin: Springer-Verlag, 1992. 234 p. 8. MurataT. Petri Nets: Properties, Analysis and Applications // Proceedings of the IEEE, Vol.77, No.4, April 1989. Р.541-580. 9. ВенгжинМ, Корот-кевичА.Г. Иерархический подход к синтезу параллельных логических контроллеров с использованием FPGA // Сборник “Логическое проектирование”. Вып. 5. Минск: Ин-т техн. кибернетики НАН Беларуси. 10. LewisR.W. Programming industrial control systems using IEC 1131-3. London: IEE, 1995. 11. Закревский АД. Параллельные алгоритмы логического управления. Минск: Институт технической кибернетики НАН Беларуси, 1999. 202 с. 12.Koziowski T. Petri Net Specification Format (PNSF). Bristol: University of Bristol, 1994. 6 p.

Поступила в редколлегию11.07.2000

Рецензент: д-р техн. наук, проф. Кривуля Е.Ф.

Венгжин Агнешка, M.Sc., ассистент Технического Университета г. Зелёна-Еура, Польша. Научные интересы: СУБД, интернет-приложения, символьный анализ сетей Петри. Адрес: Dept. of Computer Eng. and Electronics, Technical University of Zielona Gora ul. Podgorna 50, 65-246 Zielona Gora, Poland. E-mail: [email protected]. Тел.: (+48 68) 3282 484.

Короткевич Андрей Геннадьевич, канд. техн. наук, адъюнкт Технического Университета г. Зелёна-Еура, Польша. Научные интересы: приложения сетей Петри в логическом управлении, анализ сетей Петри, комбинаторные задачи в логическом проектировании. Адрес: Dept. of Computer Eng. and Electronics, Technical University of Zielona Gora ul. Podgorna 50, 65-246 Zielona Gora, Poland.

E-mail: [email protected]. Тел.: (+48 68) 3282 484.

вейерной и параллельной обработки. Большое влияние на архитектуру СБИС оказала концепция систолического массива (матрицы) [1,2]. Систолические матрицы имеют простые регулярные межсоединения, что удешевляет их изготовление и повышает плотность упаковки элементов. Высокая плотность размещения элементов обеспечивает высокое быстродействие и малые затраты на дополнительные компоненты.

Традиционные методы тестирования вследствие конструктивных особенностей систолических структур являются крайне неадекватными по ряду причин: управляемость и наблюдаемость ячеек весьма ограничена; последовательное тестирование может привести к высоким временным затратам из-за большого числа ячеек; модели неисправности низкого уровня неприемлемы из-за их технологической неадекватности и комбинаторной сложности [3].

Это послужило толчком к развитию собственных методов тестирования. История развития берет начало с проблемы тестирования итеративных логических матриц, известных ещё с 50-х годов. Внимание на число тестов как функцию числа ячеек матрицы было обращено в конце 60-х годов [3]. А в 1973 году были разработаны достаточные условия для тестирования линейных итеративных логических матриц числом тестовых векторов, которое не зависит от количества ячеек матрицы. Матрицу, удовлетворяющую этим условиям, наРИ, 2000, № 4

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

74

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