Статья опубликована в рамках: VIII Международной научно-практической конференции «Физико-математические науки и информационные технологии: проблемы и тенденции развития» (Россия, г. Новосибирск, 26 ноября 2012 г.)
Наука: Информационные технологии
Секция: Системный анализ, управление и обработка информации
Скачать книгу(-и): Сборник статей конференции
- Условия публикаций
- Все статьи конференции
дипломов
ИНСТРУМЕНТ РАЗРАБОТКИ АКТИВНЫХ ИНТЕЛЛЕКТ-КАРТ
Рубан Иван Анатольевич
аспирант, ИСОиП (филиал) ДГТУ г. Шахты
E-mail: ivcgl@yandex.ru
Введение
Сложность разрабатываемого программного обеспечения постоянно растет. Мощные абстракции языка программирования позволяет разрабатывать и поддерживать сложнейшие системы. Наиболее популярным, в настоящее время является объектно-ориентированный подход [1] и обобщенное программирование [3]. Обобщенное программирование предоставляет дополнительные возможности в создании универсального кода, но разработка в таком стиле требует высокого профессионализма и вызывает серьезные сложности в поддержке кода другого разработчика. Поэтому, некоторые объектно-ориентированные среды разработки только заимствовали только часть возможностей обобщенного подхода. Так, например, язык C# поддерживает универсальные шаблоны. Интерес к обобщенному программированию во многом объясняется тем, что в погоне за дешевизной и скоростью разработки, практически каждое программное обеспечение является продуктом синтеза ранее созданных компонентов. Кроме того, синтез повторно используемых компонентов предъявляет высокие требования к возможности удобной, быстрой и простой корректировки алгоритмов.
Со временем, сложность проектируемого программного обеспечения будет только расти. Но уже сейчас возникают сомнения, что обобщенное программирование решит задачу упрощения разработки сложнейших систем. Разрабатываются новые средства, нацеленные на упрощение разработки сложных программных решений, такие как, платформа .Net Framework [6], система Windows Presentation Foundation [5], язык HTML 5 [7] и другие. Их новизна заключается в специализированных системах поддержки разработки и более мощных абстракций.
В данной работе рассматривается инструмент разработки активных интеллект-карт. Метод активных интеллект-карт предлагается как альтернатива языковым средствам разработки. Метод состоит в построении ориентированного графа, состоящего из узлов условий, узлов ввода/вывода и дуг определяющих направление передаваемых значений [4].
Визуальные средства разработки
Визуальные средства разработки представляют собой набор диалоговых окон. Основой интерфейса является главное окно, представленное на рисунке 1. В нем располагается список активных интеллект-карт и кнопки редактирования. Каждый элемент списка отображает имя и описание. Учитывая сложность и разнообразность возможных алгоритмов, дополнительное описание облегчит взаимодействие разработчиков. Кроме того, имеется уникальный идентификатор, который в будущем позволит реализовать алгоритм обмена разработками.
Рисунок 1. Главное окно
На рисунке 2 представлено окно редактирования и отладки, которое вызывается по нажатию кнопки «Структура» главного окна. Кнопка «Добавить узел» и «Добавить канал» добавляют в граф новый узел и канал ввода/вывода соответственно. Для удобства восприятия канал обрамлен красным цветом, а узел синим. Кнопка «Присоединить…» активирует возможность присоединения выделенных элементов к другому элементу одним кликом. Кнопка «Удалить» удаляет выделенные узлы, каналы или связь между элементами. Функциональность кнопок редактирования дублируется соответствующим контекстным меню на узлах, каналах и связях. Кнопка «Редактировать» открывает окно редактирования выделенного узла или канала.
Для отображения графа используется компонент GraphSharp [2]. Кнопка «Выровнять» позволяет использовать встроенные возможности выравнивания графа. Кроме того, узлы и каналы ввода/вывода, создаваемые во время расчета структуры подсвечиваются оранжевым цветом.
Панель отладки расположена под графом. Ее функциональность позволяет выполнять пошаговый расчет, приостановку и запуск конвейера расчета.
Главная особенность расчета заключается в необходимости выделения его в отдельный поток, то есть вершины рассчитываются сразу, как только в главном потоке выполнится присваивание необходимых входных значений.
Кнопка «Запустить» добавляет, сохраненную в базе данных, активную интеллект-карту в конвейер расчета.
Рисунок 2. Окно редактирования структуры
На рисунке 3 представлено окно редактирования канала ввода/вывода. Канал осуществляет взаимодействие с сущностями приложения. Сущность должна реализовать кросплатформенный интерфейс IAMMTargetObject для возможности прикрепления к каналу. Данный интерфейс описывает механизм получения списка имен всех функций сущности, что позволяет использовать комбинированный список для выбора прикрепляемой функции к каналу. В контексте исследования такие сущности были названы целевыми объектами.
Рисунок 3. Окно редактирования канала ввода/вывода
На рисунке 4 представлено окно редактирования узла. Условия ввода узла объединены в группы. Кнопка «Добавить группу» добавляет в список группу условий ввода. Группа содержит число с плавающей точкой, которое необходимо передать последующим элементам графа, в случае если все содержащиеся условия выполняются. Элемент управления, представляющий интерпретации чисел позволяет выбрать нужное число, руководствуясь, его текстовым описанием. Кнопка «Добавить условие» добавляет в выбранную группу условие ввода. Оно представляет собой проверку переданного числа от предыдущего элемента. Предыдущий элемент, тип условия выбирается по средствам соответствующих выпадающих списков, в которых представлены возможные значения. Значение ввода может быть установлено по средствам интерпретации чисел.
Рисунок 4. Окно редактирования узла условий
На рисунке 5 изображено окно представлений. Намерено было подобрано название «Представления», так как «Интерпретатор» в контексте программирования ассоциируется с иным инструментом. Редактируемые представления хранятся в дополнительной таблице базы данных. Представитель содержит список текстовых описаний соотнесенных с числами. Все представления доступны через целевой объект. Передав параметры, указывающие на конкретную интерпретацию числа, другому целевому объекту, например, «Диалоги» может использовать как строковые переменные при вызове функций отображения диалоговых окон. Фактически активные интеллект-карты позволяют создавать генераторы текста, но на ранних этапах исследований основное внимание уделяется выработки методологии проектирования. Предполагается, что данные генераторы позволят реализовать механизм естественных языков, но сложность подобных исследований требуют выделения их в отдельный этап.
Рисунок 5. Окно редактирования представлений
Реализация алгоритмов обработки информации требует разложения сложных для восприятия структур. Кроме того, принципы универсальности алгоритмов предполагают создания структур, генерирующих и управляющих другими структурами. В контексте программирования такая возможность сравнима с написанием исходного кода, который пишет исходный код программного обеспечения. Реализация конвейера расчета активных интеллект-карт как целевого объекта позволяет реализовать вышеописанное. На рисунке 6 представлено окно конвейера, необходимое для возможности отладки процессов самогенерации и самоуправления групп структур. Кроме того, учитывая возможность генерации, данное окно может представлять функциональность схожую с окном списков визуальных компонентов среды программирования.
Рисунок 6. Окно конвейера
Заключение
Сложно представить современную среду разработки программного обеспечения без средств визуализации различных этапов разработки, а в частности интерфейса. Кроме того, создаются средства представления результатов отладки, анализа кода в виде графиков. Данные возможности позволяют разработчику сосредоточиться на творческих задачах и не терять драгоценное время на дополнительную отладку кода. Тем не менее, средства визуализации до сих пор выполняют второстепенные задачи, а основные решаются кодированием. В инструменте разработки активных интеллект-карт обратная ситуация — текст используется как описания, а основную задачу решают визуально проектируемые структуры. В настоящее время подобные системы наиболее актуальны, так как своей простотой и удобством они способны привлечь обычных пользователей к разработке и конфигурированию используемого программного обеспечения.
Список литературы:
1.Лафоре Р. Объектно-ориентированное программирование в С++. СПб.: Питер, 2004. — 923 с.
2.Модуль отображения графов GraphSharp. [электронный ресурс] — Режим доступа. — URL: http://graphsharp.codeplex.com/ (дата обращения: 02.11.2012).
3.Остерн М.Г. Обобщенное программирование и STL: использование и наращивание стандартной библиотеки шаблонов C++ / Пер. с англ. под ред. А. Махоткина и И.В. Романовского. СПб.: Невский Диалект, 2004. — 544 с.
4.Рубан И.А. Модуль активных интеллект-карт. «Актуальное состояние и тенденции развития физико-математических наук и информационных технологий»: материалы международной заочной научно-практической конференции. — Новосибирск: Изд. «Сибирская ассоциация консультантов», 2012. — 142 с.
5.Система Windows Presentation Foundation. [электронный ресурс] — Режим доступа. — URL: http://msdn.microsoft.com/ru-ru/library/ms754130.aspx (дата обращения: 02.11.2012).
6.Шеферд Дж. Программирование на Microsoft Visual C++ .NET. СПб.: Питер, 2007. — 928 с.
7.Язык разметки гипертекста HTML5. [электронный ресурс] — Режим доступа. — URL: http://htmlbook.ru/html5 (дата обращения: 02.11.2012).
дипломов
Оставить комментарий