Статья: Интеграция моделей и методов контекстной помощи в CAE-систему сетей электроснабжения

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Решение этой проблемы возможно путем регистрации и последующего воспроизведения действий пользователя непосредственно в CAE-системе как для демонстрации эталонных приемов решения задач, так и для анализа проблемных ситуаций. Такой подход был реализован в [9]. Он основан на использовании технологии перехвата сообщений операционной системы, адресованных оконной функции приложения. Его главное преимущество состоит в том, что система регистрации и воспроизведения (СРВ) позволяет регистрировать все действия пользователя X с элементами интерфейса этого приложения, сохранять журнал этих действий, а затем воспроизводить их, эмулируя записанные события ОС. Пользователь Y, таким образом, получает возможность наблюдать в пошаговом (и, если необходимо, интерактивном) режиме за действиями пользователя X, а так как эти действия воспроизводятся в среде приложения, он также имеет возможность анализировать связь между процессом и полученным результатом. Если X - эксперт, он может таким образом продемонстрировать Y эталонные приемы решения задач с помощью приложения. Пользователь Y в роли эксперта может оценить, прокомментировать и при необходимости скорректировать действия X. Кроме того, поскольку СРВ не является частью CAE-системы, ее применение не требует внесения каких-либо изменений в само приложение, что очень важно для программных продуктов, уже выведенных на рынок. Однако последнее преимущество является одновременно и недостатком предложенной конфигурации. Дело в том, что, если СРВ не является частью приложения, она способна регистрировать только синтаксис (способ инициализации с помощью событий нажатия клавиш и/или кнопок мыши) и семантику (элемент интерфейса, которому адресовано событие) действий пользователя, т. е. позволяет дать ответ на вопрос, как пользователь выполняет то или иное действие. Между тем, чтобы показать пользователю способы решения задач с помощью CAE-системы, необходимо знать, зачем (с какой целью) выполняется это действие, какую операцию CAE-системы оно инициирует. К сожалению, прагматика действия (способ его интерпретации приложением CAE) в рамках описанного выше подхода недоступна для регистрации, так как перехватываемые сообщения ОС не содержат такой информации. Цель выполнения действия может быть получена только от самой CAE-системы. Следовательно, для вновь выводимых на рынок продуктов приобретает актуальность задача интеграции СРВ в целевую САЕ-систему. Целью обсуждаемого подхода является повышение эффективности методической поддержки пользователей CAE-систем путем разработки моделей, методов и инструментов интеграции СРВ в разрабатываемую CAE-систему с учетом необходимости регистрации всех упомянутых аспектов действий пользователя: синтаксиса, семантики и прагматики. Обсуждение конкретных деталей реализации этого подхода проводится на примере CAE-системы СИМЭС.

Материалы и методы. В основе предлагаемого подхода лежит информационная модель действия, выполняемого пользователем CAE-системы с помощью элементов ее интерфейса. В отличие от модели, описанной в [9], данная модель действия содержит не только информацию о событии, инициировавшем действие, но и о том, какая операция в CAE-системе была активирована этим действием:

a = (e, p, o, m), (1)

где e - тип события; p - вектор параметров события; o - код операции, активированной событием; m - режим воспроизведения действия (непрерывный или интерактивный).

Словарь типов событий

Е = {e1, е2, …, ei, …, en} = Es Ec; Es Ec = O,

наряду с событиями Es, стандартными для всех оконных приложений (например, нажатие на кнопку, выбор пункта меню, ввод в текстовое поле), содержит также события Ec, специфические для конкретной CAE-системы. Для СИМЭС специфический тип события - абстрактное множество событий редактирования расчетной схемы, элементами которого являются коды активированных операций. На множестве типов событий E определено отображение f: EC NE, где NE - множество имен событий.

Параметры события, в зависимости от его типа, могут включать номер пункта меню, код вводимого символа, координаты мыши в клиентской области и коды действий с ее кнопками. Для некоторых типов событий, например для события «нажатие кнопки», список параметров может быть пустым.

Коды активированных событием операций

O = {o1, o2, …, oj, …, ok} = Os Oc; Os Oc = O

