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.


 

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

5298. Комплексная оценка основных свойств пластичных смазок 43.68 KB
  Комплексная оценка основных свойств пластичных смазок Цель работы. овладение методами комплексной оценки эксплуатационных свойств смазочных материалов, по которым определяется пригодность этих продуктов для использования. Теоретическое введение Плас...
5299. Комплексная оценка основных свойств моторного масла 368.44 KB
  Комплексная оценка основных свойств моторного масла Цель работы. Изучить ассортимент и технические нормы на масла для двигателей внутреннего сгорания. Задание: определить основные показатели качества моторных масел изучить аппаратуры и методики опр...
5301. Комплексная оценка основных свойств дизельного топлива 511.5 KB
  Комплексная оценка основных свойств дизельного топлива Цель работы: изучить стандартные методы определения основных показателей качества, ассортимент дизельных топлив. Теоретическое введение. Дизельное топливо - нефтяная фракция, основу которой...
5302. Определение качества низкозамерзающей охлаждающей жидкости 431.51 KB
  Определение качества низкозамерзающей охлаждающей жидкости Цель работы: оценка качества антифриза по внешнему виду, температуре кристаллизации, выполнение расчета добавки воды для исправления антифриза. Теоретическое введение При сгорании топлива в ...
5303. Технологический процесс механической обработки детали: Сошка рулевого управления для серийного типа производства 1.5 MB
  Рост промышленности и народного хозяйства, а также темпы перевооружения их новой техникой в значительной мере зависят от уровня развития машиностроения. Технический прогресс в машиностроении характеризуется совершенствованием технологии...
5304. Аппаратная часть персонального компьютера (ПК) 56 KB
  Что такое компьютер? Компьютер представляет собой программируемое электронное устройство, способное обрабатывать данные и производить вычисления, а также выполнять другие задачи манипулирования символами. Существует два основных класса компьютеров: ...
5305. Контроллеры цифровых датчиков температуры 660 KB
  Контроллеры цифровых датчиков температуры Для измерения физических величин существует множество способов и методов. Одни получили широкое распространение, другие применяются только в научных лабораториях. На производстве новые методы и средства...
5306. Route Availability Document (RAD) 33.5 KB
  RAD. Route Availability Document Документ, разработанный CFMU на основе стратегического планирования, управления пропускной способностью и потоками воздушного движения, утвержденный полномочным авиационным органом государства и включающий ...