УДК 004.31
Моделирование сценариев действий пользователя в среде САПР
на базе сетей Петри
Е.Р. Пантелеев, В.А. Зуйков ФГБОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина»,
г. Иваново, Российская Федерация E-mail: [email protected]
Авторское резюме
Состояние вопроса: Потребность в методической поддержке процессов автоматизированного проектирования обусловлена целым рядом факторов. Во-первых, технология проектирования вследствие автоматизации претерпевает существенные, а иногда и радикальные изменения. Во-вторых, освоение информационных технологий в объемах, необходимых для эффективного использования программного и информационного обеспечения САПР, составляет серьезную проблему для некоторых проектировщиков, так как сценарии выполнения проектных процедур и операций в среде САПР достаточно сложны и допускают множество вариаций в зависимости от контекста решаемой задачи и опыта проектировщика. Контекстная зависимость сценария автоматизированного проектирования делает неэффективной методическую поддержку в режиме оффлайн (справочные руководства, компьютерные учебники). В связи с этим приобретает актуальность задача методической поддержки непосредственно в процессе автоматизированного проектирования. Решение этой задачи требует разработки адекватной модели сценария, позволяющей оперативно идентифицировать текущее состояние проекта, оценить действия проектировщика по изменению этого состояния и в случае необходимости сформировать корректирующее воздействие.
Материалы и методы: На основании сравнительного анализа различных математических платформ для разработки отвечающей этим требованиям модели сценария действий проектировщика использован аппарат раскрашенных иерархических сетей Петри и приложение CPN Tools для моделирования и валидации таких сетей. Результаты: На платформе раскрашенных иерархических сетей Петри разработаны модели сценариев действий проектировщика в среде САПР AutomatiCS. Подтверждено соответствие этих моделей требованиям оперативной методической поддержки.
Выводы: Предложенная модель сценариев представляет собой адекватную информационную базу для обеспечения методической поддержки в режиме онлайн. Практическое использование полученных результатов в составе комплекса средств поддержки проектировщика требует разработки программного обеспечения для перехвата и интерпретации примитивных действий пользователя с элементами интерфейса САПР.
Ключевые слова: САПР, раскрашенные сети Петри, методическая поддержка, модель сценария проектирования.
Modeling of user activity scenarios in a Petri net-based CAD environment
E.R. Panteleyev, V.A. Zuikov, Ivanovo State Power Engineering University, Ivanovo, Russian Federation E-mail: [email protected]
Abstract
Background: The need for methodological support of computer-aided design is caused by several factors. Firstly, automation induces significant and sometimes radical changes in the design technology. Secondly, the implementation of information technologies in the volumes ensuring the efficient use of software and cAd information systems is a serious problem for some designers as scenarios of design procedures and operations in the CAD environment are complicated and have numerous variations depending on the context and the designer's experience to solve such problems. The contextual dependence of computer-aided design scenarios makes off-line methodological support (reference guides, computer manuals) inefficient. Therefore, it becomes necessary to give methodological support directly in the process of computer-aided design. This problem can be solved by developing an adequate scenario model that allows us to quickly identify the current status of a project, to assess the actions of the designer to change this condition and, if necessary, to form corrective action.
Materials and methods: We have compared different mathematical development platforms in order to develop a designer action scenario model meeting these requirements by using the colored hierarchical Petri nets and CPN Tools application to model and validate such nets.
Results: We have developed a model of designer action scenarios in the CAD AutomatiCS environment based on the colored hierarchical Petri nets and proved that the models meet the requirements of the operational methodological support. Conclusions: The proposed scenario model is an adequate data base to provide online methodological support. The application of the obtained results as part of a methodological support complex requires special software for the interception and interpretation of primitive user actions with CAD interface elements. Key words: CAD, colored Petri nets, methodological support, design scenario model.
DOI: 10.17588/2072-2672.2015.5.070-075
Современные САПР объектов энергетики обеспечивают высокий уровень автоматизации проектирования, способствуют повышению качества проектов за счет уменьшения количества ошибок, вызванных дублированием данных и использованием неадекватно упрощенных моделей. Вместе с тем внедрение САПР влечет за собой глубокую реструктуризацию проектных работ. Так, ориентированная на решение задач автоматизации проектирования систем контроля и управления энергетическими объектами САПР AutomatiCS [1] базируется на так называемой единой модели проекта, фактически отражающей эволюцию системы на протяжении всего ее жизненного цикла. По сравнению с традиционным подходом, заключающимся в итерационном проектировании систем КИПиА различными подразделениями проектной организации на базе множества проектных документов, дублирующих описание системы в различных аспектах ее функционирования и с разной степенью детализации, что неизбежно приводит к ошибкам согласования и затягиванию сроков проектирования, новая технология лишена этих недостатков. Поэтому внедрение и эксплуатация САПР требуют методического обеспечения, устанавливающего состав, правила отбора и применения средств автоматизации проектирования. Контекстная зависимость сценариев автоматизированного проектирования от текущего состояния модели проекта делает неэффективной методическую поддержку в режиме оффлайн (справочные руководства, компьютерные учебники). Эти средства поддержки удовлетворительно справляются с задачами внеконтекстного описания модели проекта, методов и инструментов ее трансформации, но становятся явно недостаточными, как только речь заходит об особенностях использования этих методов и инструментов в конкретной ситуации, ограничиваясь в лучшем случае разбором ограниченного количества примеров. Следовательно, приобретает актуальность задача методической поддержки непосредственно в процессе автоматизированного проектирования [2, 3]. Решение этой задачи требует разработки адекватной модели сценария автоматизированного проектирования, позволяющей, с учетом его сложности, выполнять следующие функции:
• оперативно идентифицировать текущее состояние проекта;
• оценить действия проектировщика по изменению этого состояния;
• в случае необходимости сформировать корректирующее воздействие.
В конечном счете реализация оперативной методической поддержки проектировщика на такой информационной платформе должна способствовать формированию умений идентифицировать текущее состояние в пространстве состояний модели проекта, навыков выбора рационального направления движения к целевому со-
стоянию проекта, компетенций решения проектных задач в целом.
Сформулированные выше требования к модели сценариев автоматизированного проектирования создают основу для объективного анализа различных математических платформ ее реализации.
Идея оперативной методической поддержки в контексте решаемых при помощи компьютерной программы задач не является оригинальной. Известные к настоящему времени модели, ориентированные на решение этой задачи, можно разделить на два класса - вероятностные и детерминированные.
К вероятностным можно отнести модели на основе нечетких множеств [4] и сетей Байеса1. С точки зрения возможности их использования для представления сценария взаимодействия пользователя с САПР они имеют два недостатка. Во-первых, возможные действия пользователя детерминированы состоянием сценария, хотя часто он имеет возможность активировать одно и то же действие при помощи разных элементов интерфейса (контекстного меню, горячих клавиш, инструментов панели приложения) или же выбирать различные действия, доступные одновременно в данном состоянии сценария. Во-вторых, математический аппарат сетей Байеса из-за высокой вычислительной сложности вывода накладывает серьезные ограничения на размеры модели. Модели этого класса подходят для использования в системах интернет-коммерции либо в качестве агентов интерфейса локальных приложений, хотя в этом последнем качестве (агент «Скрепка» в пакете MS Office) они зарекомендовали себя отрицательно2.
К детерминированным моделям сценариев можно отнести UML-диаграммы вариантов использования и последовательности [5], применяемые в программной инженерии. Их недостаток - отсутствие собственных средств контроля правильности диаграмм - является критичным для представления сценариев автоматизированного проектирования, нуждающихся в отладке ввиду своей сложности. К этому же классу моделей можно отнести раскрашенные иерархические сети Петри (РИСП) [6], широко используемые для моделирования сложных систем, отличающихся параллелизмом, взаимодействием и синхронизацией операций - в первую очередь вычислительных систем и сетевых протоколов обмена. С точки зрения формального представления сценариев автоматизированного проектирования сети Петри обладают такими очевидными преимуществами, как явное представление состояния задачи в виде разметки сети, интерпретация операций сценария в виде асинхронных псевдопараллельных событий, возможность моделиро-
1 Swartz L. Why people hate the paperclip: Labels, appearance, behavior, and social responses to user interface agents. - Stanford University, 2003. - 59 p.
2 Там же.
вания развития сценария в функции действий пользователя по изменению разметки. Аппарат РИСП, кроме того, предоставляет разработчику модели такие ценные возможности, как типизация маркеров, позволяющая детализировать состояние модели с точностью до значений переменных, и иерархическая организация сети, основанная на использовании «подстановочных переходов» (substitution transitions) и позволяющая управлять сложностью сценария путем его декомпозиции на модули. В связи с этим для моделирования сценариев действий пользователя в среде САПР был выбран именно аппарат РИСП.
Черно-белая сеть Петри [7] представляет собой двудольный ориентированный мульти-граф, одно из подмножеств вершин которого называется позициями (изображаются кружками), а второе - переходами (изображаются прямоугольниками). На множестве позиций определена функция разметки, отображающая множество позиций на множество натуральных чисел. Разметка обычно изображается соответствующим количеством точек (нетипизированных маркеров) внутри позиций (на рис. 1,а количество маркеров в позиции показано числом справа от нее). Динамика сети Петри заключается в изменении разметки позиций в результате срабатывания переходов. Переход может сработать, если он активен. Переход называется активным, если количество маркеров в любой из его входных позиций не меньше кратности дуги, соединяющей эту позицию с переходом. Если в сети имеется несколько активных переходов, в данный момент дискретного времени сработать может любой, но только один из них. В результате срабатывания перехода из его входных позиций изымаются маркеры в количестве, равном кратности соответствующих входящих дуг, а в выходные позиции помещаются маркеры в количестве, равном кратности соответствующих исходящих дуг (рис. 1, б).
Модель сценария автоматизированного проектирования в виде сети Петри использует следующую интерпретацию. Позиции - переменные состояния сценария проектирования; маркеры - значения переменных сценария, формируемые в результате действий проектировщика и реакции САПР на эти действия; переходы - потенциальная реакция САПР на действия проектировщика; следствие срабатывания активного перехода - изменение разметки (состояния сценария).
В отличие от черно-белой сети Петри, раскрашенная сеть оперирует типизированными маркерами. Это позволяет детализировать переменные состояния сценария с точностью до их численных или строковых значений. Раскрашенные иерархические сети (РИСП), кроме того, обеспечивают возможность модульной декомпозиции сложного сценария.
Рассмотрим пример моделирования фрагмента сценария формирования ТЗ на проектиро-
вание в среде САПР AutomatiCS [1, с. 95], иллюстрирующий изобразительные возможности РИСП с помощью приложения CPN Tools [6]. Смысл выполняемых в рамках данного сценария действий проектировщика заключается в добавлении в ТЗ новых элементов, соответствующих каналам контроля, и определении параметров этих элементов.
б)
Рис. 1. Черно-белая сеть Петри в приложении CPN Tools: а -начальная разметка, переход t активен; б - разметка после срабатывания перехода t
Список элементов проекта формируется в диалоговом окне путем выбора элемента из списка в хранилище-источнике и нажатия кнопки «Добавить». САПР AutomatiCS предполагает наличие двух источников для добавления элементов в ТЗ - базы данных и текущего проекта. После того, как очередной элемент добавлен в проект, проектировщик выполняет редактирование его параметров в окне, которое открывается после нажатия кнопки «Добавить». В этом окне параметры добавленного элемента представлены списком значений двух типов - перечисляемого (соответствует выбору значения из раскрывающегося списка) и числового (соответствует вводу значения с клавиатуры). Диалог редактирования параметров завершается нажатием кнопки «Принять» (сохраняет результаты редактирования параметров) или кнопки «Отменить» (аннулирует результаты редактирования). Декларации CPN
Tools, отражающие потребности описанного сценария, представлены на
рис. 2. Здесь можно видеть определения двух цветов перечисляемого типа, соответствующих выбору источника элементов (Src) и способа завершения диалога (Exit), определения переменных этих типов, определения переменных n (индекс элемента) и k (индекс параметра) базового типа INT, определение цвета V (значение параметра - индекс в выпадающем списке либо число) и переменной v этого типа, а также определение цвета PV (значение параметра элемента) и переменной p этого типа.
▼ со I s et V=union ind:INT+value: RE AL:
▼ со I set PV = product I NT* I NT* V;
Рис. 2. Декларации сценария формирования ТЗ
Вид РИСП, реализующей описанный выше сценарий выбора и параметризации элементов с использованием этих определений, показан на рис. 3.
На главной странице (рис. 3,а) показано исходное состояние сценария: ТЗ не содержит элементов; база данных содержит элементы с индексами 1, 2 и 3; проект содержит элементы 4 и 5; пользователь планирует добавить в проект элемент с индексом 2 из базы данных. Реакцию системы определяют переход GetParamFromDB (взять параметр из базы данных) и альтернативный ему GetParamFromPrj (взять параметр из проекта), а также подстановочный переход (модуль) SetParamValue. Альтернативу выбора источника определяет связывание переменной s.
Внутреннее состояние модуля редактирования параметров (Param_Setting) с интерфейсом «индекс элемента n» (вход) - «значение параметров элемента PV» (выход) характеризуется списком индексов параметров элементов (n,k), индексом параметра, выбранного пользователем для редактирования (k), определенным пользователем значением этого параметра v и выбранным им признаком завершения е. Реакцию САПР на действия пользователя моделируют переходы DefPar (выбрать параметр), DefVal (определить значение параметра), AcceptChng (завершить редактирование).
При показанном на рис. 3,а,б варианте начальной разметки становится активным и срабатывает переход GetParamFromDB. В результате его срабатывания в позицию 4 попадает маркер целого типа со значением 2 (индекс выбранного
пользователем элемента) и активируется подстановочный переход SetParamValue.
Внутри модуля Param_Setting выполняются условия активности перехода Repl, в функцию которого входит создание локальной реплики параметра п. Далее активизируется переход выбора параметра Def_Par. Он срабатывает, в результате чего в позицию P4 попадает пара «индекс элемента - индекс параметра». Существенно, что маркер п в результате срабатывания Def_Par остается в позиции P1, сохраняя для всех последующих шагов редактирования списка параметров единый контекст (индекс элемента). На следующем шаге моделирования сценария становится активным переход выбора значения параметра Def_Val, и в результате его срабатывания в позиции P5 формируется композитный маркер «индекс элемента - индекс параметра -значение параметра». Наконец, активизируется и срабатывает переход Accept_Chng, и к множеству выбранных и параметризованных элементов проекта добавляется новый элемент, поскольку пользователь выбрал вариант выхода «Принять» (результаты редактирования параметров). Важно, что при любом варианте выхода из диалогового окна редактирования параметров контекст редактирования (индекс элемента) сбрасывается благодаря тому, что позиция P1 является входной по отношению к переходу Accept_Chng. Финальное состояние разметки показано на рис. 3,в.
Необходимо отметить, что количество повторений сценария определяется исключительно разметкой (в данном случае мы ограничились одной итерацией исключительно по соображениям наглядности изложения материала). Кроме того, в процессе методической поддержки в режиме онлайн предполагается динамическое формирование разметки, отслеживающее действия пользователя в пошаговом режиме.
Разработанная в формате РИСП модель сценария взаимодействия пользователя с приложением САПР адекватна задаче оперативной методической поддержки, так как она позволяет:
• идентифицировать контекст действий пользователя с точностью до иерархии активных переходов;
• детализировать этот контекст с точностью до значений параметров состояния сценария с помощью типизированной разметки позиций;
• оценить релевантность действий пользователя (релевантными считаются действия, направленные на активизацию в текущем контексте сопоставленных переходам проектных процедур);
• сформировать оперативное корректирующее воздействие в функции рассогласования фактических действий пользователя с релевантными.
Полученные в рамках данного исследования результаты будут использованы для разработки комплекса методической поддержки САПР, включающего в себя подсистемы перехвата, идентификации и интерпретации активности пользователя для оперативного формирования корректирующих воздействий.
б)
New Page Param Setting
О :
e>
о-
GetParamFromDB
if s=DB then 1' n else empty
G>
T MX
___ Г 4+4
^—TUT
1' 4++1' 5
H
INT
GetParamFromPrj
SetParamValue
Г 5 1) 1' (2,l,val
«"""Dl/
lue(3.14))|
if s=Project then 1' n else empty
None j
в)
Рис. 3. Сценарий формирования ТЗ в САПР AutomatiCS: а - сценарий формирования ТЗ - главная страница; б - модуль редактирования параметров; в - состояние сценария после интерпретации действий пользователя
Список литературы
1. Целищев Е.С., Глязнецова А.В., Кудряшов И.С.
Методики эффективной автоматизации проектирования технического обеспечения АСУТП: учеб. пособие. - Иваново, 2012. - 196 с.
2. Bhavnani S.K. et al. CAD usage in an architectural office: from observations to active assistance // Automation in Construction. - 1996. - Т. 5, №. 3. - С. 243-255.
3. Linton F. et al. Owl: A recommender system for organization-wide learning // Educational Technology & Society. - 2000. -Т. 3, №. 1. - С. 62-76.
4.Алфимцев А.Н., Девятков В.В., Саккулин С.А. Персонализация в гипертекстовых сетях на основе распознавания действий пользователей и нечеткого агрегирования // Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. -2012. - № 3. - С. 102-111.
5.Алфимов Р.В., Золотухина Е.Б. Описание предметной области с использованием UML при разработке программных систем // КомпьютерПресс. - 2001. - № 4.
6. Jensen K., Kristensen L.M., Wells L. Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems // International Journal on Software Tools for Technology Transfer. - 2007. - Т. 9, №. 3-4. - С. 213-254.
7. Котов В.Е. Сети Петри. - М.: Наука, ГРФМЛ, 1984. -
160 с.
References
1. Tselishchev, E.S., Glyaznetsova, A.V., Kudryashov, I.S. Metodiki effektivnoy avtomatizatsii proektirovaniya tekhnichesko-go obespecheniya ASUTP [Methods of effective automation of industrial control systems technical support design]. Ivanovo, 2012. 196 p.
2. Bhavnani, S.K. et al. CAD usage in an architectural office: from observations to active assistance. Automation in Construction, 1996, vol. 5, no. 3, pp. 243-255.
3. Linton, F. et al. Owl: A recommender system for organization-wide learning. Educational Technology & Society, 2000, vol. 3, no. 1, pp. 62-76.
4. Alfimtsev, A.N., Devyatkov, V.V., Sakkulin, S.A. Perso-nalizatsiya v gipertekstovykh setyakh na osnove raspoznavaniya deystviy pol'zovateley i nechetkogo agregirovaniya [Personalization in hypertext networks based on user action detection and fuzzy aggregation]. Vestnik MGTU im. N.E. Baumana. Ser. Pribo-rostroenie, 2012, no. 3, pp. 102-111.
5. Alfimov, R.V., Zolotukhina, E.B. Opisanie predmetnoy oblasti s ispol'zovaniem UML pri razrabotke programmnykh sis-tem [UML description of subject domain in software development]. Komp'yuterPress, 2001, no. 4.
6. Jensen, K., Kristensen, L. M., Wells, L. Coloured Petri Nets and CPN Tools for modelling and validation of concurrent systems. International Journal on Software Tools for Technology Transfer, 2007, vol. 9, no. 3-4, pp. 213-254.
7. Kotov, V.E. Seti Petri [Petri nets]. Moscow, Nauka, GRFML, 1984. 160 p.
Пантелеев Евгений Рафаилович,
ФГБОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина», доктор технических наук, профессор кафедры программного обеспечения компьютерных систем, телефон (4932) 26-98-60, e-mail: [email protected]
Зуйков Виталлий Аркадьевич,
ФГБОУВПО «Ивановский государственный энергетический университет имени В.И. Ленина», аспирант,
телефон (4932) 26-98-60, e-mail: [email protected]