Разработка адаптивного интерфейса для интегрированных САПР  коллективного пользования

Д.О.  Гринько,

аспир.,

 каф. киберн. и мехатр. РУДН, г. Москва

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

 

Current article describes the proposal of realization adaptive user interface for automatical systems of designing and development. It describes general requirements for such product. Compilation of visual elements was proposed its realization. Was given information about demo-version of clients side of product.

Введение

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

Основные требования к интерфейсу

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

1.    Обеспечение персонала сложных технических объектов (СТО) программными средствами, позволяющими работать над индивидуальными задачами в интегрированных САПР на основе визуально создаваемых структур, вложенных модулей и отдельных блоков.

2.    Фиксация действий пользователя (каждого уровня) с возможностью хранения предыдущих версий объектов (сценариев сеансов, функциональных модулей (ФМ), введенных данных, проведенных сеансов работы АИСАПР).

3.    Предоставление средств проверки введенного сценария, созданного ФМ и других объектов с точки зрения целостности данных, завершенности описания и непротиворечивости условий.

4.    Многопользовательский локальный и удаленный доступ к системе с возможностью разрешения конфликтных ситуаций при одновременном доступе к одному общему элементу.

5.    Визуализация состояний атомарных и составных элементов.

6.    Динамическое отображение ошибок, предупреждений и других исключительных ситуаций в ходе сеанса работы АИСАПР.

Для реализации системы предлагается использовать визуальное 2D оформление. Блочную (блок = функциональный модуль (ФМ)) иерархическую структуру. Используются атомарные и составные блоки, векторные связи между блоками. Для обеспечения коллективной работы вводится вектор состояния сценария, объекта и данных.

Особенности построения интерфейса

Условно выделено три концептуально отличающихся уровня работы с интерфейсом:

1. Уровень программиста

2. Уровень продвинутого пользователя

3. Уровень конечного пользователя

При этом один и тот же человек может работать на всех трех уровнях при наличии соответствующих навыков. Уровни предназначены для:

1.  Уровень программиста:

