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

кандидата технических наук
Авербух, Владимир Лазаревич
город
Екатеринбург
год
1998
специальность ВАК РФ
05.13.11
Диссертация по информатике, вычислительной технике и управлению на тему «Анализ и оценка языков систем визуализации программного обеспечения»

Текст работы Авербух, Владимир Лазаревич, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей

В специализированный совет К 003.93.01 по защите диссертаций на соискание ученой степени кандидата наук в Институте систем информатики СО РАН

О Т 3 ы в

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

представленную на соискание ученой степени кандидата технических наук по специальности: 05.13.11. — Математическое и программное обеспечение вычислительных машин, комплексов, систем и сетей

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

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

Структура и состав диссертации. Диссертационная работа насчитывает 2.86 страниц печатного текста и состоит из введения, двенадцати разделов, объединенных в три основные части, заключения и списка литературы.

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

Согласно предложенной автором классификации, средства визуализация программного обеспечения разбиваются на:

•системы визуального программирования (на базе Анаграмматических языков, иконических языков, на базе языков работы с формулярами и трехмерные визуальные языки программирования),

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

•системы программирования путем демонстраций и

•визуальные методы работы с базами данных, знаний и информационными системами.

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

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

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

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

Семиотический анализ того или иного языка требует выделения его словаря, синтаксиса и семантики, и. главное, этот анализ требует рассмотрения прагматики, то есть того, как воспринимаются и интерпретируются фразы язы-

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

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

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

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

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

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

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

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

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

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

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

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

Предложены подходы к формализации понятий, связ£|нных с моделью пользователя.

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

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

В системе Рага\Ъюп ставилась задача изучения метафор и оценки адекватности языков, используемых для визуализации параллельных вычислений. В качестве модельной в системе РагаУЫоп была взята классическая задача параллельного программирования - задача об обедающих философах, которая позволяет проиллюстрировать такие проблемы, как проблема совместно используемых ресурсов, проблема тупиков и проблема бесконечного откладывания.

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

Основные результаты, полученные в ходе выполнения диссертационной работы.

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

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

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

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

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

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