Тефкат
Tefkat — это язык преобразования моделей и механизм преобразования моделей. Язык основан на F-логике и теории программ стратифицированной логики. Движок представляет собой Eclipse плагин для Eclipse Modeling Framework (EMF).
История
[ редактировать ]Tefkat был одним из подпроектов проекта Pegamento в Центре технологий распределенных систем (DSTC), Австралия. стадии реализации, наиболее активное исследование проводилось для подачи ответа на OMG MOF Хотя проект уже находился в 2.0 / просмотров / преобразований запрос предложений .
Tefkat был открыт до закрытия DSTC в июне 2006 года.
Краткое описание
[ редактировать ]Tefkat определяет сопоставление набора исходных метамоделей с набором целевых метамоделей. Преобразование Tefkat состоит из правил , шаблонов и шаблонов . Правила содержат исходный термин и целевой термин . Шаблоны — это просто составные исходные термины, а шаблоны — просто составные целевые термины. Эти элементы основаны на F-логике и чисто логическом программировании, однако отсутствие функциональных символов означает значительное снижение сложности.
В Tefkat есть еще два важных языковых элемента: трекинги и инъекции . Отслеживание позволяет сохранять произвольные связи в модели трассировки. Внедрения позволяют указать идентичность целевых объектов с помощью функционального символа. Таким образом, инъекции аналогичны (но более мощны) ключам QVT, которые определяют идентичность целевого объекта как функцию его типа и некоторых его свойств.
Декларативная семантика преобразования Tefkat — идеальная модель трассировок и целей, удовлетворяющая всем правилам. Более императивная семантика преобразования Тефкат — это повторяемая наименьшая фиксированная точка непосредственного следствия каждого правила. Благодаря стратификации эти семантики эквивалентны и однозначны. Tefkat не использует явный вызов правил; все (неабстрактные) правила срабатывают независимо от всех остальных, однако правила могут быть слабо связаны с помощью отслеживания, внедрения, расширения и/или замены правил.
Конкретный синтаксис
[ редактировать ]Tefkat имеет конкретный синтаксис, подобный SQL, предназначенный для краткой передачи смысла каждого правила, шаблона или шаблона.
RULE ClassToTable FORALL Class c { name: n; } MAKE Table t { name: n; } ;
Согласие
[ редактировать ]Язык Tefkat определен в терминах (E)MOF 2.0, однако движок реализован в терминах Ecore, EMOF-подобной метаметамодели в центре EMF. Этот язык очень похож на пакет отношений QVT, однако он не соответствует ему строго.
См. также
[ редактировать ]- Архитектура, управляемая моделями (MDA): видение MDE от OMG
- QVT : принятая OMG спецификация QVT.
- Стратификация (математика)
- Логическое программирование