определяют прагматику действия. Для событий, связанных со стандартными элементами интерфейса, это множество идентификаторов операций Os. Идентификатор может совпадать для разных событий (нажатие кнопки, горячих клавиш, выбор пункта контекстного меню), инициирующих одно и то же действие. Для нестандартных событий редактирования расчетной схемы в СИМЭС (добавление узла, ветви, редактирование отображаемых параметров, раскраска и т.п.) существует внутренний словарь операций Oc. На множестве кодов операций O определено отображение g: Oc N0, где N0 - множество имен операций.

Режим воспроизведения m {“непрерывный”, “интерактивный”} - редактируемый атрибут действия, формируемый в процессе регистрации сценария. По умолчанию он устанавливается в значение «непрерывный», что освобождает пользователя от участия в выполнении этого действия при воспроизведении. Это целесообразно, если ошибка «ручного» выполнения этого действия может нарушить ход дальнейшего выполнения сценария, например, если действие заключается в точном позиционировании курсора мыши на схеме. В остальных случаях вовлечение пользователя в процесс выполнения проектной операции оправдано повышением результативности обучения.

Описание действия генерируется автоматически при помощи текстового шаблона, слотами которого являются переменные «имя события» ne = f(e) и «имя операции» no = g(o) для действия a (1). Выбор варианта заполнения постоянной части текстового шаблона определяется заданным в сценарии режимом его воспроизведения m. В режиме непрерывного воспроизведения используется шаблон комментария «Операция g(o) активируется посредством f(e)». В режиме интерактивного воспроизведения используется шаблон инструкции «Чтобы g(o), f(e)». При воспроизведении действия слоты одного из шаблонов заполняются соответствующими значениями переменных и демонстрируются в консультативном окне СРВ. Например, одна из пошаговых рекомендаций по решению проблемы, показанной на рис. 1, выглядит следующим образом: Чтобы сделать напряжение выделенного узла нулевым, введите 0 в ячейку (5) Unom таблицы «Узлы (исходные данные)». Курсивом выделены значения подстановок соответствующих переменных.

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

s = a {“”(ab)}; b: = “(“s”)”, a = (e p o m),

где b - тело модального блока; “#” - символ-разделитель; “(“ ”)” - открывающая и закрывающая модальные скобки соответственно.

Это отличие физической структуры потока действий от их логического представления, воспринимаемого проектировщиком, обусловлено спецификой интеграционного решения. Дело в том, что и само приложение CAE, и все открываемые внутри него модальные окна имеют один и тот же идентификатор процесса. Поэтому при воспроизведении записанного для CAE-системы сценария с помощью СРВ, являющейся самостоятельным процессом со своим идентификатором [7], смена модальности в приложении CAE не приводит к потере контроля над процессом. При воспроизведении записанного сценария «изнутри» CAE-системы процесс воспроизведения, который в данном случае имеет тот же идентификатор, что и сама CAE-система, при смене модальности «встает на паузу» и теряет способность эмулировать события, происходящие внутри модального окна.

Предлагаемое решение этой проблемы заключается в том, что в режиме регистрации в структуре потока действий пользователя выделяются модальные блоки, которые с учетом возможности их вложения образуют на физическом уровне представления сценария иерархию. В режиме воспроизведения СРВ отслеживает смену модальности и для выделенного модального блока строит дерево, родительским вершинам которого соответствуют дескрипторы модальных окон, а дочерним - элементарные действия или модальные блоки внутри этих окон. Дескриптор модального окна содержит информацию о размещении элементов интерфейса внутри модального окна. Эта информация совместно с информацией о параметрах действий из дочерних вершин используется для вычисления координат событий от мыши и клавиатуры при преобразовании элементарных действий сценария в соответствующие им цепочки событий ОС. Например, действие «выбор ячейки» в таблице внутри модального окна структуры порождает цепочку событий «позиционировать мышь» - «нажать левую кнопку» - «отпустить левую кнопку». После того, как для всех листьев дерева выполнено преобразование элементарных действий в цепочки событий ОС, полная последовательность событий для данного блока модальности формируется путем конкатенации этих цепочек, построенной в процессе левостороннего обхода листьев дерева. Далее СРВ запускает внешний процесс, который использует эту последовательность для эмуляции потока событий ОС. Формальное описание приведенного выше алгоритма иллюстрируют диаграммы деятельности UML, приведенные на рис. 2.

