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.


 

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

77882. Право на защиту чести, достоинства и деловой репутации 28.5 KB
  Диффамации которое распространяется на разглашение не только ложных но и действительных сведений позорящих честь и достоинство гражданина или юридического лица. Под распространением сведений следует понимать сообщение их различными способами как любому третьему лицу так и нескольким лицам неопределенному кругу лиц. При рассмотрении исков о защите чести и достоинства суду необходимо установить: имело ли место распространение сведений которые оспаривает истец; порочат ли они честь и достоинство истца; соответствуют ли они...
77883. Понятие, виды и исполнение обязательств в гражданском праве 28.5 KB
  Признаки обязательства: относительное гражданское правоотношение его субъектами являются строго определенные лица конкретный должник и конкретный кредитор; объектом обязательства является действие обязанного лица; содержанием являются права и обязанности сторон; опосредуют динамику гражданскоправовых правоотношений – процесс перехода имущественных благ от одних лиц к другим; за невыполнение наступает гражданскоправовая ответственность; 6 реализация кредитором своего права возможно только через исполнение обязанности...
77884. Поручительство и банковская гарантия как способы обеспечения исполнения обязательств 30.5 KB
  Поручительство и банковская гарантия как способы обеспечения исполнения обязательств Поручительство – способ по которому поручитель обязуется исполнить обязательство за должника. При поручительстве ответственным перед кредитором за неисполнение основного обеспечиваемого обязательства становится наряду с должником еще и другое лицо – поручитель...
77885. Залог как способ обеспечения исполнения обязательств 28 KB
  Общие признаки: носят имущественный характер то есть интересы кредитора удовлетворяются за счет имущества должника; направлены на обеспечение удовлетворения интересов кредитора которое состоит в надлежащем исполнении ему обязательства; между должником и кредитором чаще всего существует два обязательства; возникает на основании закона или договора...
77886. Понятие и виды гражданско-правовых договоров 28.5 KB
  Свобода договора: недопущение понуждения к заключению договора; свобода выбора партнера при заключении договора; свобода участников гражданского оборота в выборе вида договора; свобода усмотрения сторон при определении условий договора кроме условий которые предусмотрены законом. Значение договора: договор представляет собой одно из самых уникальных правовых средств в рамках которого интерес каждой стороны в принципе может быть удовлетворен лишь посредством удовлетворения интереса другой стороны; договор...
77887. Формы и способы заключения договоров. Содержание гражданско-правовых договоров 31.5 KB
  Содержание гражданскоправовых договоров Содержание договора – условия на которых достигнуто соглашение сторон: существенные – условия которые необходимы и достаточны для заключения договора. Во-первых являются условия о предмете договора. Они включаются в текст договора по усмотрению сторон. Однако в отличие от обычных они приобретают юридическую силу лишь в случае включения их в текст договора.
77888. Договор купли-продажи. Обязанности 35 KB
  Продавец обязан передать товар в собственность покупателю надлежащего качества количества комплектности со всеми документами и принадлежностями если отказывается то предоставляется разумный срок не передал – покупатель вправе отказаться от договора установленные законном или договором сроки пригодный для целей для которых товар такого рода обычно используется; товар свободный от 3 лиц либо уведомить покупателя об обременении данного товара....
77889. Договор дарения 30.5 KB
  Договор дарения Договором дарения называется договор по которому одна сторона даритель безвозмездно передает или обязуется передать определенное имущество другой стороне одаряемому либо освобождает или обязуется освободить ее от имущественной обязанности перед собой или перед третьим лицом. В отношении договоров дарения с участием юридических лиц ГК также предусматривает ряд специальных ограничений. Другое ограничение касается дарения вещей принадлежащих юридическому лицу на праве хозяйственного ведения или оперативного управления....
77890. Договор ренты 29 KB
  Договор ренты По договору ренты одна сторона получатель ренты передает другой стороне плательщику ренты в собственность имущество а плательщик ренты обязуется в обмен на полученное имущество периодически выплачивать получателю ренту в виде определенной денежной суммы либо предоставления средств на его содержание в иной форме. Реальный односторонний возмездный Возникающие из договора ренты отношения носят длительный стабильный а при пожизненном содержании с иждивением – и доверительный характер. Форма подлежит...