В настоящее время существует множество подходов, методологий и инструментальных средств для создания моделей



Скачать 74.87 Kb.
Дата28.12.2017
Размер74.87 Kb.

В настоящее время существует множество подходов, методологий и инструментальных средств для создания моделей. Разработкой такого рода занимаются крупнейшие корпорации, такие как IBM1, HP2, Sun3, Microsoft4. Модели создаются с различными целями, функциональными возможностями на различных этапаз жизненного цикла. В последние несколько лет усилия корпорации Microsoft направлены на получение инструментальных средств для возможности объединения и использования своих разработанных методологий Microsoft Solutions Framework5 (MSF) и Microsoft Operations Framework6 (MOF) в области Application Lyfecycle Management (ALM). Таким инструментом и является технологий System Definition Model (SDM).
SDM - это новая технология. В 2003 году корпорация Microsoft объявила о том, что в настоящая время стратегия компании будет направлена на создание и развитие методологий и инструментария по объявленной инициативе DSI (Dynamic System Initiative). Основной замысел SDM заключается в создании унифицированного подхода к проектированию моделей с целью использования единой модели на всех стадиях жизненного цикла системы: разработки, развертывания и сопровождения.
В 2005 году с выходом новой версии средства разработки Visual Studio 2005 Team System (VS2005 TS) технология SDM стала доступна разработчикам. К настоящему моменту выпущены новые версии System Management Server (SMS) и Microsoft Operation Manager (MOM) для поддержки моделей SDM на этапах развертывания и сопровождения соответственно.
Восстановление архитектуры работающей системы является важной, а в некоторых случаях необходимой, задачей для обеспечения жизненного цикла системы. Целью задачи является получение модели, позволяющей представить архитектуру системы на уровне выше документированного кода, количественного оценить характеристики системы по заданным параметрам с целью проведения оптимизации системы и иметь возможность использования единой модели на всех стадиях жизненного цикла системы.
Применение SDM в задаче восстановления архитектуры обусловлено стремлением к сохранению однородности. Так как система разработана с использованием продукта Microsoft VS2005, базируется на платформе .Net, функционирует в операционной системе Microsoft Windows 2003 Server, то использование технологии Microsoft SDM не изменяет однородности среды.


Фрагмент диаграммы классов реальной системы
Используя встроенные средства VS2005 возможно получить диаграмму классов проекта. Данное представление содержит графическое отображение иерархии классов, список методов, свойств классов. Можно предположить что такое представление стоит выше уровня документированного кода. Будем понимать под моделью архитектуры системы модель взаимодействия сервисов. Тогда можно с уверенностью говорить о том, что диаграмма классов не отображает модель архитектуры системы, а только содержит описание методов и связей классов, поэтому является лишь интерпретацией документированного кода системы.
Важно также понимать, что существует разница между моделью архитектуры системы и моделью конфигурации. Модель архитектуры системы несет в себе информацию о разработанной программной части системы и структурной и функциональной взаимосвязи ее компонентов. Модель конфигурации системы содержит информацию о системном и аппаратном окружении, а также используется на этапе сопровождения системы с целью мониторинга и контроля работающей системы в режиме run-time. Такая возможность появляется благодаря использованию SDM Service, входящего в состав сервисов операционной системы.
Удобство применения новейших средств Micorsoft по созданию моделей состоит в том, что основой всех моделей является использования языка XAML (Extensible Application Markup Language) как одной из модификаций XML. Преимущества такого подхода состоят в получении описания модели как в виде иерархически структурированного XML-Файла, так и в виде программного кода на одном из языков платформы .Net, удобство визуализации XML-файла, возможность просмотра XML-файла в любой операционной системе.



Пример SDM модели
В настоящее время ведущими компаниями данной области, такими как IBM, HP, Sun, Microsoft, Cisco разрабатывается язык моделирования сервисов Service Modeling Language (SML). Этот язык основан на XML, позволяет описывать сервис с позиции структурных схем и правил. Также предполагается иметь возможность описания конфигурации системного и аппаратного окружения для возможности использования разработанной с использованием SML модели на стадиях развертывания и сопровождения.



Пример Workflow модели в формате XML (XOML)


В задаче восстановления архитектуры системы как построения модели взаимодействия сервисов мы рассматриваем любое действие как клиент-серверное взаимодействие. Данное утверждение является важным так как в дальнейшем архитектура системы будет позиционироваться как сервис ориентированная архитектура.


Для описания внутренней логики работы сервисов использовался инструмент корпорации Microsoft Windows Workflow Foundation (WF). В настоящее время данный инструмент является хорошо отлаженным, широко применяемым средством для моделирования логики работы систем. Стратегия корпорации Microsoft в этом отношении направлена на увеличение количества разработок с использованием WF, внедрение WF в приложения с целью получения наглядного и функционирующего визуального представления алгоритмов работы и возможности их изменения.

Пример Workflow модели в графическом формате

Задача обратного проектирования