Для модернизации системы на программном уровне (в рамках данной разработки на языках С/С++/C#). На данном уровне разрабатываются новые интерфейсы взаимодействия между системами САПР, функциональные модули вида:

рис. 1. Описание функциональных модулей

2.  Уровень пользователя средней подготовки:

Для пользователей обладающих достаточными знаниями предметной области и способных четко определить алгоритм решения поставленной задачи с использованием АИСАПР. От этих пользователей также предполагается получать технические задания для программистов на создание недостающих ФМ (в виде подробного описания действия ФМ и перечня входных/выходных данных (рис.1)). Результатом работы на данном уровне должен быть алгоритм проведения сеанса работы интерфейса.

3.  Уровень конечных пользователей системы:

Для  людей, взаимодействующих с АИСАПР непосредственно во время выполнения текущего сценария: введение запрашиваемых системой доп. данных, проведение уточняющих диалогов, поверхностная оценка выдаваемого решения.

Предлагается выделить три вида объектов сценариев (с которым должен взаимодействовать пользователь на 2-ом и 3-ем уровнях):

Блоки входа и выхода - прямоугольные фигуры с «гнездами» для неограниченного числа входных и выходных связей соответственно (рис.2). Внутрь этих блоков могут быть добавлены ФМ, не содержащие соответственно входных или выходных данных. Редактор входящих в блок ФМ (добавление/удаление) должен открываться как pop-up окно при двойном щелчке на объекте.

рис. 2. Блоки входа и выхода

Условные блоки – составные фигуры, включающие в себя (рис.3):

a.    «Гнезда» для неограниченного числа входов и выходов.

b.    Оперативная часть (обрабатывающая данные). Объединяет в себе произвольное число ФМ.

Оперативная часть может включать в себя ФМ как с входными/выходными параметрами, так и без них. Редактор входящих в блок ФМ должен открываться как pop-up окно при двойном щелчке на объекте.

рис. 3. Условный блок

Линии связи – объекты, описывающие переход данных между блоками и их начальную и конечную точки (Блоки) (рис.4). При двойном нажатии на линию связи должен открываться pop-up редактор для мэппинга переменных между выходными данным ФМ начального блока и входными данными ФМ конечного блока.

рис. 4. Линия перехода

Каждый объект редактора сценария (начальные и конечные блоки, условный блок и линии связи) может находиться в одном из трех состояний (рис.5):

1.  Изменен/вновь создан (окантовка серым)

2.  Активирован (предполагается последующее расширение на состояния «активирован без ошибок» и «активирован с ошибками») (окантовка зеленым)

3.  Не активирован (окантовка красным)

рис. 5. Состояние объектов (слева-направо: 1 – 2 – 3)

Состояния элементов необходимы для разрешения конфликтных ситуаций, связанных с одновременным доступом к одним и тем же элементам. При этом, объекты нельзя видоизменять, если они имеют статус «изменен»/«вновь создан» (этот статус означает, что в данный момент над объектом работает другой человек).

Каждый ФМ также должен сопровождаться тремя состояниями. При этом, использовать в сценарии можно только активированные ФМ. Каждый ФМ должен обрабатываться на сервере приложений по запросу пользователя через клиентский интерфейс АИСАПР. ФМ должны иметь возможность как просто обрабатывать данные, так и выводить сообщения, с возможностью получения ответа от пользователя.

Деревья сценариев должны храниться на сервере. При загрузке необходимого проекта, сценарий должен считываться в локальную память и отображаться на экране. Непосредственно движение по сценарию (выбор ветви условия) должен происходить на стороне клиента. Для клиентской части предлагается использовать язык javascript, для серверной части php. Взаимодействие обеспечивать за счет библиотеки jQuery. Объекты дерева сценария предлагается хранить в формате json документов.

Прототип интерфейса

Был разработан прототип web-интерфейса (рис.6 – рис.7). Он доступен для просмотра по адресу www.AdaptiveUI.ru. При написании была использована библиотека javascript Draw2D.

Краткое описание web-интерфейса:

1.  Имя проекта задается в текстовом поле Project Name.

2.  Добавление объектов осуществляется с помощью функции Drag&Drop из левого меню сайта:

a.  Start, End – блока начала и конца.

b.  Condition – блок условия.

3.  Для активации или удаления элементов можно использовать кнопки сверху (Activate/ Activate all/ Activate Tree)(Рис.).

4.  Кнопки Undo/Redo отменяют последнее действие/ повторяют последнее отмененное действие.

5.  Кнопка Show Json (Hide Json, если объект выведен на экран) показывают локальный объект дерева, в котором хранятся все его элементы в формате Json.

6.  Кнопки Save/Load сохраняют и загружают проект соответственно, имя проекта идентично имени файла, в котором будет сохранен (из которого будет загружен) проект.

рис. 6. Прототип интерфейса сайта www.AdaptiveUi.ru

рис. 7. Контекстное меню объекта дерева

Заключение

В данной была предложена структура АИСАПР. Определены основные требования к системе. Предложены основные объекты для реализации визуальной части интерфейса. Описаны функции прототипа визуальной оболочки интерфейса, доступной в сети интернет.

Литература

1.  Гринько Д.О. Разработка инструментария для формирования интеллектуального диалога коллективного пользования // Материалы 6-ой междунар. конф. «Инженерные системы – 2013». – М.: РУДН, 2013. С. 213-216.

2.  Гринько Д.О. Инструменты разработчика для реализации системы формирования интеллектуального диалога коллективного пользования // Материалы 6-ой междунар. конф. «Инженерные системы – 2013». – М.: РУДН, 2013. С. 208-213.

3.  Гринько Д.О., Чинакал В.О. Использование экспертных систем при разработке адаптивного интерфейса для интегрированных систем имитационного моделирования // Материалы научной конференции «CAD/CAM/PDM–2012»:Системы проектирования, технологической подготовки производства и  управления этапами жизненного цикла промышленного продукта. – М.:ИПУ РАН, 2012.

4.  Гринько Д.О., Чинакал В.О. Разработка адаптивного интерфейса интегрированной системы имитационного моделирования коллективного пользования // Материалы 5-ой междунар. конф. «Инженерные системы – 2012». – М.: РУДН, 2012. С. 238-242

5.  Рыбина Г.В. Основы построения интеллектуальных систем: учебное пособие: - М.: ИНФРА-М, 2010. - 432 с.