Архитектура, управляемая моделью MDA (текущее состояние, примеры проектов).
Заказать уникальный реферат- 20 20 страниц
- 10 + 10 источников
- Добавлена 14.04.2016
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
1 Цель и ядро MDA 5
2 Жизненный цикл разработки 8
3 Типы моделей 11
Заключение 19
Список использованных источников 20
UML является примером такого языка. Необходимость в двух различных моделях возникает в том случае, если структурные и динамические аспекты не могут быть описаны в одной модели, т.к. используемый язык не в состоянии отразить оба аспекта. Важно заметить, что обе модели связаны, т.е. они описывают одну и ту же систему. Рисунок 7 отображает ситуацию, при которой две различных модели, которые описывают одну и ту же систему, записаны на различных языках.Таким образом, аспект, который описывается в диаграмме или модели, не обязательно связан с типом модели. Язык выступает важной характеристикой модели. Некоторые языки являются более выразительными, чем другие и более подходящими для того, чтобы представить определенные аспекты системы[6].Платформо-независимые и зависимые модели Имеется ряд определений PIMи PSMмоделей. Согласно документации OMG данные модели имеют значительные различия. Модель может быть либо PIM, либо PSM. В реальности очень сложно провести черту,которая разделяют два типа моделей. При этом можно заключить наибольшую зависимость каждой из них от платформы. В рамках MDAмодели менее зависимые от платформы трансформируются в более зависимые от платформы модели. В связи с этим понятия PIMи PSMсильно связаны [7].Инструменты преобразования переводят PIMв одну или несколько PSM. Входными данными является модель одного типа, выходными –модель другого типа или код. При более пристальном рассмотрении инструмента преобразования можно увидеть элементы, которые принимают участие в самом процессе преобразования. Где-то внутри записаны правила, по которым происходит трансформация.Рис.8.Процесс преобразованияВажно понимать различие между непосредственно процессом преобразования, который состоит в генерации одной модели из другой, и правилами преобразования. Инструмент трансформации использует одни и те же правила для любой входной модели. Правила задают связи между конструкциями исходного языка и языка, на котором описана выходная модель. Например, можно задать правила преобразования из UMLв C#. Они будут описывать, какие конструкции C# будут сгенерированы из разных UML-моделей.Рис.9. Преобразование из UMLв C#Обычно правила преобразования представляют собой однозначное описание способа, которым одна модель может быть использована для создания из нее другой. Опираясь на это, можно дать определения преобразованию, описанию преобразования и правилам преобразования.Преобразование - автоматическая генерация целевой модели из исходной модели согласно описанию преобразования. Описание преобразования - ряд правил преобразования, описывающих, как модель на исходном языке может быть преобразована в модель на выходном языке. Правило преобразования - описание того, как одна или более конструкций на исходном языке могут быть преобразованы в одну или более конструкций на выходном языке. Чтобы быть работоспособной, преобразование должно обладать определенными характеристиками. Самая важная характеристика -преобразование должно сохранить соответствие между источником и целевой моделью. Значение отдельного элемента модели может быть сохранено, только если оно выражено и в источнике, и в целевой модели. Например, спецификация поведения может быть частью модели UML, но не ER-модели. Даже в этом случае должна быть возможность преобразовать UML-модель в ER-модель, сохраняя структурные характеристики системы[9].Инструмент преобразования необходим для того, чтобы выполнить преобразование исходной модели,основываясь на описании преобразования.С точки зрения разработчика самыми важными элементами являются PIMи PSM. Разработчик фокусируется на создании PIM, описывая систему на высоком уровне абстракции. На следующем этапе выбирается инструмент преобразования, способный провести трансформацию разработанной PIM согласно какому-либо описанию преобразования. В результате получается PSM, которая в дальнейшем может быть преобразована в код.Рис.10.На рисунке выше изображена только одна PSM, но в то же время из одной PIMможно получить несколько PSMс готовыми мостами между ними. В зависимости от уровня детализации платформы, модели (кроме модели платформы) могут содержать сведения о различных функциональных частях системы. В этом случае говорят об уровнях модели. Обычно различают следующие основные уровни модели[11].ЗаключениеАрхитектура MDAвозникла не на пустом месте. Само ее появление и возможность реализации обусловило наличие ряда стандартов и технологий, на практике доказавших свою полезность. Концептуальной основой появления MDAстали спецификации OMA, ORB, CORBA. Перевести замысел в практическую плоскость позволили технологии объектно-ориентированного программирования (ООП), стандарт CWM, языки UML, XML, MOF. Работами по созданию новой архитектуры программирования занялся консорциум OMG(ObjectManagementGroup). По мнению создателей, архитектура MDA является новым витком эволюции технологий программирования, так как описывает процесс разработки в целом. Новизна MDA заключается в том, что описание процесса разработки в ней выполнено с использованием современных средств представления и позволяет автоматизировать создание приложений. И весьма вероятно, что через некоторое время архитектура MDA станет общим промышленным стандартом в разработке программного обеспечения [2]. На данном этапе эта методология находится больше в области академических исследований, чем практического применения. Хотя множество деталей еще требуют уточнений и разработки и потребуются еще годы работы перед тем, как мы увидим практические применения MDA, общее видение и направление развития уже достаточно хорошо определены. Тем не менее, многие считают идею генерации работающих систем автоматически из моделей утопической [5].Список использованных источников1. Куриленко И.Е., Борисов А.В. Современные архитектурные подходы к построению программного обеспечения // Сб. тр. XVIII междунар. науч.–техн. конф. Информационные средства и технологии .–Т.2. – М.:Издательский дом МЭИ, 2010. - С.176-184. 2. http://citforum.ru/gazeta/13/ 3. http://www.osp.ru/os/2003/09/183391/ 4. http://www.winsov.ru/xml005.php 5. http://www.rusnauka.com/10_NPE_2011/Informatica/3_82746.doc.htm 6. Understanding the Model Driven Architecture (MDA) Sinan Si Alhir7. http://ru.wikipedia.org/wiki/Common_Information_Model 8. http://www.developers.org.ua/lenta/articles/mda-introduction/ 9. Model Driven Architecture by Richard Soley and the OMG Staff Strategy Group 10. http://www.omg.org
2. http://citforum.ru/gazeta/13/
3. http://www.osp.ru/os/2003/09/183391/
4. http://www.winsov.ru/xml005.php
5. http://www.rusnauka.com/10_NPE_2011/Informatica/3_82746.doc.htm
6. Understanding the Model Driven Architecture (MDA) Sinan Si Alhir
7. http://ru.wikipedia.org/wiki/Common_Information_Model
8. http://www.developers.org.ua/lenta/articles/mda-introduction/
9. Model Driven Architecture by Richard Soley and the OMG Staff Strategy Group
10. http://www.omg.org
Вопрос-ответ:
Что такое MDA?
MDA (Model-Driven Architecture) - это методология разработки программного обеспечения, основанная на использовании моделей. Она позволяет разрабатывать программные системы с использованием моделей, которые затем автоматически трансформируются в код на выбранном языке программирования.
Какова цель и ядро MDA?
Цель MDA - обеспечить высокую степень автоматизации при разработке программного обеспечения. Ядро MDA состоит из трех составляющих: метамодели, моделей и преобразований. Метамодель определяет синтаксис и семантику языка моделирования, модели представляют собой абстрактные описания системы, а преобразования позволяют преобразовывать модели из одного состояния в другое.
Какие типы моделей используются в MDA?
В MDA используются различные типы моделей: высокоуровневые модели предметной области, модели архитектуры, модели компонентов, модели кода и другие. Каждая модель описывает определенный аспект системы и используется на разных этапах разработки.
Каков жизненный цикл разработки в MDA?
Жизненный цикл разработки в MDA включает следующие этапы: анализ и проектирование моделей, создание и редактирование моделей, преобразование моделей в исходный код, генерацию исполняемого кода, тестирование и отладку системы. На каждом этапе осуществляется работа с моделями, их изменение и трансформация.
Можете привести примеры проектов, использующих MDA?
Примеры проектов, использующих MDA, включают разработку информационных систем, веб-приложений, мобильных приложений и других программных систем. Например, разработка системы управления клиентами для банка, создание интернет-магазина, разработка системы управления производственными процессами и другие проекты.
Что такое MDA и какую цель преследует?
MDA (Model Driven Architecture) - это подход к разработке программного обеспечения, основанный на использовании моделей различных уровней абстракции. Цель MDA заключается в том, чтобы повысить уровень автоматизации в разработке систем, позволяя генерировать код из моделей и обеспечивая более высокую степень гибкости и переиспользуемости.
Что представляет собой жизненный цикл разработки в MDA?
Жизненный цикл разработки в MDA включает следующие этапы: создание платформонезависимой модели (PIM), создание платформоспецифичной модели (PSM), генерация кода из моделей, адаптация кода для конкретной платформы и тестирование разработанной системы.
Какие типы моделей используются в MDA?
В MDA используются различные типы моделей. Например, платформонезависимая модель (PIM) описывает систему на абстрактном уровне, без привязки к конкретной платформе. Платформоспецифичная модель (PSM) представляет собой конкретное представление системы для определенной платформы. Также могут использоваться другие модели, например, модель данных, модель взаимодействия и т.д.