25
5. Основы языка CPN ML
CPN Tools использует язык CPN ML для создания описаний в индексе и
надписей элементов сетей (атрибутов). CPN ML обеспечивает описание
множеств цветов (типов данных), переменных, функций, величин (констант). У
каждой позиции раскрашенной сети Петри должен быть обязательный атрибут
– определенное множество цветов; позиция может содержать фишки только
указанного множества цветов. Переменные и функции используются для
указания атрибутов
переходов и дуг.
Описания расположены в индексе, как часть сети. Существуют
стандартные предопределенные описания таких множеств цветов как:
E – элементарный тип, INT – целые числа, BOOL – логический тип, STRING –
строковый тип. Описания пользователя могут быть добавлены после
стандартных описаний, с помощью контекстно-зависимых меню. Кроме того,
для сложных сетей CPN Tools обеспечивает внешние
описания, которые могут
быть загружены из файла.
CPN Tools автоматически проверяет синтаксис сети при ее создании или
загрузке. По цветным индикаторам (аурам) можно увидеть, насколько
выполнилась проверка. Цветные индикаторы отображаются в индексе,
подсвечивая имя описания или страницы, которые проверяются. Если страница
открыта в графическом редакторе, аура также показана наверху в ярлыке
страницы
и на элементах сети. Оранжевое свечение указывает на то, что
элемент в настоящее время не проверен. При загрузке сети проверка синтаксиса
может занимать несколько минут. На этом этапе элементы изменяют свечение
от оранжевого через желтое к отсутствию свечения (или красному, если
обнаружена ошибка). Если оранжевое свечение остается, то это, вероятно,
потому
что что-то пропущено в описании или соответствующий элемент сети
содержит несерьёзную ошибку.
Описания проверяются, начиная сверху. Если описание зависит от другого
описания, представленного ниже, то выводится ошибка, указывающая, что
описание не определено. Описания с ошибками повторно проверяются, когда
сделано изменение в любом из них. Если в описании есть ошибка, то оно будет
подсвечено красным цветом. Имя сети и все задействованные страницы также
будут
подсвечены красным цветом.
Красное свечение означает, что элемент проверен, но содержит ошибку.
Всплывающее сообщение при указании элемента курсором поясняет причину
ошибки. Другие элементы, связанные с элементом, содержащим ошибку, не
проверяются, пока ошибка не будет устранена.
5.1. Простые множества цветов
CPN ML обеспечивает следующие простые множества цветов: unit,
boolean, integer, string, enumerated, index.