Сделай Сам Свою Работу на 5

Типичный поток событий в графическом редакторе





 

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

Соответствующая диаграмма последовательности приведена в приложении В на рисунке В.2. Как видно из диаграммы, для того, что пользователь имел возможность выполнить команду, она должна быть выполняемой для текущего контекста. Контекст определяет действие AddMethodAction, в данной ситуации в качестве контекста AddMethodAction использует выделенный объект. Если выделенный объект является задачей (выделенными объектами в GEF являются контролеры), то команда считается выполнимой. Когда пользователь решает исполнить команду, у действия вызывается метод run. Задача действия – получить команду от контролера, в связи с чем он и делегирует ему эту задачу, а контролер в свою очередь обращается к специально разработанной для этого случая политике FlowLayoutEditPolicy, которая непосредственно создает команду (ShapeCreateCommand) по добавлению функции к задаче. Суть этой команды заключается в добавлении единожды созданной функции к задаче или удалении ее (при выполнении команды redo). Добавление функции к задаче происходит на уровне модели графического редактора, при этом согласно архитектуре GEF и структуре разработанного редактора, происходит уведомление контролера задачи о добавлении нового элемента в модель. Контролер сам сообщает библиотеке GEF о произошедших изменениях. GEF далее вызывает метод getModelChildren, чтобы узнать элементы модели, для которых нужно создать контролеры, которые будут агрегироваться в контролер задачи. При этом для создания фигур созданных контролеров функций GEF обращается к их методам createFigure. Фигура, возвращаемая из createFigure контролера функции будет добавлена на холст к фигуре задачи.



 

2.3.1.3 Реализация текстового редактора

 

Согласно выбранной технология разработки текстового редактора (Xtext) была разработана его грамматика, приведенная в приложении Б. Разработка грамматики на языке Xtext производилась на основе грамматики языка С стандарта ANSI C 1995 года грамматики 2006 года для инструмента ANTLR, которая в свою очередь была основана на грамматике С для инструмента Yacc [51] 1985 года. В грамматику были добавлены дополнительные конструкции, сама форма грамматики была адаптирована под нотацию Xtext.



Также были разработаны следующие компоненты, интегрируемые со сгенерированным Xtext текстовым редактором через технологию встраивания зависимостей Google Guice:

- модуль предоставление областей видимости для процесса линковки;

- модуль валидации для проверки корректности типов, использующий компонент TypeSystem;

- модуль предоставления названий (LabelProvider) для отображения названий элементов синтаксического дерева в окне отображения структуры документа.

 

Входные и выходные данные

 

Входными данными для текстового редактора является текстовый файл с расширением *.mydsl c программой. В ходе разбора программы на выходе получаем AST дерево на базе модели EMF. Преимуществом использования технологии EMF для представления моделей текстового и графического языков в системе является возможность унифицированного внутреннего представления одной и той же модели (семантической модели) вне зависимости от графического или текстового редактора, что обеспечивает возможность как прямого генерирования модели по диаграмме задач, так и проведения обратного восстановления диаграммы задач по коду.

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

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



 

Используемые технические средства

 

Работа системы производится на компьютере общего назначения. Минимальные требования к характеристикам целевого компьютера:

- жесткий диск с наличием на нем свободного пространства для работы системы не менее 5 Гб;

- оперативная память со свободным объемом для работы системы не менее 1 Гб;

- процессор при суммарной частоте вычислительных ядер не ниже 2 ГГц;

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

- возможность доступа компьютера к сети или сменному носителю для копирования файлов программы на целевой компьютер;

- монитор для отбражения текстовой и графической информации разрешением не ниже 1024x768.

 

Программа и методика испытаний

 

Программа испытаний

 

Целью испытаний является проверка соответствия программного комплекса и его составляющих техническим требованиям и корректность работы интегрированной среды.

 

В рамках данного проекта объектами испытаний являются следующие модули:

- графические редакторы;

- текстовый редактор.

 

Методика испытаний

 

Порядок проведения испытаний:

1) инспекция исходного текста;

2) испытание работоспособности модуля на тестовом наборе данных;

3) испытание выполняемого функционала модуля на тестовом наборе данных;

4) анализ результатов испытания;

5) определение выводов и принятие решения о дальнейших направлениях работы в области разработки приложения.

 

Для тестирования модулей были выбраны параметры, сведенные в таблице 2.5 для текстового редактора и таблице 2.6 графического для редактора.

 

Таблица 2.5 – Таблица параметров тестирования текстового редактора

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

Таблица 2.6 – Таблица параметров тестирования графического редактора

Параметр Ожидаемая реакция
Множественное выполнение команд “undo”, “redo” Отсутствие ошибок
Перенос конца / начала стрелки на новую фигуру Отсутствие ошибок
Одновременное удаление нескольких фигур Отсутствие ошибок
Удаление контейнера Удаление контейнера и всех его подэлементов
Попытка удаления холста Запрещение удаления

Руководство пользователя

 

3.1 Назначение программного комплекса

 

Интегрированная среда разработки является инструментом, реализующим новую технологию создания программ управления для микроконтроллеров. Технология позволяет пользователю создать схему соединения программных и аппаратных модулей микроконтроллерной системы, написать программу для каждого микроконтроллера в схеме, выполнить отладку и тестирование программ на модели системы, получить сгенерированную программу на языке С. Cистема поддерживает программирование микроконтроллеров архитектуры AVR фирмы Atmel семейств tiny, mega, xmega.

Предлагаемая технология создания программ для распределенных микроконтроллерных систем предполагает несколько фаз разработки пользователем программ управления:

1) описание схемы оборудования;

2) построение диаграммы задач;

3) разработка кода на текстовом языке.

Сначала на схеме оборудования добавляются необходимые устройства и устанавливаются соединения “вывод-вывод”, либо “блок-блок”, либо “блок-вывод”. Далее на диаграмме задач добавляются задачи и пакеты, они наполняются функциями и событиями, после чего производятся подписки и указываются вызовы. Генерируемый в текстовый редактор код (а именно код функций) дополняются пользователем собственным кодом, реализующим тот или иной алгоритм функции.

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.