Смекни!
smekni.com

Диалоговая оболочка отладчика MPI-программ (стр. 3 из 5)

4.1 Создание интерфейса

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

Рассмотрим кратко этапы разработки пользовательского интерфейса.

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

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

Концептуальный дизайн интерфейса должен базироваться на идее интерфейсной среды. Здесь термин "среда" применяется как обозначение типичной для поведения человека в различных средах связки "сигнал-действие".

Эта идея принадлежит психологу Гибсону [10]. Он утверждает, что восприятие человека основано на мотивации. То есть внимание человека в конкретный момент будет обращено именно на те окружающие его предметы, в которых у него на данный момент существует потребность.

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

4.2 Современные подходы к созданию пользовательского интерфейса

Важный принцип построения дизайна интерфейса – баланс между интерактивными возможностями программы и сложностью ее изобразительного ряда.

Во всех центрах, известных разработкой новых интерфейсов (XEROX PARC, MIT Media Lab, Apple Computer, Carnegie Mellon University), разрабатываются концепции дизайна интерфейсов, использующие возможности анимации.

Две анимированные среды интерфейса разработаны в фирме XEROX PARC, в которой была разработана идея оконного интерфейса. Авторство идеи оконного интерфейса принадлежит Стюарду Карду. Обе модели разработаны для отображения файловой системы. Рассмотрим эти модели.

· «Конические деревья». Система директорий отображается при помощи системы пирамид, с учетом иерархии. Файлы директории отображаются в виде трехмерного кольца под соответствующей пирамидой. Выбор файлов осуществляется «поворотом» кольца, идущим в режиме анимации.

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

Достоинства анимационного интерфейса:

· Анимация за счет увеличения времени перехода от одного изображения к другому, существенно сокращает время осознания нового изображения на экране.

· Динамические визуальные сигналы – предоставление пользователю дополнительной информации о работе программы.

К функциональному и интерфейсному уровням программы добавляется новый – визуальный.

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


5. Диалоговая оболочка отладчика MPI-программ

5.1 Постановка задачи

Целью данной дипломной работы является создание диалоговой оболочки отладчика MPI-программ для DVM-системы.

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

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

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

5.2 Общая схема использования

MPI-отладчик DVM-системы состоит из следующих компонентов:

1. Трассировщик

2. Анализатор трасс (одного запуска или двух запусков)

3. Визуализатор, обеспечивающий графический интерфейс пользователя

Первые два компонента работают на параллельной машине, а визуализатор – на рабочей станции.

Запуск визуализатора осуществляется из командной строки

vismpi

5.3 Входная информация

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

· Исходные тексты программы

· Протокол анализатора

· Трассы одного запуска программы

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

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

5.4 Основные объекты визуализации

Визуализатор обеспечивает графическое и текстовое представление следующих основных объектов визуализации:

1. Итоговое состояние задачи.

2. Обнаруженные ошибки и предупреждения.

3. Результаты трассировки MPI-функций (трассы).

4. Тексты исходной программы.

Инструкция по текущей версии визуализатора приведена в документе “Инструкция для пользователя визуализатора отладчика MPI-программ VisMPI”.

5.5 Основные функции визуализатора

1. Представление в виде раскрывающихся окон основных объектов визуализации. Обеспечение возможностей управления окнами (размещение на экране; изменение размеров и масштаба; одновременное открытие группы окон при показе однотипных объектов, например, трасс для группы процессоров; одновременное закрытие группы окон или всех окон в конце работы).

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

Основные окна:

окно итогового состояния задачи (Taskstate)

окно обобщенных ошибок (Errorlocation)

окно конкретных ошибок и предупреждений (Errorslist)

окнособытий (Event line)

окнотрасс (Trace control)

окно стека и исходных текстов(Textcontrol)

Дополнительные окна:

окно топологии (Topologycontrol)

диалоговые окна

задание топологии визуализации (matrix)

просмотр комментариев к ошибкам (Comments)

Окна предназначены для изображения объектов визуализации в графическом виде, с использованием простейших геометрических фигур, линий, цвета, специальных символов-пометок, либо в текстовом виде. Ошибочные ситуации при этом изображаются специальным образом – спецсимволами-пиктограммами, цветом (обычно оттенки красного). Обеспечивается представление полных текстовых сообщений об ошибках, и другой необходимой информации, облегчающей локализацию ошибок – параметров MPI-функций, событий трасс, привязки ошибок к строкам текста исходного программы.