Диссертация (Платформа для создания специализированных визуальных сред разработки программного обеспечения), страница 25

PDF-файл Диссертация (Платформа для создания специализированных визуальных сред разработки программного обеспечения), страница 25 Технические науки (48066): Диссертация - Аспирантура и докторантураДиссертация (Платформа для создания специализированных визуальных сред разработки программного обеспечения) - PDF, страница 25 (48066) - СтудИзба2019-06-29СтудИзба

Описание файла

Файл "Диссертация" внутри архива находится в папке "Платформа для создания специализированных визуальных сред разработки программного обеспечения". PDF-файл из архива "Платформа для создания специализированных визуальных сред разработки программного обеспечения", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве СПбГУ. Не смотря на прямую связь этого архива с СПбГУ, его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.

Просмотр PDF-файла онлайн

Текст 25 страницы из PDF

DMM, EProvide и AToM3 по ходу исполненияизменяют модель, а также при необходимости подсвечивают отдельные элементы,как, например, в EProvide, поэтому все эти подходы оценены в 2 балла. Прииспользовании xUML или двухуровневой отладки интерпретация позволит лишьподсвечивать текущий исполняемый элемент (1 балл).Если смотреть на способы задания семантики со стороны разработчикаконкретного визуального языка, то важным критерием их сравнения становитсяпонятность,отвечающаязаколичествознанийвобластивизуальногомоделирования и других связанных с ней областях, которое необходимо иметь дляуспешного и осмысленного применения данных способов.Самым понятным подходом, на наш взгляд, является DMM, так как правилапреобразования графов воспринимаются довольно интуитивно. У AToM3 естьнедостаток в том, что возможно ставить различные ограничения и писатьисполняемые инструкции на OCL и Python, а это требует от разработчикадополнительных знаний.

xUML подразумевает сложную систему зависимостейдиаграмм друг от друга, а также активную работу с AL, что снижает понятность, т.к.необходимо хорошо ориентироваться в UML и в PAS или некотором AL (0 баллов).Для использования EProvide нужно изучить стандарт QVT Relation, что посложности сравнимо с подходом в xUML (0 баллов). Для применения двухуровневойотладки же необходимо знание языка программирования, на котором написанаиспользующаяся система, а также особенностей её реализации для того, чтобы было153возможно встраивание в неё функционала отладчиков, что даёт данному подходуоценку в 0 баллов.Таблица 3. Сравнительная таблица для разобранных подходовКритерий сравненияДвухур.xUMLDMMотладкаEProvidAToM3eУниверсальность00333Формальность01313Наглядность средств0130311222Понятность00302Наличие реализации13033Возможность создания33333задания семантикиНаглядность процессаинтерпретацииотладчикаКритерий наличия реализации: 3 балла, если реализация существует (для xUML,например, их существует много), 0 баллов, если нет.

Двухуровневая отладка имеет 1балл, т.к. для неё присутствует реализация для конкретного языка. Если для данногоподхода уже реализовано средство, позволяющее не только интерпретировать, но иотлаживать, т.е. использовать различные точки останова, просмотр и изменениезначений атрибутов и т.п., или для подхода возможно такое расширение, то он имеет3 балла в графе “возможность создания отладчика”, иначе — 0 баллов.154После суммирования полученных для каждого из подходов баллов получаетсяследующее распределение: двухуровневая отладка — 5 баллов, xUML — 9 баллов,DMM — 17 баллов, EProvide — 12 баллов, AToM3 — 19 баллов.

Благодаря наличиюреализации, подход, использующийся в AToM3, представляется нам лучшимподходом. Он очень похож на DMM, что подтверждают набранные ими баллы.155Приложение C. Реализованный алгоритм поискаподграфа в модели репозитория QRealРассмотрим набор множеств и отображений, необходимых для работы этогоалгоритма. Пусть исходная модель является графом = ∪ , где — множествоего вершин, — множество рёбер, а искомый шаблон — граф ′ = ′ ∪ ′.

Вдальнейшем будем придерживаться соглашения, что обозначения с штрихомотносятся к сущностям, связанным с шаблоном, а без штриха — с исходноймоделью. Тогда:●Отображение : ′ → будет определяться постепенно и на определённыхшагах будет содержать промежуточный результат работы алгоритма. Взятоена элементе ′, оно выдаёт соответствующий ему элемент .●Подмножество вершин ′, образующих подграф ′, который на данном шагесовпадает с некоторым подграфом , обозначим за ′.●Подмножество вершин ′, у которых есть связи с вершинами из ′, нележащими в ′, обозначим за ′. Данное множество представляется в видесписка, поэтому порядок добавления элементов в него имеет значение.●Индекс вершины в ′, рассматриваемой на текущем шаге, обозначим за . Вначале работы инициализируем нулём.Таким образом, на каждом шаге имеется некий подграф (с множеством вершин,равным ′) в ′, который уже был найден в .

Отображение вершин и рёбер этогоподграфа на элементы уже содержится в . Также присутствует список вершин′, который позволяет продолжать поиск ′ в .Отметим дополнительно, что так как граф модели является типизированнымориентированным графом с атрибутами, то при сравнении вершин учитываетсяравенство их типов и атрибутов, а при сравнении рёбер ещё и их направления.Рассмотрим принцип работы алгоритма целиком.156На первом шаге выбираем произвольную вершину из ′ и ищем все вершины в, совпадающие с ней по описанным выше критериям.

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

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

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

Если ребер не нашлось, то переходим кследующему ребру из 1 . Если нашлись все нужные ребра, то (′) = , а также∀′ ∈ один из концов ′ равен ′, а второй принадлежит ′: (′) = ∈ , где является найденным выше соответствующим ребром. Запускаем второй шаг снова,если индекс не равен мощности ′. Если второй шаг вернул истину, т.е. мы нашлинужный подграф, то откатываемся к запомненному состоянию и переходим к157следующему ребру из 1 .Откат происходит по следующему принципу. Убираем последнюю добавленнуювершину в ′, убираем последнюю вершину в списке ′, уменьшив принеобходимости индекс на единицу, убираем информацию об удаленной вершине в(как про саму вершину, так и про все его рёбра в ′).Нахождение заданного шаблона в графе позволяет в дальнейшем легкопроизводить операции создания новых элементов (как вершин, так и рёбер), ихкорректного соединения с уже существующими элементами модели, удаления илизамены старых элементов.158Приложение D.

Акты о внедрении159.

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