Встроенное средство VS2005 Class Designer позволяет не только создавать приложения, но и выполнять обратный инжиниринг для объектных классов. При этом создается визуальная модель представления на уровне выше документированного кода. Следует отметить, что данное представление использует для моделирования нотацию отличную от широко распространенного UML, хотя и поддерживает включение в проект готовых UML-диаграмм классов.
Такое представление является наглядным и удобным при работе с программным кодом приложения, позволяет видеть иерархию классов, знать состав методов и свойств каждого класса. Но такая модель только визуализирует написанный код. Поэтому, используя только такое представление, достаточно трудно получить информацию о сервисах, функционирующих в системе, их соотношении с аппаратными ресурсами, получить информацию о потоковой (процессной) модели системы.
Поэтому в работе ставится вопрос, о получении модели более верхнего уровня, нежели представление диаграммы кода. Такими моделями являются модели SDM и Workflow. Используя эти инструментальные средства становится возможным создавать модели логики работы системы, сервисов, потоков, а также иметь возможность привязки сервисов к определенным аппаратным ресурсам. Преимущества такого подхода очевидны, поэтому ставится вопрос о возможности обратного инжиниринга путем перехода от исходного кода к модели сервисов через уровень диаграммы кода, как промежуточного этапа
Рассмотрим возможность такого перехода на конкретном примере работающей системы. Построение диаграммы классов дает наглядное визуализированное отображение иерархической структуры объектных классов. Для перехода к WF-диаграмме возможно два подхода:

  • Описание алгоритма с помощью последовательно-параллельных действий

  • Описание алгоритма с помощью модели конечного автомата

Для того, что понять алгоритм работы, а, следовательно, перейти от представления кода к представлению в виде потоковых диаграмм, воспользуемся инструментом CodeLogic. Данный инструмент дает возможность получить визуальное представление последовательности вызовов при исполнении выбранного метода. Также имеется возможность получить интерпретацию исполнения выбранного метода в виде блок-схемы. Данные действия производятся с целью облегчить понимание алгоритма выполнения метода. Таким образом описанные действия можно выделить в промежуточный этап перехода от исходного кода в workflow моделям.


Под переходом от workflow моделей к модели SDM подразумевается создание в Distributed Systems Designer модели системы на основе знаний, полученных при построении workflow моделей и сведений, полученных из документации. таким образом, выполнив переход от исходного кода к модели SDM мы получаем:

  • представление архитектуры на уровне выше документированного кода

  • возможность использования модели для дальнешей разработки и развертывания системы

  • реализацию основных механизмов системы с помощью workflow моделей

  • получение документированную архитектуру в виде xml-файлов описания SDM и workflow моделей и визуального представления моделей на всех указанных уровнях

  • модель для дальнешего количественного анализа производительности системы.


Описание методологии восстановления архитектуры системы

в предложенном направлении
Для наглядного примера прохождения всех этапов восстановления архитектуры системы возьмем один из этапов процесса начальной загрузки системы. Этот процесс предполагает создание персистентных объектов всех типов и загрузку в них значений из базы данных. Следует понимать, что эти объекты взаимосвязаны, а, следовательно, имеется строгая последовательность в создании объектов.


  1. Построить диаграмму классов, используя стандартное средство Visual Studio 2005 Class Diagram.По диаграмме классов и исходному коду системы представляется возможным найти необходимые методы, образующие основу потокового механизма системы.

В алгоритме задействованы класс логики InfoPullLogic и классы механизмов поддержки персистентных объектов: PersistentFacade, PersistentObject, InfoObjectBase, UID. Как видно из диаграммы классов эти классы не имеют между собой отношений типа наследование.




  1. Определив необходимые методы классов, с помощью инструмента CodeLogic построить необходимые представления последовательности вызовов и блок-схемы работы метода. Целью является визуальное представление работы метода (потока) для понимая алгоритма работы.

При запуске конструктора класса InfoPullLogic выполняется получение экземпляра объекта PersistentFacade (GetInstance). Далее, используя полученный экземпляр, выполняется последовательная загрузка данных по типам объектов (LoadObjectsFromDatabase).







  1. Получение Workflow модели

Исходя из описания алгоритма на основе полученных представлений выбираются два объекта, существующих независимо: InfoPullLogic и PersistentFacade. Изначально запускается конструктор класса InfoPullLogic. Во время его выполнения вызывается метод получения экземпляра класса PersistentFacade. При положительном результате в цикле происходит вызов функции LoadObjectsFromDatabase с передачей в качестве параметра необходимого типа объекта. После успешного завершения цикла процесс загрузки данных считается завершенным.
Полученная WF-модель может иметь следующие представление:

Данная модель имеет следующие xml-описание:

4. Проектирование SDM модели




1 http://www.ibm.com/ondemand/workplace

2 www.hp.ru/openview/

3 www.suntone.org

4 www.microsoft.com/windowsserversystem/dsi/sdmwp.mspx

5 http://msdn.microsoft.com/vstudio/teamsystem/msf/

6 www.microsoft.com/technet/solutionaccelerators/cits/mo/mof/default.mspx



Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©vossta.ru 2019
обратиться к администрации

    Главная страница