Главная » Просмотр файлов » Современные подходы и методы моделирования изменяемых программных систем

Современные подходы и методы моделирования изменяемых программных систем (1187429), страница 6

Файл №1187429 Современные подходы и методы моделирования изменяемых программных систем (Современные подходы и методы моделирования изменяемых программных систем) 6 страницаСовременные подходы и методы моделирования изменяемых программных систем (1187429) страница 62020-09-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

w = weightTA(e, f, extent(f)) - weightTA(e, f, exclusion(f))}.

3.3.3 Сравнение текстов

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

Основной идеей является вычисление похожести различных подстрок со словарем данной feature.

recommendTC = {(e, f, weightTC(e, vocb(extent(f)), vocb(exclusion(f))))}.

3.3.4 Интеграция подходов

Для каждого элемента кода извлекается приоритет рекомендации посредством слияния приоритетов всех трех рекомендательных механизмов. Используется оператор wa wb = wa + wb - wa wb для слияния приоритетов. Таким образом, фрагменты, рекомендованные несколькими механизмами имеют высший приоритет. Итоговый приоритет вычисляется как wTS wTA wTC

4. Вычислительный эксперимент

4.1 Итоговый алгоритм

Приоритет каждой рекомендации строится на основе всех 3-х рекомендательных механизмов.

Данное Variability mining решение – система зависимостей, система типов, топологический анализ и текстовое сравнение – реализовано в виде плагина для Eclipse.

Для разработки нового Product Line кода используются следующие шаги:

1. Описывание необходимых features и их взаимосвязей.

2. Выделение стартовых точек, которые относятся к необходимым features.

3. Расширение feature кода, следуя рекомендациям системы LEADT. LEADT предоставляет список приоритезированных рекомендаций для каждой feature.

4. Переписывание аннотированного кода для дальнейшего построения вариабельной системы для данного Product Line.

4.2 Численная оценка рекомендательной системы

Чтобы оценить качество LEADT рекомендации численно, измеряется полнота и точность в заданных условиях. Полнота – это процент найденного признаками кода в сравнении с общим размером кода, измеряемого в строчках. Точность – это процент правильных рекомендаций в сравнении с общим числом рекомендаций в системе.

4.2.1 Общее описание

Критическим элементом эксперимента измерения полноты и точности является эталонный код (содержащий правильное сопоставление кусков кода к соответсвующим features). Неправильный эталонный код привел бы к неправильным результатам как для полноты, так и для точности. Чтобы оценка качества системы была обьективной – эталонный код самостоятельно не разрабатывается, так как это могло бы повлиять на результат эксперимента. Вместо этого берутся программы, которые были ранее декомпозированы другими разработчиками.

После выбора эталонного кода, оценка происходит следующим образом. Сначала создается модель вариабельности, переиспользуются имена и зависимости из эталонного кода. Затем добавляются стартовые точки для каждого признака. После этого начинается процесс Variability mining всех признаков по очереди. Используются рекомендации с наивысшим приоритетом, а в случае равного приоритета, берется рекомендация, которой соотетствует наибольший фрагмент кода. Если в соответствии с эталонным кодом рекомендуемый фрагмент принадлежит признаку – аннотация добавляется, иначе добавляется отрицательная аннотация. Процесс итеративно повторяется до тех пор, пока рекомендации не закончатся, или пока не наступит какой-то другой критерий остановки. После остановки определяется полнота, сравниваются результирующие аннотации с эталонным кодом и точность, сравнения числа правильных и неправильных рекомендаций.

Существуют разные стратегии определения стартовых точек. В данной работе предлагается стратегия, исключающая влияние экспериментатора. Применяется средство информационного извлечения FLAT (Feature Location and Textual Tracing Tool), чтобы определить стартовую точку поиска кода для данного признака. Затем запускается очередь с названием признака, а FLAT возвращает список полей и методов, из которых выбирается первый правильный результат.

Требуется определить, когда остановить процесс mining для признака (критерий остановки). Так как разработчик не может провести сравнение с эталонным кодом, то возможными индикаторами остановки являются: низкий приоритет оставшихся рекомендаций или много неправильных рекомендаций подряд. В нашем случае, процесс Variability mining останавливается после 10 неправильных рекомендаций подряд.

4.2.2 Эталонный код

В качестве эталонного кода, по которому можно проверить эффективность алгоритма, в работе используется open source библиотека Prevayler, которая была вручную декомпозирована на признаки.

4.2.3 Результаты эксперимента

Оценка качества в рекомендательной системе LEADT состоит в определении полноты и точности предоставленных рекомендаций.

Полнота в среднем равнялась - 98%, а точность - 78%.

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

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

4.2.4 Вывод и дальнейшие перспективы

Таким образом, была построена рекомендательная система, которая помогает моделировать новую вариабельную систему с помощью переиспользования Legacy-кода.

Эксперименты показали, что данная рекомендательная система может направлять разработчиков в процессе Variability mining в больших реальных кодах.

Эксперименты предоставили много идей о дальнейшей доработке LEADT.

