Jump to content

UML-RSDS

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 (США), ТУ Дармштадта (Германия), Азарбайджан Шахид. Университет Мадани (Иран) и Университет Ватерлоо (Канада).

  1. ^ «Гибкий UML» . 5 февраля 2019 г.
  2. ^ Альфрайхи, Хесса (2018). «Влияние интеграции гибкой разработки программного обеспечения и разработки на основе моделей: сравнительное исследование» . Системный анализ и моделирование. Языки, методы и инструменты системной инженерии . Конспекты лекций по информатике. Том. 11150. стр. 229–245. дои : 10.1007/978-3-030-01042-3_14 . ISBN  978-3-030-01041-6 .
  3. ^ Якумейт, Эдгар; Бухвальд, Себастьян; Вагелаар, Деннис; Дэн, Ли; Хегедюс, Абель; Херрмансдёрфер, Маркус; Хорн, Тассило; Калнина, Элина; Краузе, Кристиан; Лано, Кевин; Леппер, Маркус; Ренсинк, Аренд; Роуз, Луи; Ветцольдт, Себастьян; Мазанек, Штеффен (1 июня 2014 г.). «Обзор и сравнение инструментов трансформации на основе конкурса инструментов трансформации» . Наука компьютерного программирования . 85 : 41–99. дои : 10.1016/j.scico.2013.10.009 .
  4. ^ Роуз, Луи М.; Херрмансдорфер, Маркус; Мазанек, Штеффен; Ван Горп, Питер; Бухвальд, Себастьян; Хорн, Тассило; Калнина, Элина; Кох, Андреас; Лано, Кевин; Шац, Бернхард; Виммер, Мануэль (1 февраля 2014 г.). «Инструменты преобразования графиков и моделей для миграции моделей» . Программное обеспечение и моделирование систем . 13 (1): 323–359. дои : 10.1007/s10270-012-0245-0 . S2CID   254172124 — через Springer Link.
  5. ^ Лано, Кевин (2017). Гибкая разработка на основе моделей с использованием UML-RSDS . дои : 10.1201/9781315368153 . ISBN  9781498752237 .
  6. ^ Хидака, Сочиро; Жуо, Фредерик; Тиси, Массимо (2017). «Об аддитивности в языках трансформации» . 20-я Международная конференция ACM/IEEE 2017 по инженерным языкам и системам, управляемым моделями (MODELS) (PDF) . стр. 23–33. дои : 10.1109/MODELS.2017.21 . ISBN  978-1-5386-3492-9 . S2CID   9109050 .
  7. ^ Тангарадж, Джагадисваран; Улаганатан, Сентилкумаран (2020). «Сравнительное исследование преобразования UML/OCL в другие спецификации» . Последние достижения в области компьютерных наук и коммуникаций . 13 (2): 256–264. дои : 10.2174/2213275912666190129121059 . S2CID   86744559 .
  8. ^ Лано, Кевин (2017). Гибкая разработка на основе моделей с использованием UML-RSDS . дои : 10.1201/9781315368153 . ISBN  9781498752237 .
  9. ^ Лано, Кевин; Колахдуз-Рахими, Шекуфе (2021 г.). «Расширение OCL с помощью типов карт и функций» . Основы программной инженерии . Конспекты лекций по информатике. Том. 12818. стр. 108–123. дои : 10.1007/978-3-030-89247-0_8 . ISBN  978-3-030-89246-3 . S2CID   239029860 .
  10. ^ Калегари, Дэниел; Сас, Нора (5 марта 2013 г.). «Проверка трансформаций моделей: обзор современного состояния» . Электронные заметки по теоретической информатике . 292 : 5–25. дои : 10.1016/j.entcs.2013.02.002 .
  11. ^ Кахани, Нафисе; Багерзаде, Моджтаба; Корди, Джеймс Р.; Дингель, Юрген; Варро, Даниэль (1 августа 2019 г.). «Обзор и классификация инструментов преобразования моделей» . Программное обеспечение и моделирование систем . 18 (4): 2361–2397. дои : 10.1007/s10270-018-0665-6 . S2CID   254169720 — через Springer Link.
  12. ^ Аб. Рахим, Лукман; Уиттл, Джон (1 мая 2015 г.). «Обзор подходов к проверке преобразований модели» . Программное обеспечение и моделирование систем . 14 (2): 1003–1028. дои : 10.1007/s10270-013-0358-0 . S2CID   254156898 — через Springer Link.
  13. ^ С. Хидака и др., Об аддитивности в языках трансформации, МОДЕЛИ 2017, ACM Press
  14. ^ Якумейт, Эдгар; Бухвальд, Себастьян; Вагелаар, Деннис; Дэн, Ли; Хегедюс, Абель; Херрмансдёрфер, Маркус; Хорн, Тассило; Калнина, Элина; Краузе, Кристиан; Лано, Кевин; Леппер, Маркус; Ренсинк, Аренд; Роуз, Луи; Ветцольдт, Себастьян; Мазанек, Штеффен (1 июня 2014 г.). «Обзор и сравнение инструментов трансформации на основе конкурса инструментов трансформации» . Наука компьютерного программирования . 85 : 41–99. дои : 10.1016/j.scico.2013.10.009 .
  15. ^ Роуз, Луи М.; Херрмансдорфер, Маркус; Мазанек, Штеффен; Ван Горп, Питер; Бухвальд, Себастьян; Хорн, Тассило; Калнина, Элина; Кох, Андреас; Лано, Кевин; Шац, Бернхард; Виммер, Мануэль (1 февраля 2014 г.). «Инструменты преобразования графиков и моделей для миграции моделей» . Программное обеспечение и моделирование систем . 13 (1): 323–359. дои : 10.1007/s10270-012-0245-0 . S2CID   254172124 — через Springer Link.
  16. ^ «Конкурс инструментов трансформации (ТТС) 2014» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3e7fe44843767738dcddceb90646146f__1700875440
URL1:https://arc.ask3.ru/arc/aa/3e/6f/3e7fe44843767738dcddceb90646146f.html
Заголовок, (Title) документа по адресу, URL1:
UML-RSDS - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)