UML-RSDS
Судя по всему, основной автор этой статьи тесно связан с ее предметом. ( февраль 2023 г. ) |
UML-RSDS — это легкий инструмент проектирования на основе моделей (MDE) и преобразования моделей, поддерживающий нотацию диаграммы классов UML 2.5 и язык ограничений объектов OCL 2.4 . Он поддерживает генерацию кода в нескольких 3GL: Java , C# , C++ , Python , Go , Swift и ANSI C.
Набор инструментов был определен как проект Eclipse AgileUML в категории моделирования. [1]
Набор инструментов возник в результате исследования, финансируемого EPSRC в Имперском колледже и Королевском колледже Лондона в период 1996–2014 годов. Он был публично выпущен в 2010 году и определен как проект Eclipse в 2019 году. Сейчас он поддерживается AgileMDE Ltd: agilemde.co.uk.
Одной из причин создания этих инструментов было предоставление специалистам-практикам по программному обеспечению средств гибкого использования MDE для поддержки гибкой разработки с использованием MDE. Инструмент был применен для разработки финансового программного обеспечения. [2] и ко многим различным видам задач трансформации, например [3] [4]
Языковые характеристики
[ редактировать ]Основными обозначениями спецификации в UML-RSDS являются диаграммы классов и варианты использования UML , а также язык ограничений объектов (OCL). выражения, используемые для определения инвариантов и предварительных и постусловий операций. [5] Для UML-RSDS можно использовать как графическую, так и текстовую нотацию. спецификации.
Например, простую спецификацию класса можно записать так:
class Person {
attribute age: int;
attribute name: String;
operation birthday()
pre: true
post: age = age@pre + 1;
}
Преобразования определяются как варианты использования вместе с ограничениями, выражающими способ получения результирующих данных из входных данных. [6] Таким образом, поддерживается стиль декларативной спецификации, аналогичный языку отношений QVT , но без необходимости определять дополнительный синтаксис или элементы языка — используется только OCL. Например, чтобы скопировать экземпляр каждого человека в PersonRecord с атрибутом data, сформированным из имени и возраста, достаточно написать:
usecase copyPersons {
Person::
PersonRecord->exists( r | r.data = name + age )
}
Для этого типа спецификации преобразования определены процедуры проверки. [7]
Для более общих программных приложений код в процедурном стиле с использованием таких операторов, как присваивание ( := ), циклы ( в то время как для ), условные выражения ( if then else ) и последовательность ( ; ) можно использовать для определения поведения операций и вариантов использования. Эти операторы соответствуют текстовой версии моделей действий UML. [8]
Используемая версия OCL является расширением OCL версии 2.4 с дополнительными типами данных Map и Function, а также расширенными наборами операторов для строк (например, регулярных выражений) и коллекций. [9] Их можно использовать для представления семантики программ, полученных методом реверс-инжиниринга, на таких языках, как Java или COBOL . В свою очередь, представления в UML/OCL затем можно перевести на другие языки, такие как Swift или Python.
Применение и оценка
[ редактировать ]UML-RSDS был предметом ряда независимых обзоров и сравнительных оценок со стороны исследовательского сообщества по преобразованию моделей, например, следующие вторичные надежные источники, созданные исследователями, независимыми от группы разработчиков UML-RSDS, которые подчеркивают характеристики UML-RSDS. RSDS, которые поддерживают проверку трансформации: [10] [11] [12]
Он примечателен как один из языков преобразований, поддерживающий свойство аддитивности. [13] это означает, что семантика спецификаций UML-RSDS является композиционной.
UML-RSDS использовался в нескольких решениях для тематических исследований на конкурсе инструментов трансформации (TTC), ведущей площадке для оценки трансформации моделей. [14] [15] [ чрезмерное цитирование ] В частности, решение UML-RSDS заняло 3-е место в конкурсе кейсов «База данных фильмов» TTC 2014. [16]
Его использовали в образовании и исследованиях ряд университетов, в частности, Королевский колледж Лондона (Великобритания), Исфаханский университет (Иран), Техасский международный университет A и M (США), ТУ Дармштадта (Германия), Азарбайджан Шахид. Университет Мадани (Иран) и Университет Ватерлоо (Канада).
Ссылки
[ редактировать ]- ^ «Гибкий UML» . 5 февраля 2019 г.
- ^ Альфрайхи, Хесса (2018). «Влияние интеграции гибкой разработки программного обеспечения и разработки на основе моделей: сравнительное исследование» . Системный анализ и моделирование. Языки, методы и инструменты системной инженерии . Конспекты лекций по информатике. Том. 11150. стр. 229–245. дои : 10.1007/978-3-030-01042-3_14 . ISBN 978-3-030-01041-6 .
- ^ Якумейт, Эдгар; Бухвальд, Себастьян; Вагелаар, Деннис; Дэн, Ли; Хегедюс, Абель; Херрмансдёрфер, Маркус; Хорн, Тассило; Калнина, Элина; Краузе, Кристиан; Лано, Кевин; Леппер, Маркус; Ренсинк, Аренд; Роуз, Луи; Ветцольдт, Себастьян; Мазанек, Штеффен (1 июня 2014 г.). «Обзор и сравнение инструментов трансформации на основе конкурса инструментов трансформации» . Наука компьютерного программирования . 85 : 41–99. дои : 10.1016/j.scico.2013.10.009 .
- ^ Роуз, Луи М.; Херрмансдорфер, Маркус; Мазанек, Штеффен; Ван Горп, Питер; Бухвальд, Себастьян; Хорн, Тассило; Калнина, Элина; Кох, Андреас; Лано, Кевин; Шац, Бернхард; Виммер, Мануэль (1 февраля 2014 г.). «Инструменты преобразования графиков и моделей для миграции моделей» . Программное обеспечение и моделирование систем . 13 (1): 323–359. дои : 10.1007/s10270-012-0245-0 . S2CID 254172124 — через Springer Link.
- ^ Лано, Кевин (2017). Гибкая разработка на основе моделей с использованием UML-RSDS . дои : 10.1201/9781315368153 . ISBN 9781498752237 .
- ^ Хидака, Сочиро; Жуо, Фредерик; Тиси, Массимо (2017). «Об аддитивности в языках трансформации» . 20-я Международная конференция ACM/IEEE 2017 по инженерным языкам и системам, управляемым моделями (MODELS) (PDF) . стр. 23–33. дои : 10.1109/MODELS.2017.21 . ISBN 978-1-5386-3492-9 . S2CID 9109050 .
- ^ Тангарадж, Джагадисваран; Улаганатан, Сентилкумаран (2020). «Сравнительное исследование преобразования UML/OCL в другие спецификации» . Последние достижения в области компьютерных наук и коммуникаций . 13 (2): 256–264. дои : 10.2174/2213275912666190129121059 . S2CID 86744559 .
- ^ Лано, Кевин (2017). Гибкая разработка на основе моделей с использованием UML-RSDS . дои : 10.1201/9781315368153 . ISBN 9781498752237 .
- ^ Лано, Кевин; Колахдуз-Рахими, Шекуфе (2021 г.). «Расширение OCL с помощью типов карт и функций» . Основы программной инженерии . Конспекты лекций по информатике. Том. 12818. стр. 108–123. дои : 10.1007/978-3-030-89247-0_8 . ISBN 978-3-030-89246-3 . S2CID 239029860 .
- ^ Калегари, Дэниел; Сас, Нора (5 марта 2013 г.). «Проверка трансформаций моделей: обзор современного состояния» . Электронные заметки по теоретической информатике . 292 : 5–25. дои : 10.1016/j.entcs.2013.02.002 .
- ^ Кахани, Нафисе; Багерзаде, Моджтаба; Корди, Джеймс Р.; Дингель, Юрген; Варро, Даниэль (1 августа 2019 г.). «Обзор и классификация инструментов преобразования моделей» . Программное обеспечение и моделирование систем . 18 (4): 2361–2397. дои : 10.1007/s10270-018-0665-6 . S2CID 254169720 — через Springer Link.
- ^ Аб. Рахим, Лукман; Уиттл, Джон (1 мая 2015 г.). «Обзор подходов к проверке преобразований модели» . Программное обеспечение и моделирование систем . 14 (2): 1003–1028. дои : 10.1007/s10270-013-0358-0 . S2CID 254156898 — через Springer Link.
- ^ С. Хидака и др., Об аддитивности в языках трансформации, МОДЕЛИ 2017, ACM Press
- ^ Якумейт, Эдгар; Бухвальд, Себастьян; Вагелаар, Деннис; Дэн, Ли; Хегедюс, Абель; Херрмансдёрфер, Маркус; Хорн, Тассило; Калнина, Элина; Краузе, Кристиан; Лано, Кевин; Леппер, Маркус; Ренсинк, Аренд; Роуз, Луи; Ветцольдт, Себастьян; Мазанек, Штеффен (1 июня 2014 г.). «Обзор и сравнение инструментов трансформации на основе конкурса инструментов трансформации» . Наука компьютерного программирования . 85 : 41–99. дои : 10.1016/j.scico.2013.10.009 .
- ^ Роуз, Луи М.; Херрмансдорфер, Маркус; Мазанек, Штеффен; Ван Горп, Питер; Бухвальд, Себастьян; Хорн, Тассило; Калнина, Элина; Кох, Андреас; Лано, Кевин; Шац, Бернхард; Виммер, Мануэль (1 февраля 2014 г.). «Инструменты преобразования графиков и моделей для миграции моделей» . Программное обеспечение и моделирование систем . 13 (1): 323–359. дои : 10.1007/s10270-012-0245-0 . S2CID 254172124 — через Springer Link.
- ^ «Конкурс инструментов трансформации (ТТС) 2014» .
Внешние ссылки
[ редактировать ]- Рецензия на книгу UML-RSDS: https://modeling-languages.com/uml-rsds-agile-model-based-development-uml/
- Видео для компьютерщиков: https://www.youtube.com/watch?v=Xz06zYlQrck
- Проект EPSRC: https://gow.epsrc.ukri.org/NGBOViewGrant.aspx?GrantRef=GR/R81701/01