а б

Рис. 2. Алгоритм воспроизведения модального блока сценария: а - воспроизведение модального блока сценария; б - построение дерева модальных состояний

Результаты. На базе предложенных моделей и методов были разработаны:

· комплекс программных средства регистрации и воспроизведения сценариев методической поддержки, имеющий модульную архитектуру и обеспечивающий за счет этого возможность встраивания модуля СРВ в любое приложение настольного формата. Интерфейс модуля СРВ, встроенного в CAE-систему СИМЭС, показан на рис. 3,а;

· компоненты информационного сопровождения СРВ в составе CAE-системы СИМЭС:

- словари действий пользователя и элементарных операций СИМЭС;

- банк эталонных сценариев редактирования графической модели схемы электроснабжения.

При формировании банка эталонных сценариев, который охватывает несколько десятков проблемных ситуаций, мы руководствовались приоритетами, определяемыми частотой возникновения соответствующей проблемы у пользователей (рис. 3).

Рис. 3. Частота проблемных ситуаций, %

Для иллюстрации предоставляемого СРВ уровня методической поддержки рассмотрим один из эталонных сценариев - решение проблемы выбора номинального напряжения КЛ (табл. 1, п. 5). Суть проблемы состоит в том, что по умолчанию возможен только выбор типа кабеля, номинальное напряжение которого совпадает с напряжением участка схемы, содержащего данный кабель (рис. 1). Чтобы выбрать кабель с повышенным номинальным напряжением, необходимо выполнить следующую цепочку действий Приведена с незначительными сокращениями:

1. Выбрать концевой узел участка кабельной линии.

2. В таблице свойств узла установить нулевое напряжение.

3. Выделить ветвь, соответствующую участку кабельной линии.

4. Выбрать раскрывающийся список «Тип» в таблице свойств объекта «Кабельная линия».

5. Выбрать пункт списка «Внешний справочник».

6. Выбрать нужный тип кабеля из внешнего справочника.

7. Снять выделение ветви.

8. Выделить концевой узел участка кабельной линии.

9. В таблице свойств узла установить первоначальное значение напряжения.

Сложность выполнения этой операции редактирования заключается не столько в достаточно большом количестве необходимых действий, сколько в разнообразии таблиц свойств объектов, над которыми эти действия выполняются, и даже наличие подробных инструкций не гарантирует защиты пользователя от ошибки. Эту проблему можно решить только погружением инструкций в среду их исполнения, где они трактуются однозначно, с помощью встроенного модуля СРВ. Воспроизведение существенных в содержательном смысле инструкций (например, заполнение ячеек в таблицах) осуществляется в интерактивном режиме, в то время как инструкции, не несущие особой смысловой нагрузки (такие, как позиционирование курсора мыши), воспроизводятся в непрерывном режиме. На рис. 4,а, показан интерфейс пользователя модуля СРВ, содержащий инструменты загрузки, сохранения, записи и воспроизведения сценария. На рис. 4,б показано окно модуля СРВ, содержащее список шагов эталонного сценария и комментарий к текущему шагу, который выполняется в интерактивном режиме. На рис. 4,в, показана таблица свойств узла с позиционированной ячейкой для ввода данных.

Выводы. Достоверность результатов применения предложенных моделей и методов подтверждает их успешная апробация в составе программного комплекса СИМЭС. По отзывам пользователей и экспертов, применение предложенных механизмов контекстной помощи обеспечивает повышение эффективности обучения пользователей за счет интеграции проблемного (эталонного) сценария в среду CAE-системы. Интеграция позволяет исключить непроизводительные затраты времени на перенос сценария в целевую среду, а также обеспечивает более глубокое понимание природы автоматизированных инженерных операций за счет возможностей совместного анализа целей этих операций и способов их достижения. Этот эффект можно косвенно оценить количеством повторных обращений к экспертам, которое в результате внедрения СРВ уменьшилось на 25 %.

Источник: https://otherreferats.allbest.ru/download/1065757/