автореферат диссертации по информатике, вычислительной технике и управлению, 05.13.11, диссертация на тему:Трансформация программных моделей и ее применение в технологии MDA
Оглавление автор диссертации — кандидата физико-математических наук Кузнецов, Михаил Борисович
Глава 1. Введение.
1.1 Обзор содержания работы.
1.2 Основы модельно-ориентированного подхода к разработке программного обеспечения.
1.2.1 Проблемы и задачи, которые решает MDA.
1.2.2 Процесс разработки программного обеспечения по методике MDA.
1.2.3 Преимущества использования методики MDA.
1.2.4 Роль автоматизированной трансформации моделей в MDA.
1.3 Задача автоматизированной трансформации моделей.
1.3.1 Описание трансформации и инструмент трансформации.
1.3.2 Требования к средству трансформации для его использования в MDA.
Глава 2. Обзор основных стандартов и работ, относящихся к трансформации моделей.
2.1 Стандарты, связанные с моделированием на UML.
2.1.1 Язык моделирования UML.
2.1.2 Метамоделирование и стандарт MOF.
2.1.3 Язык объектных ограничений Object Constraint Language.
2.2 Основные подходы к трансформации моделей.
2.2.1 Трансформация, встроенная в инструмент.
2.2.2 Использование языков общего назначения.
2.2.3 Использование механизмов трансформации из других областей.
2.2.4 Использование технологий работы с XML.
2.2.5 Трансформация с помощью UML как универсального языка.
2.2.6 Использование специализированного языка трансформации.
2.3 Обзор работ в области трансформации моделей.
2.3.1 MOF: запросы, представления, трансформации.
2.3.2 Трансформация: недостающее звено MDA.
2.3.3 Классификация подходов к трансформации моделей.
2.3.4 Декларативная трансформация объектно-ориентированных моделей.
2.3.5 Спецификация трансформаций модели на уровне метам одел и.
2.3.6 Трансляция моделей.
2.3.7 Сравнение двух подходов к трансформации моделей.
Глава 3. Язык трансформации моделей.
3.1. Представление моделей и метамоделей.
3.2. Основы языка трансформации.
3.2.1 Язык запросов к модели.
3.2.2 Правило трансформации.
3.2.3 Блок и описание трансформации.
3.2.4 Выполнение трансформации.
3.2.5 Генерация и трансформация нескольких моделей.
3.3. Трансформационные связи.
3.4. Полнота языка трансформации.
3.4.1 Математическая полнота языка трансформации.
3.4.2 Алгоритмическая полнота языка трансформации.
3.5. Расширенные возможности языка.
3.5.1 Уточнение правил.
3.5.2 Несущественные и симметричные переменные выборки.
3.5.3 Оператор печати.
3.5.4 Оператор завершения блока и трансформации.
3.4.5 Условный оператор.
3.4.6 Доступ к текущему экземпляру трансформационной связи.
3.4.7 Нумерация применения правил.
Глава 4. Практическая реализация трансформаций для различных платформ, особенности инструмента трансформации.
4.1. Пример перехода от нлатформо-независимой модели классов UML к модели, предназначенной для реализации на платформе CORBA.
4.1.1 Описание трансформации для перехода от UML-модели классов к модели, предназначенной для реализации на платформе CORBA.
4.1.2 Наследование реализации в CORBA-системе и необходимая для этого трансформация моделей.
4.2. Преобразование UML-модели классов в реляционную модель.
4.3. Использование правил трансформации для контроля инвариантов мстамодсли.
4.4. Особенности практической реализации инструмента трансформации.
4.4.1 Вычисление запросов к модели и секция выборки.
4.4.2 Применение правила и секция генерации.
4.4.3 Ввод описания трансформации.
4.4.4 Ввод/вывод моделей.
Введение 2005 год, диссертация по информатике, вычислительной технике и управлению, Кузнецов, Михаил Борисович
Актуальность работы заключается в том, что без использования автоматического преобразования моделей подход МОА не может реализовать весь свой потенциал. В то же время существующие средства и языки общего назначения, с помощью которых можно было бы описать преобразования моделей, оказываются недостаточно эффективными в контексте применения в МОА, что обуславливает необходимость создания нового специализированного средства трансформации с учётом потребностей этой технологии.
1.1 Обзор содержания работы
Во введении проводится обзор модельно-ориентированного подхода к разработке программных систем (МБА), рассматриваются его особенности и преимущества по сравнению с традиционными подходами. Описываются основные этапы разработки программной системы по методике МОА и основные понятия этой методики. В частности, вводятся понятия платформо-независимой и платформо-зависимой моделей, описываются различия между ними и преимущества, получаемые от описания программной системы с помощью двух моделей разного уровня абстракции.
Далее описывается роль трансформации моделей в технологии МОА и ставится задача автоматизации перехода от платформо-независимой к платформо-зависимой модели. Вводятся понятия трансформации как перехода от одной модели к другой по заданному описанию, языка описания трансформации и инструмента, автоматически выполняющего трансформацию моделей, заданную с помощью формального языка. Производится постановка задачи автоматизированной трансформации моделей, рассматриваются характеристики, которыми должен обладать язык трансформации для его успешного использования в задачах преобразования моделей, характерных для технологии МОА.
Во второй главе данной работы рассматриваются основные стандарты, имеющие отношение к трансформации моделей. Также исследуется возможность применения для описания трансформации моделей ряда существующих языков и методов из других областей программирования. Анализируются недостатки каждого из этих методов применительно к задаче трансформации моделей в контексте МОА. Делается вывод о том, что необходимо создание нового языка, специализированного для описания трансформаций иМЬ-моделей, оперирующего в терминах данной предметной области и учитывающего специфику применения.
Далее во второй главе проводится обзор работ в области трансформации моделей. Особое внимание уделено работам, в которых разработчики подхода МЭА сформулировали требования, которым, по их мнению, должно удовлетворять средство трансформации моделей для его эффективного использования в МБА. Помимо этого, рассматривается ряд работ, предлагающих общие подходы к трансформации моделей.
В третьей главе работы описывается предложенный автором язык трансформации моделей. На основе рассмотренных ранее работ делается вывод о том, что язык должен быть основан на концепции правил трансформации. Правило трансформации - это конструкция языка, задающая соответствие между фрагментом исходной модели и желаемым результатом преобразования этого фрагмента. Описание трансформации, задаваемое с помощью набора таких правил, по структуре наиболее близко к описаниям преобразований моделей на естественном языке и потому удобнее в использовании и легче для понимания по сравнению с другими методами (такими, как императивное описание трансформации в виде последовательности действий).
При описании правила трансформации предлагается задавать область применимости правила в виде шаблона, представляющего собой набор элементов метамодели и условий, которые должны быть выполнены, чтобы правило считалось применимым. В работе предлагаются синтаксические конструкции языка, основанные на синтаксисе языка объектных ограничений ОСЬ, которые позволяют задавать подобные шаблоны.
Каждому используемому в шаблоне элементу метамодели ставится в соответствие уникальное имя переменной, что позволяет легко задавать условия, уточняющие шаблон, а также использовать эти переменные для описания результата применения правила. Результат применения правила к фрагменту модели, подходящему под шаблон, предлагается описывать императивно, в виде набора операторов изменения модели, применяемых к объявленным в шаблоне переменным.
Описание трансформации на предложенном языке представляет собой набор правил трансформации, сгруппированных в блоки трансформации. В работе предложен простой алгоритм, позволяющий автоматически выполнять заданные таким образом описания. Процесс трансформации заключается в поиске применимого правила и фрагмента модели, подходящего под шаблон, и модификации выбранного фрагмента модели в соответствии с заданным в правиле набором операций. После этого поиск применимого к изменённой модели правила начинается заново.
Предложенный язык трансформации решает задачу преобразования одной модели, однако в работе описано расширение этого языка, позволяющее задавать трансформации нескольких моделей и генерацию новой модели по исходной.
В работе предложен оригинальный механизм трансформационных связей -структур данных, сохраняющих информацию о применении правил. Это позволяет не только отслеживать соответствие между исходными и порождёнными элементами модели после трансформации, что является одним из требований технологии МОА, но и использовать результат применения одних правил в других правилах, тем самым создавая зависимости между правилами и иерархии правил. Эти структуры объединяются в специальную модель связей, имеющую структуру, аналогичную структуре трансформируемых моделей. Благодаря такому сходству структур оказывается возможным использовать общие принципы и конструкции языка для работы с обычными моделями и моделью связей, что упрощает синтаксис языка и облегчает его понимание.
Далее в работе проводится исследование класса преобразований моделей, который можно описать с помощью предложенного языка. Доказывается, что можно формально описать любые преобразования, заданные с помощью однозначного отображения конечных множеств моделей. Также доказывается, что можно описать любые преобразования, заданные в виде формальных алгоритмов (для формализации понятия алгоритма используется концепция машины Тьюринга).
В четвертой главе работы на примерах показана возможность и удобство использования разработанного языка для описания трансформаций. В качестве примеров выбраны типичные задачи перехода от платформо-независимой к платформо-зависимой модели, решение которых используется в технологии МОА. Также демонстрируется возможность использования разработанного языка для контроля правильности трансформаций и обнаружения ошибок.
Кроме того, в четвертой главе работы рассмотрена структура прототипа инструмента трансформации, созданного в рамках данной работы и предназначенного для автоматического выполнения заданных на предложенном языке трансформаций моделей. Обсуждаются основные компоненты этого инструмента, принципы и особенности их функционирования, а также практические задачи, возникшие в процессе реализации инструмента, и способы их решения.
В заключении диссертации подводятся итоги работы и анализируются полученные результаты. Рассматриваются перспективы дальнейшего развития разработанного средства трансформации моделей. Ставится ряд задач, связанных с проведённой работой в области трансформации моделей и требующих дальнейшего изучения.
Заключение диссертация на тему "Трансформация программных моделей и ее применение в технологии MDA"
5.1. Результаты работы
В данной работе было проведено исследование возможности использования автоматизированной трансформации иМЬ-моделей в модельно-ориентированном подходе к разработке программного обеспечения (МЭА). В работе рассмотрен ряд подходов к описанию трансформаций моделей.
В работе можно выделить следующие основные результаты:
- предложен метод описания преобразований программных моделей на основе трансформационных правил;
- разработан специализированный язык описания трансформации иМЬ-моделей и алгоритм автоматического выполнения таких трансформаций;
- создан прототип инструмента трансформации, позволяющий автоматически выполнять трансформации программных моделей, описанные с помощью разработанного языка.
Первый результат - предложенный метод описания трансформации моделей иМЬ на основе трансформационных правил. Применимость правил в нём задаётся с помощью декларативных шаблонов на метамодели, а результат применения - в виде набора действий по изменению выбранного шаблоном фрагмента модели. Весь процесс трансформации предлагается представлять в виде последовательного применения правила к полученной после предыдущего применения правила модели.
Разработан язык описания трансформации и алгоритм автоматического выполнения заданных на этом языке описаний трансформаций моделей иМЬ. В языке используются естественные для моделирования с помощью ЫМЬ термины и понятия, а также синтаксис выражений на основе выражений языка ОСЬ. При разработке языка учитывались потребности технологии МОА. Достоинствами языка являются:
- простой и компактный синтаксис, использующий популярные стандарты из области иМЬ-моделирования;
- декларативная семантика, соответствующая естественной структуре описания трансформации моделей;
- простая императивная семантика, то есть алгоритм автоматического выполнения;
- удобная и единообразная поддержка трансформации одной модели и совместной трансформации и генерации нескольких моделей;
- поддержка трансформации всего класса моделей, описываемых с помощью метамоделей МОБ;
- доказанная возможность задать на предложенном языке любую трансформацию, для которой существует некоторый алгоритм выполнения;
- сохранение информации о ходе трансформации в виде обычной модели и доступ к этой информации непосредственно с помощью предложенного языка;
- возможность трансформации (а не только генерации) открывает новые области применения языка;
- механизмы композиции правил (блоки трансформации, уточнения, запросы к модели связей), которые облегчают создание сложных описаний трансформации, состоящих из множества правил.
Важным результатом работы является то, что доказана возможность использования разработанного языка для решения широкого класса задач. Доказано, что с помощью языка можно задавать любые однозначные отображения конечных множеств моделей. Также доказано, что с помощью разработанного языка можно задать любую трансформацию моделей, для которой существует формальный алгоритм её выполнения (для формализации понятия алгоритма использовалась концепция машины Тыоринга).
Помимо теоретического исследования применимости разработанного языка для описания трансформаций моделей, было создано несколько тестовых описаний трансформации для типичных задач, возникающих при использовании МОА. Это исследование показывает применимость и удобство разработанного языка для решения практических задач.
5.2. Перспективы дальнейшей работы
Работа представляет собой законченное исследование, однако имеются перспективы по её развитию и исследованиям в смежных областях.
Прежде всего, существуют возможности по дальнейшему совершенствованию языка трансформации и повышению удобства его использования. В основном это можно сделать, введя в язык новые возможности, позволяющие более компактным образом задавать правила трансформации. Наиболее очевидными вариантами такого развития языка являются:
- использование семантики специальных видов связей в метамоделях: использование связей-уточнений в метамоделях и расширение возможности навигации по связям с помощью операций выборки по «строгому типу» и «типу с подтипами» упростит описание шаблонов, задающих применимость правил; использование семантики ассоциаций-агрегаций позволит реализовать рекурсивное создание и рекурсивное удаление элементов модели, что обеспечит возможность более компактно и просто описывать действия по изменению модели;
- замена односторонних связей от модели трансформационных связей к трансформируемым моделям на двусторонние, допускающие навигацию в обе стороны, упростит использование навигации по трансформационным связям и позволит более компактно описывать взаимодействие между правилами в рамках трансформации.
Ещё одной перспективной областью исследований является разработка новых алгоритмов применения правил. В данной работе используется простейший алгоритм, в котором поиск применимого правила каждый раз начинается с первого правила в блоке. Такой алгоритм достаточен для решения задачи и прост для понимания. Но возможно использование других алгоритмов выбора применимого правила, что в некоторых случаях может упростить описание трансформаций. Заметим, что в разных блоках трансформации в рамках одного описания трансформации могут использоваться различные алгоритмы автоматического выполнения. Такая возможность комбинировать несколько алгоритмов в рамках одного описания трансформации позволяет вводить в инструмент трансформации новые алгоритмы, не теряя совместимости со старыми описаниями.
Также возможна работа по оптимизации существующего алгоритма выполнения трансформации и повышения его вычислительной эффективности. Можно использовать индексы и предварительно построенные деревья поиска для ускорения определения применимости правила. Кроме того, не всегда нужно повторно проверять применимость каждого правила после того, как модель была изменена, так как применимость (или не применимость) правила, в дереве выборки которого не изменялось ни одного элемента, не изменится.
Помимо исследований, непосредственно относящихся к трансформации моделей, существует важная задача разработки редактора моделей, который бы учитывал и поддерживал достигнутое в процессе трансформации соответствие между моделями. При использовании подхода МОА потребность в изменении моделей может возникнуть и после перехода от платформо-независимой к платформо-зависимой модели. Но если одна из моделей будет изменена вручную, она уже не будет соответствовать парной ей модели. Поэтому необходимо создание редактора моделей, который бы при изменении одной модели автоматически отображал эти изменения в другую модель, или, по крайней мере, сообщал, какой фрагмент во второй модели должен быть изменён для восстановления соответствия. Инструмент трансформации предоставляет необходимую для этого информацию в виде модели трансформационных связей, в которой как раз и сохранены соответствия между исходными и созданными при трансформации элементами моделей. Но для анализа и использования этой информации требуется разработка другого программного инструмента - редактора моделей иМЬ, поддерживающего средство трансформации моделей.
Библиография Кузнецов, Михаил Борисович, диссертация по теме Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
1. Кузнецов М. Б. MDA- новая концепция интеграции приложений. // Открытые Системы, №9, 2003г. с. 48-51.
2. Joaquin Miller, Jishnu Mukerji (eds.) OMG proposal paper: Model Driven Architecture(MDA). OMG documents, 2001. http://www.orng.org/mda/presentations.htm
3. Joaquin Miller and Jishnu Mukerji(eds.) MDA Guide Version 1.0. OMG document,2003.http://www.omg.org/docs/omg/03-06-01.pdf
4. Г Буч, Д Рамбо, А Джекобсон Язык UML Руководство пользователя. Питер,2004.
5. Martin Flower UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Addison Wesley, 2003.
6. Action Semantics for the UML: Request For Proposal. OMG document, 1998. http://www.omg.org/technology/documents/
7. UML 2.0 Superstructure Specification. OMG document, october 2004. http://www.omg.org/technology/documents/formal/uml.htm
8. UML Profile for CORBA version 1.0. OMG Documents, april 2002. http://www.omg.org/technology/documents/formal/profileccm.htm
9. Stephen J. Mellor Agile MDA. Project Technology, Inc. 2001. http://www.omg.org/agile/
10. John D. Poole Model-Driven Architecture: Vision, Standards And Emerging Technologies. // Position Paper Submitted to ECOOP 2001 Workshop on Metamodeling and Adaptive Object Models, April 2001.
11. Anneke Kleppe, Jos Warmer, Wim Bast. MDA Explained. The Model Driven Architecture: Practice and Promise. Pearson Education, 2003.
12. Anna Gerber, Michael Lawley, Kerry Raymond, Jim Steel, Andrew Wood Transformation: The Missing Link of MDA. // Proceedings of 1st International Conference on Graph Transformation (ICGT 2002), 2002.
13. Request for Proposal: MOF 2.0 Query / Views / Transformations RFP. OMG document, april 2002.http://www.omg.org/cgi-bin/doc7ad/2002-04-10
14. Jean Bezivin From Object Composition to Model Transformation with the MDA. // Proceedings of TOOLS'USA, Volume IEEE TOOLS-39, Santa Barbara, August 2001.
15. M. Kuznetsov Model Driven Architecture and Transformation of UML Models. // Proceeding of the Spring Young Researcher's Colloquium on Database and Information Systems (SYRCoDIS'2004). Saint-Petersburg, 2004. P. 82-86.
16. Вендров A.M. Проектирование программного обеспечения экономических информационных систем. «Финансы и статистика», 2000.
17. UML 2.0 Infrastructure Specification. OMG document, december 2003. http://www.omg.org/cgi-bin/doc7ptc/2004-10-14
18. MetaObjectFacility(MOF) Specification Version 1.4. OMG document, april 2002. http://www.omg.org/technology/documents/formal/mof.htm
19. Meta Object Facility (MOF) 2.0 Core Specification. OMG document, october 2003. http://www.omg.org/cgi-bin/doc7ptc/2004-10-15
20. Колин Аткинсон, Томас Юоне Фундамент метамоделирования. // Открытые системы, №12, 2003.
21. Jos Warmer, Anneke Kleppe The Object Constraint Language: Getting Your Models Ready for MDA, Second Edition. Addison Wesley, august 2003.
22. UML 2.0 OCL Specification. OMG document, october 2003. http://www.omg.org/cgi-bin/doc7ptc/2005-06-06
23. Кузнецов С. Д. Концептуальное проектирование реляционных баз данных с использованием языка UML. CITforum, 2003.http://www.citforum.ru/
24. Krzysztof Czarnecki, Simon Helsen Classification of Model Transformation -Approaches. University of Waterloo, Canada, 2003.
25. Agrawal, G. Karsai, F. Shi Graph Transformations on Domain-Specific Models. // Journal on Software and Systems Modeling, 2003.
26. XML Metadata Interchange (XMI) Specification Version 2.0. OMG document, May 2005.http://www.omg.org/cgi-bin/doc7formal/05-05-01
27. XSL Transformations (XSLT) v1.0. W3C Recommendation. Nov. 1999. http://www.w3.org/TR/xslt
28. D. Chamberlin. XQuery: An XML query language. IBM systems journal, #4, 2002.
29. Jernej Kovse, Theo Harder Generic XMI-Based UML Model Transformations. -ZDNet UK Whitepapers, 2002.
30. Common Warehouse Metamodel (CWM) Specification. OMG document, feb. 2001. http://www.omg.org/technology/documents/formal/cwm.htm
31. Daniel Varro, Andras Pataricza UML Action Semantics For Model Transformation Systems. // Periodica Polytechnica, #3-4, 2003.
32. Keith Duddy, Anna Gerber Declarative Transformation for Object-Oriented Models. // Transformation of Knowledge, Information, and Data: Theory and Applications, 2003.
33. Sheena R. Judson, Robert B. France, Doris L. Carver Specifying Model Transformations at the Metamodel Level. Computer Science Department, Louisiana State University Baton Rouge, Louisiana USA, 2003.
34. David H Akehurst Model Translation: A UML-based specification technique and active implementation approach. The University of Kent, december 2000.
35. Jochen M. Kuster, Shane Sendall, Michael Wahler Comparing Two Model Transformation Approaches. Computer Science Department, IBM Zurich Research Laboratory, 2004.
36. C. A. R. Hoare Communicating Sequential Processes. Prentice Hall, 1985.
37. QVT-Merge Group MOF 2.0 Query/Views/Transformations, Revised Submission. -OMG document, april 2004.
38. Кузнецов M. Б. Трансформация UML-моделей и её применение в технологии MDA. М.: ИСП РАН, 2005.
39. М. Kuznetsov Automated Model Transformation in MDA. // Proceeding of the Spring Young Researcher's Colloquium on Database and Information Systems (SYRCoDIS'2005), Volume A. Saint-Petersburg, 2005. P. 55-62.
40. Кулабухов С.Ю. Дискретная математика (конспект лекций). Таганрог, 2001.
41. Александр Цимбал. Технология CORBA для профессионалов. Санкт-Петербург, ЗАО "Питер Бук", 2001.
42. Common Object Request Broker Architecture (CORBA/IIOP) version 3.03. OMG document, 2004.http://www.omg.org/technology/documents/formal/corbaiiop.htm
43. UML Profile for CORBA Components. OMG document, july 2005. http://www.omg.org/technology/documents/formal/profileccm.htm
44. Кузнецов M. Б. Наследование реализации в распределённых объектных системах. «Открытые Системы», №12, 2002. - с. 60-64
45. Охотин A. Whale, генератор синтаксических анализаторов. апрель 2002. http://www.cs.queensu.ca/home/okhotin/whale/
-
Похожие работы
- Автоматизированная генерация кода для интеграции систем управления телекоммуникациями
- Информационная система "Популяционный раковый регистр"
- Разработка технологии и программной системы автоматизированной трансформации диаграмм функционального проектирования в диаграммы UML
- Методология моделирования на основе графа взаимодействия при сопровождении программной системы
- Повышение эффективности функционирования гибких производственных ячеек и модулей на основе высокого уровня их информационного обеспечения
-
- Системный анализ, управление и обработка информации (по отраслям)
- Теория систем, теория автоматического регулирования и управления, системный анализ
- Элементы и устройства вычислительной техники и систем управления
- Автоматизация и управление технологическими процессами и производствами (по отраслям)
- Автоматизация технологических процессов и производств (в том числе по отраслям)
- Управление в биологических и медицинских системах (включая применения вычислительной техники)
- Управление в социальных и экономических системах
- Математическое и программное обеспечение вычислительных машин, комплексов и компьютерных сетей
- Системы автоматизации проектирования (по отраслям)
- Телекоммуникационные системы и компьютерные сети
- Системы обработки информации и управления
- Вычислительные машины и системы
- Применение вычислительной техники, математического моделирования и математических методов в научных исследованиях (по отраслям наук)
- Теоретические основы информатики
- Математическое моделирование, численные методы и комплексы программ
- Методы и системы защиты информации, информационная безопасность