Главная » Просмотр файлов » Диссертация

Диссертация (1145120), страница 28

Файл №1145120 Диссертация (Методология и инструментарий предметно-ориентированного моделирования) 28 страницаДиссертация (1145120) страница 282019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 28)

Архитектура генератора валидаторов представлена на рис. 3.17.160Средства поддержкипериода исполненияВходные/выходныеданныеСинтаксический анализПоддержка OCLОграниченияцелостности на OCLМетамодельГенерацияСвязь метамоделисо средствамимоделированияПоддержкасредствамоделированияПоддержкаотчетовДоработкаИтоговыйвалидаторИспользуется Dresden OCL ToolkitИспользуется наш генератор валидаторовПользователь дорабатывает валидаторРис.

3.17. Архитектура генератора валидаторовС помощью Dresden OCL Toolkit [231] получается дерево синтаксическогоразбора для OCL-спецификаций, по которому также проверяется синтаксическая корректность самого OCL-кода и использования метамодели. Далее поэтому дереву осуществляется генерация валидатора. При этом используетсяреализованная в рамках генератора валидаторов на JavaScript библиотека динамической поддержки конструкций OCL (поддерживаются инварианты, основные предикаты и средства работы с коллекциями, а также процедуры иитераторы). Эта библиотека не зависит от средства моделирования.

Следующая динамическая библиотека зависит от используемого средства моделирования и реализует инициализацию работы с репозиторием, а также ряд повторно используемых функций и пр. Было реализовано два варианта такойбиблиотеки — для инструментов Real и ARIS. Для полноценной генерациикода по OCL-ограничениям требуется метамодель (она вводится в формате161XML), а также связывание (mapping) элементов метамодели и программногоинтерфейса средства моделирования. Это связывание формализуется с помощью XML и должно быть выполнено отдельно для каждого DSM-проекта.Связывание задаётся просто, если в DSM-проекте используется метамодельинструмента моделирования, и оказывается достаточно сложным при использовании предметно-ориентированных языков.

В первом случае (использование пакета Real) связывание было простым, во втором случае были использованы аннотации на JavaScript, задающие реализацию метамодели в целевом коде. По этой информации автоматически генератор создаёт «обёртку» вокруг обращений к репозиторию, позволяя осуществлять их в терминахметамодели предметно-ориентированного языка. Итоговый валидатор генерируется как оконное приложение, в котором можно выбрать для проверкинабор ограничений из списка созданных с помощью OCL. У приложениятакже есть простой XML-интерфейс для пакетного запуска валидатора из командной строки.

Этот интерфейс оказывается полезным, если валидатор интегрируется со средствами сборки проекта. Результатом работы приложенияявляется двухуровневый HTML-отчёт: на верхнем уровне перечислены ограничения с маркерами успешности/неуспешности проверки; если при проверке ограничения были найдены ошибки, то можно открыть второй уровень ипроанализировать найденные ошибки детально. Данные для отчётов выдаются также в XML-формате, для того чтобы была возможность использовать ихпроизвольным способом (например, реализовать свои собственные отчёты).Для визуализации отчётов используется библиотека поддержки отчётов.Первая апробация метода проводилась в проекте по разработке семействателекоммуникационных систем, разрабатываемых в пакетах RTST и Real[145], [88].

Модель хранилась в пакете Real. Разработка очередного представителя данного семейства происходила посредством выделения из полноговарианта системы необходимых компонент с последующей их доработкой.Визуальное моделирование использовалось в данном проекте для специфи162кации алгоритмом (применялся вариант конечных автоматов, взятый из языка SDL [285], программный код внутри SDL-символов создавался на языкеAlgol68). На этом же языке описывалась схема приложения — классы объектов, чьё поведение описывалось на SDL. Вопрос со средствами контроля качества и отладки для данного семейства стоял давно, поскольку требования ккорректности модельных спецификаций были высоки: общее количестводиаграмм превышало 200, над спецификациями алгоритмов одновременноработало 5–7 человек, по спецификациям генерировался сложный программный код и стартовая (загрузочная) конфигурация программного обеспеченияраспределённого программно-аппаратного комплекса.

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

В результате было найдено 16 ошибок.Вторая апробация проводилась в проекте, посвящённом моделированиюИТ-архитектуры крупной нефтегазовой корпорации на основе пакета ARIS.Ограничения, созданные с помощью представленного метода, были выполнены для фрагмента проекта — модели требований, представленной нарис. 3.14. Созданные ограничения описаны в табл. 3.3. Параллельно те жеограничения были реализованы непосредственно на JavaScript, без OCL.163Табл. 3.3. Список ограничений к расширенной метамодели требований№123456789НазваниеСоглашение об одинаковыхименахСоглашение о количестведиаграммСоглашение о наличии требований в репозитории/надиаграммеСоглашение о типах матрицсоответствия требованийСоглашение о количествематриц соответствия требованийСоглашение о требованиях вматрице окружения требованияСоглашение о количествематриц окружения требованияСоглашение об именах диаграммСоглашение об именах матриц соответствия требований10Соглашение об именах матриц окружения требования11Соглашение о расположениидиаграмм, матриц и требований в папках репозиторииКраткое описаниеТребования одного типа не должны иметь одинаковые именаВ модели должно быть не больше одной корневойдиаграммы каждого вида, то есть состоящей либо избизнес-требований, либо из функциональных требований, либо из нефункциональных требованийВ модели не должно быть требований, которые неприсутствуют ни на одной диаграмме требованийМатрицы соответствия требований бывают трёх типов:бизнес-требования — функциональные требования,бизнес-требования — нефункциональные требования,функциональные требования — нефункциональныетребования.

