30479

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

Научная статья

Информатика, кибернетика и программирование

Существенным недостатком современных систем отладки параллельных и распределенных вычислений является отсутствие отображения динамики программных процессов. Причем каких-либо вариантов представления последовательности кода

Русский

2015-01-19

42 KB

4 чел.

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

В.Л. Авербух, А.Ю. Байдалин, Д.Р. Исмагилов, Т.А. Флягина

ИММ УрО РАН, УрГУ, Екатеринбург

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

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

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

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

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

3-D and Dynamical Metaphors in Software Visualization for Parallel and Distributed Computing

V.L. Averbukh, A.Yu. Baydalin, D.R. Ismagilov, T.A. Fliagina

Ekaterinburg

Last decade a number of interesting systems of visual programming, visual debugging and performance tuning for parallel programs was developed. Now, the analysis of literature shows that the interest to these themes is reduced though the need for means of software visualization for the parallel and distributed computing remains. One of the reasons of this phenomenon is discrepancy between the opportunities of a system component of debuggers and the limited opportunities of visualization techniques. Even when virtual reality environments were used for visualization, the views often are based on bidimentional static graphics. At the same time, some interesting examples of use of three-dimensional metaphors for software visualization take place. For example, for needs of software engineering the metaphors of a landscape, a metaphor of geographical or city space are used. Such properties of metaphors as a unlimited context, naturalness, an opportunity the organization of internal structure allow to use it in visualization of debugging and performance tuning systems. However such systems demand updating metaphors in comparison with existing practice. In particular for needs of debugging it is useful to show connection between the data and program constructions. For this purpose in elaboration of a landscape metaphor the metaphor of the shell is offered. In this case the visualization of data and program objects is located on one above another surfaces similar to a surface of the ground and heavenly sphere (or to flying islands). The objects located on these surfaces, can communicate among themselves, showing intraprogram connections and dataflows. The given metaphor can be used to present the parallel programs constructed on the basis of models of the shared memory and data parallel.

Essential lack of modern debugging systems for parallel and distributed computing is absence of display of program process dynamics. Variants of code sequence presentations, for example, as a program trace, frequently appear insufficiently.

In this connection dynamic updating of a metaphor of city is offered. This metaphor may be used for tracking abnormal program execution, such as dead lock, constant deferment, etc. Within the framework of the given metaphor program processes are represented by dynamics of a street crossroads. Some objects (traffic lights) control moving objects (automobiles). Traffic lights are connected among themselves. Automobiles reacts on the control and also interact among themselves. This metaphor easily extends due to inclusion of the additional factors represented by objects existing in reality of street.

Shell metaphor and crossroad metaphor may form a basis for view construction in debuggers, testing systems and monitors of work of the parallel and distributed programs, as well as the programs processing events and providing reactions to them Their use is justified in training courses on the given subjects.


 

А также другие работы, которые могут Вас заинтересовать

17454. Спецификация функциональных требований к ИС 226 KB
  Лекция№5. Спецификация функциональных требований к ИС. Процессные потоковые модели. Процессный подход к организации деятельности организации. Связь концепции процессного подхода с концепцией матричной организации. Основные элементы процессного подхода: границы процес...
17455. МЕТОДОЛОГИИ МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ 157 KB
  ЛЕКЦИЯ №6. МЕТОДОЛОГИИ МОДЕЛИРОВАНИЯ ПРЕДМЕТНОЙ ОБЛАСТИ Методологии моделирования предметной области. Структурная модель предметной области. Объектная структура. Функциональная структура. Структура управления. Организационная структура. Функциональноориентирован
17456. МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССОВ СРЕДСТВАМИ BPWIN 772 KB
  ЛЕКЦИЯ7. МОДЕЛИРОВАНИЕ БИЗНЕСПРОЦЕССОВ СРЕДСТВАМИ BPWIN. Caseсредства для моделирования деловых процессов. Инструментальная среда BPwin. Принципы построения модели IDEF0: контекстная диаграмма субъект моделирования цель и точка зрения. Диаграммы IDEF0: контекстная диаграмма
17457. МОДЕЛИРОВАНИЕ БИЗНЕС-ПРОЦЕССОВ СРЕДСТВАМИ BPWIN. Стоимостный анализ 346 KB
  ЛЕКЦИЯ №8. МОДЕЛИРОВАНИЕ БИЗНЕСПРОЦЕССОВ СРЕДСТВАМИ BPWIN ЧАСТЬ 2. Стоимостный анализ: объект затрат двигатель затрат центр затрат. Свойства определяемые пользователем UDP. Диаграммы потоков данных Data Flow Diagramming: работы внешние сущности ссылки потоки работ хранилища...
17458. ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ИС 235.5 KB
  ЛЕКЦИЯ №9. ИНФОРМАЦИОННОЕ ОБЕСПЕЧЕНИЕ ИС.Информационное обеспечение ИС. Внемашинное информационное обеспечение. Основные понятия классификации информации. Понятия и основные требования к системе кодирования информации. Состав и содержание операций проектирования кла
17459. МОДЕЛИРОВАНИЕ ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ 224.5 KB
  ЛЕКЦИЯ №10. МОДЕЛИРОВАНИЕ ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ. Моделирование данных. Метод IDEFI. Отображение модели данных в инструментальном средстве ERwin. Интерфейс ERwin. Уровни отображения модели. Создание логической модели данных: уровни логической модели; сущности и атрибуты; ...
17460. Унифицированный язык визуального моделирования Unified Modeling Language (UML) 204 KB
  Лекция №11. Унифицированный язык визуального моделирования Unified Modeling Language UML. Диаграммы в UML. Классы и стереотипы классов. Ассоциативные классы. Основные элементы диаграмм взаимодействия объекты сообщения. Диаграммы состояний: начального состояния конечного состояния...
17461. Этапы проектирования ИС с применением UML 347.5 KB
  Лекция №12 Этапы проектирования ИС с применением UML. Основные типы UMLдиаграмм используемые в проектировании информационных систем. Взаимосвязи между диаграммами. Поддержка UML итеративного процесса проектирования ИС. Этапы проектирования ИС: моделирование бизнеспреце...
17462. Информационное обеспечение (ИО) АИС 95.5 KB
  Информационное обеспечение ИО АИС Цели изучения темы общеобразовательная прочное усвоение знаний об информационном обеспечении ИО АИС; развивающая развитие логического мышления; воспитательная формирование представлений о значении информационного...