Архитектура, управляемая моделью (курсовая), страница 2
Описание файла
PDF-файл из архива "Архитектура, управляемая моделью (курсовая)", который расположен в категории "". Всё это находится в предмете "распределённые ис и базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "распределённые ис и базы данных" в общих файлах.
Просмотр PDF-файла онлайн
Текст 2 страницы из PDF
В этом случае можно говорить овизуализации разрабатываемой архитектуры посредством некоторогопрограммного средства и методологии моделирования. Такие средства имодели имели независимое развитие и получили широкое распространениене только в сфере разработки ПО, но и за ее рамками. В частности широкоераспространения получило моделирование бизнес процессов (BusinessProcess Modeling, BPM).
Моделирование способствует решению третьей ичетвертой проблемы из списка выше. В области разработки ПО средствамоделирования постепенно эволюционировали от средств визуального5представления к инструментам с поддержкой автоматической генерации кодаи далее к комплексным интегрированным средам.Концепция ООП к архитектуре приложений нашла свое развитие вкомпонентно-ориентированном подходе. Главным отличием последнегоявляется использование понятия компонента, а не класса или объекта вкачестве базовой конструкции.
Компонент – это составная единицапрограммной системы, четко заданная на уровне интерфейса и связей сдругими компонентами. Компонентно-ориентированный подход можнорассматривать как основу для сервис-ориентированного подхода,являющегося в последние несколько лет одним из наиболее популярных.Как результат развития перечисленных направлений выделился рядархитектурных подходов, отражающих концепцию построения сложного ПОи соответствующие практические рекомендации. Часто эти подходы неявляются взаимоисключающими и дополняют друг друга.Model Driven Architecture (MDA, архитектура управляемая моделью) – этоархитектурный подход к построению многокомпонентного ПО, основанныйна разработке независимого от платформы и языка программированияпредставления системы (модели) с последующим переходим к исходномукоду системы через автоматизированную генерацию кода.
Разработка MDAначалась в 2000 году. Предпосылкой к разработке являлся тот факт, что уже кконцу 90-х годов прошлого столетия было создано большое количествотехнологий и протоколов для создания распределенных приложений. Вкачестве примеров можно привести COM/DCOM, CORBA, Java/RMI,XML/SOAP/RPC и др. Большинство таких технологий созданы зависимымиот платформы, не все из них были описаны в виде стандарта. Это создавалобольшие проблемы при разработке ПО и интеграции компонент в единуюинфраструктуру.Основной целью разработчиков MDA являлось создание архитектурногоподхода, позволяющего снизить риск, вызванный различиями между итехнологиями разработки программных систем и платформами. Для решения6этой задачи в MDA вводятся понятия модели, зависимой от платформы(Platform Specific Model (PSM)), и модели, независимой от платформы(Platform Independent Model (PIM)). MDA предполагает создание PIM ипоследующий переход к PSM с использованием специализированныхсредств.
Кроме того возможен переход от одной PSM модели к другой.Консорциум OMG как разработчик MDA не предоставляет никакихпрограммных средств для обеспечения перехода от модели к модели.Предполагается, что они будут реализоваными силами стороннихразработчиков. Фактически, MDA – это концепция разработки,поддержанная группой стандартов (UML, MOF, CWM и XMI),разработанных OMG. Эти стандарты накладывают требования, которымдолжны удовлетворять модели, и предоставляют рекомендации дляразработчиков сред создания ПО по MDA [1].7Основные понятияМодель - описание или спецификация системы и ее окружения, созданнаядля определенных целей. Часто является комбинацией текстовой играфической информации.
Текст может быть описан специализированнымили естественным языком.Управление на основе модели - процесс разработки системы,использующий модель для понимания, конструирования, распространения идругих операций.Платформа - набор подсистем и технологий, которые представляютсобой единый набор функциональности, используемой любым приложениембез уточнения деталей реализации.Вычислительная независимость - качество модели, обозначающееотсутствие любых деталей структуры и процессов.Платформенная независимость - качество модели, обозначающее еенезависимость от свойств любой платформы.Вычислительно-независимая модель - модель, скрывающая любыедетали реализации и процессов системы; описывает только требования ксистеме и ее окружению.Платформенно-независимая модель - модель, скрывающая деталиреализации системы, зависимые от платформы, и содержащая элементы, неизменяющиеся при взаимодействии системы с любой платформой.Платформенно-зависимая модель - модель системы с учетом деталейреализации и процессов, зависимых от конкретной платформы.Модель платформы - набор технических характеристик и описанийтехнологий и интерфейсов, составляющих платформу.Преобразование модели - процесс преобразования одной модели системыв другую модель той же системы [2].8Цель MDAВ современных программных системах активно используются многоразличных стандартов и технологий промежуточного слоя — CORBA,DCOM, .Net, Web-службы, технологии, основанные на Java и т.д.
Все чащевозникает потребность в интеграции и обеспечении взаимодействия систем,основанных на разных технологиях, а также в модернизации существующихпрограмм и их переработке в соответствии с новой технологической основой.Новаяархитектурнаяоснованнаянаконцепция, предложеннаямодельно-ориентированномконсорциумомподходекOMG,разработкепрограммного обеспечения, позволяет существенно упростить и частичноавтоматизировать разработку, интеграцию и модернизацию систем.В связи с большим количеством используемых и разрабатываемыхстандартов и технологий стало очевидно, что попытка создать единыйуниверсальный стандарт построения и взаимодействия программных системобречена на неудачу.
Примером тому стандарт CORBA, который, хотя иприобрел определенную известность, так и не занял предполагаемого длянего места «универсального стандарта». Поэтому консорциум OMG принялрешение перейти от «стандарта интеграции» к интеграции стандартов.Концепция MDA (Model Driven Architecture) призвана обеспечить общуюоснову для описания и использования большинства существующихстандартов, не ограничивая разработчиков в выборе конкретных технологий.Интеграция стандартов достигается за счет: введения концепции платформно-независимой моделиприложения; использования унифицированного инструмента (UML) дляописания таких моделей; наличия разработанных OMG стандартных отображений моделейв среду большинства технологических платформ и программныхинструментов промежуточного слоя.9Использование MDA для разработки и интеграции программногообеспечения позволяет сохранить инвестиции, сделанные в разработкубизнес-логики даже при смене технологических платформ.Модельно-ориентированный подход облегчает интеграцию какразнородных, основанных на различных технологиях распределенныхсистем, так и организацию взаимодействия между системами, основаннымина одной технологии, но использующими разные интерфейсы, сервисы истандарты.
Кроме того, MDA позволяет разрабатывать стандартные сервисы(репозитарии, сервисы событий и сообщений и т.д.), которые поддерживаютсразу несколько технологий промежуточного слоя. Например, можно создатьрепозитарий объектов, который предоставляет соответствующий сервиссистемам как на базе CORBA, так и на базе Web-сервисов. Это не толькоупрощает разработку программного обеспечения, но и позволяеторганизовать взаимодействие различных систем [3].10Ядро MDAЯдром MDA являются несколько стандартов — UML, MOF, CWM иXMI.
Язык UML (Universal Modeling Language) используется для описаниявсех моделей. Совокупность метамоделей CWM (Common Warehouse Model)представляет наиболее часто используемые в базах данных и инструментахбизнес-анализа метаданные. CWM содержит большое количество различныхметамоделей, описывающих функционирование бизнеса. MOF (Meta ObjectFacility) — общий абстрактный язык для описания метамоделей; на егооснове построены формальные описания метамодели для CWM и UML.Последний стандарт, XMI (XML Metadata Interchange), играет служебнуюроль, описывая отображение моделей MOF и UML на стандарт XML.
Приэтом метамодели преобразуются в DTD-структуру документа, а модели — втело XML-документа. Это позволяет объединить модель и ее метамодель водном документе и получить так называемый «самоописываемый» (selfdescribing) документ, содержащий не только данные, но и информацию,необходимую для их интерпретации.11В основе MDA лежит понятие платформно-независимой модели(platform independent model, PIM). Речь идет о детальной исполняемоймодели на языке действий UML (action semantics) с пред- и постусловиями,сформулированными на OCL.Вполне логично, что для описания PIM выбран язык UML. Этот языкпринципиально позиционировался как независящий от платформ итехнологий. Однако UML в своих ранних версиях не являлся «точным»языком: он только предоставлял дизайнеру возможность описать структуру иповедение системы, практически не определяя ее функционирование ииспользуемые алгоритмы.
В новый стандарт UML 2.0, который был одобренOMG в июне 2003 года, включено большое количество средств,позволяющих описывать внутреннюю организацию и функционированиесистемы. Одна из основных задач, которые были решены при создании этогостандарта, — превратить UML в алгоритмически полный исполнимый язык,в то же время, по возможности, не повышая уровня детализации UMLмоделей.Несмотря на то, что PIM — это детальная исполняемая модель, ее врядли можно использовать на практике как финальный программный продукт.UML-инструментарий нового поколения предоставляет унифицированнуюсреду, в которой можно интерпретировать эту модель и получатьисполняемый код прототипного качества.
Такой код может быть крайненеэффективным, не удовлетворять некоторым функциональнымтребованиям, не полностью реализовывать функциональность системы идаже требовать участия человека в процессе исполнения. Инструментарий,используемый для интерпретации UML-модели, может бытьполуавтоматическим и допускать вмешательство оператора. Только послепривязывания к конкретной платформе можно получить код промышленногокачества.
Но, хотя исполнение PIM-модели и нельзя применять для решенияпрактических задач, оно необычайно важно для целей тестирования иотладки. Фактически, у разработчиков появляется возможность получить12первый прототип системы еще до начала стадии кодирования, когдасравнительно легко вносить даже существенные изменения в систему (в томчисле, изменения требований и технического задания).Многие крупные производители объявили о поддержке MDA и началеразработки соответствующих инструментов, и в ближайшее время можноожидать выхода первых инструментариев разработки с использованиемMDA. Но, вероятно, потребуется значительный период времени, чтобыинструменты развились и смогли максимально использовать возможноститехнологии.