Заключение

  1. Исследованы и проанализированы теоретические и прикладные подходы и методы моделирования вариабельности в программных системах и их семействах.

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

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



























ЛИТЕРАТУРА

1. Чернецки К., Айзенекер У. Порождающее программирование. Методы, инструменты, применение.– Издательский дом Питер. – М.– СПб. – Харьков. – Минск.– 2005.– 730 с.

2. Pohl K., Böckle G., Linden F.J. Software Product Line Engineering: Foundations, Principles and Techniques. – New York: Springer–Verlag. – 2005. – 437 p.

3. G. Lenz, C. Wienands. Practical Software Factories in .NET, 2006.

4. D. Gasevic, D. Djuric, V. Devedzic. Model Driven Architecture and Ontology Development. Springer, 2006.

5. M. Simos, D. Creps, C. Klinger, L. Levine, and D. Allemang. Organization domain modelling (ODM) guidebook version 2.0. Technical Report STARS-VC-A025/001/00, Synquiry Technologies, Inc, 1996.

6. K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak, and A. S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, 1990.

7. J. Coplien, D. Hoffman, and D. Weiss. Commonality and variability in software engineering. IEEE Software, pages 37-45, November/December 1998.

8. J.-M. DeBaud and K. Schmid. A systematic approach to derive the scope of software product lines. In 21st International Conference on SE, ICSE-99, pages 34-43. ACM, 1999.

9. R. R. Macala, L. D. Sutckey, and D. C. Gross. Managing domain-specific product-line development. IEEE Software, 13, May 1996.

10. P. Hudak. Building domain-specific embedded languages. ACM Computing Surveys, 28(4es), December 1996.

11. J. K. Ousterhout. Scripting: Higher level programming for the 21st century. IEEE Computer, March, 1998.

12. Holger Knublauch, Ray W. Fergerson, Natalya F. Noy, and Mark A. Musen. The Protege OWL Plugin: An open development environment for semantic web applications. In 3rd International Semantic Web Conference (ISWC 2004), Hiroshima, Japan, 2004.

13. Czarnecki K., Antklevicz M. Multilevel Customization in Application Engineering//Communication of the ACM.-№12.-2006.-pp.61-65

14. J. Bergey, L. O’Brian, and D. Smith. Mining existing assets for software product lines. Technical Report Technical Report CMU/SEI-2000-TN-008, SEI, Pittsburgh, PA, 2000.

15. Trinidad P., Benavides D., Ruiz–Cort´es A. Improving Decision Making in Software Product Lines Product Plan Management // in: Proc. of the ADIS 2004 Workshop on Decision Support in SE, CEUR Workshop Proceedings. – 2004. – Vol. 120. – P. 51–58.

16. Sinnema M., Deelstra S. Classifying Variability Modeling Techniques //Elsevier J. on Inf. and Software. Technology. – 2007. – 49.

17. Asikainen T., Männistö T., Soininen T. A Unified Conceptual Foundation for Feature Modelling //in Proc. of the 10th Int. Software Product Line Conf. (SPLC 2006). – 2006. – P. 31 – 40.

18. Липаев В.В. Программная инженерия сложных заказных программных продуктов. Учебное пособие.-Мак-Пресс, Москва, 2014.-308с.

19. Грищенко В.Н., Лаврищева Е.М. Методы и средства компонентного программирования // Кибернетика и системный анализ.– 2003.– №1.– С. 39–43.

20. Лаврищева Е.М., Грищенко В.Н. Сборочное программирование. Основы индустрии программных продуктов. – К.: Наук. думка, 2009. – 372 с.

21. Лаврищева Е.М., Петрухин В.А. Методы и средства инженерии программного обеспечения. – М.: МОН РФ, 2007. – 415 с.

22. Лаврищева Е.М., Слабоспицька О.А., Коваль Г.І., Колесник А.А. Теоретические аспекты управления вариабельностю в семействах программных систем. – Весник КНУ, серия физ.–мат.наук. – 2011. – №1. – С. 151–158.

23. Daniel Oberle, Andreas Eberhart, Steffen Staab, and Raphael Volz. Developing and Managing Software Components in an Ontology-based Application Server

24. Елманова Н. Введение в Data Mining. Компьютер Пресс, 2003.

25. Sanjay Soni, Zhaohui Tang, Jim Yang. Performance Study of Microsoft Data Mining Algorithms.

26. Лаврищева Е.М. Software Engineering компьютерных систем. Парадигмы, Технологии, CASE-средства программирования.-Наук. Думка, 2014.-284с.

27. Лаврищева Е.М. Парадигмы программирования сборочного типа в программной инженерии.- Межд. Конференция –УкрПРОГ-2014, Сборник трудов.-с.76-92.

28. Лаврищева Е.М. Теория объектно-компонентного моделирования программных систем. 48 с.

29. Лаврищева Е.М. Программная инженерия. Учебно-методическое пособие в 3-х частях. М.: МФТИ.

30. Christian Kastner, Alexander Dreiling, Klaus Ostermann. Variability Mining with LEADT

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

Список файлов ВКР

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