Других вариантов быть не можетМатриц соответствия требований каждого типа неможет быть больше однойМатрица окружения требования должна иметь делотолько с одним типом требованийМатриц окружения для требования каждого типадолжно быть не больше однойНазвание диаграммы имеет следующий формат:название системы, знак «–», строка «Тип требования»Название матрицы соответствия требований имеетследующий формат: название системы, знак «–»,строка «Матрица соответствия требований», «–» типтребованийНазвание матрицы окружения требования имеет следующий формат: название системы, знак «–», строка«Матрица окружения требования», знак «–», тип требованийДиаграммы и матрицы требований должны быть расположены либо в папке «Проекты и изменения\Системы\Завершённые проекты\ Требования»,либо в папке «Проекты и изменения\ Системы\Проекты\ Требования»Анализ эффективности метода на основе численных метрик был проведёндля второй апробации — объем кода, время исполнения ограничений, сложность разработки.164Объем кода OCL-ограничений составил 78 строк, в то время как объем созданного «вручную» соответствующего JavaScript кода составил 3300 строк.Общий объём кода целевого валидатора (включая средства динамическойподдержки) составил 3600 строк, однако непосредственно код самих ограничений корректности составил 200 строк.Время исполнения сгенерированного кода на репозитории в 27 мегабайт(рабочий репозиторий проекта, содержащий полное описание модели ИТархитектуры корпорации) составило 35 минут.

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

Проведём достаточно грубые подсчёты эффективности подхода на реальных моделях, основываясь на примере, рассмотренном в разделе 5.4. В данном проекте былосоздано 10 различных моделей. Если для каждой модели составлять ограничения, подобные тем, которые были составлены для модели требований, ивзять производительность выполнения ограничений для каждой модели за 35минут (худший случай, как указывалось выше), то общее время работы валидатора для всей модели составит 5,5 часов. При этом ряд ограничений можнообъединить и тем самым оптимизировать их выполнение: например, требование о том, что сущность, имеющаяся в репозитории, должна присутствовать хотя бы на одной диаграмме, можно распространить практически, на всесущности в моделях. Совместная проверка этого ограничения для всех сущностей репозитория понизит общее время работы валидатора. Однако дажеэта производительность оказывается приемлемой для работы валидатора врежиме проверки «ночная сборка» — такую проверку можно запускать каждую ночь.

Ещё раз подчеркнём, что реальная производительность на серверебудет существенно выше. Кроме того, производительность можно повысить,запуская ряд скриптов параллельно — валидатор работает с репозиторием165только в режиме чтения, кроме того, EAM-инструменты обеспечивают многопользовательский программный доступ к репозиторию.Сложность разработки OCL-ограничений измерялась по следующей шкале: лёгкая (Л) — использование простых базовых конструкций языка; средняя (Ср) — добавляются итераторы и процедуры; сложная (С) — созданиеобъёмных спецификаций (по 20–50 строк), использование OCL в полномобъёме, активное применение процедур, включая вложенные, широкое использование операторов выборки, различных коллекций и встроенных функций и пр. (примеры таких ограничений см. в работах [197]).

В данном проекте сложных OCL-ограничений не создавалось.166Табл. 3.4. Анализ эффективности подходаНазваниеОбъем OCLограничений(в строках)Время исполненияСложность1Соглашение об одинаковых именах32,42Л2Соглашение о количестве диаграммСоглашение о наличии требований врепозитории/на диаграммеСоглашение о типах матриц соответствия требованийСоглашение о количестве матриц соответствия требованийСоглашение о требованиях в матрицеокружения требованияСоглашение о количестве матрицокружения требованияСоглашение об именовании диаграммСоглашение об именовании матрицсоответствия требованийСоглашение об именовании матрицокружения требованияСоглашение о расположении диаграмм, матриц и требований в репозиторииИтого134Ср25,15Л202,75Ср102,16Ср72,83Ср72,1Ср32,72Л35,78Л65,16Л43,4Л7835,0734567891011Сформулируем преимущества предложенного метода.1.

Характеристики

Тип файла
PDF-файл
Размер
5,8 Mb
Высшее учебное заведение

Список файлов диссертации

Методология и инструментарий предметно-ориентированного моделирования
Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее