Меня несколько смущает тот факт, что в основном те ссылки, статьи, комментарии, которые я нахожу в интернете про SDM, датируются 2005 годом и очень редко 2006. Получается, что с выходом в конце 2005 года VS 2005 Team System разработчики "накинулись" на SDM как на давно "желанный" инструмент; ожидались долгие дискуссии и интересные решения. Но создается впечатление будто инструмент оказался либо недостаточно функциональным, либо очень сложным, либо во многом недоработанным...
Концептуально главная направленность MDSI заключается в объединении этапов разработки, развертывания и сопровождения приложений, причем особый акцент делается на поддержку обратной связи между ними. В целом такую идею трудно назвать новой, поскольку именно это составляет основу Appication Life Management. Интерес же здесь представляет то, что под реализацию своей концепции Microsoft намерена подвести технологическую базу в виде System Definition Model с использованием XML-стандартов.
С архитектурой этой модели нужно еще разбираться с тем, чтобы продолжить ее обсуждение когда-нибудь в будущем, но некоторые новые конкретные направления в развитии технологий масштаба предприятия г-н Татаринов обозначил довольно четко. Речь в первую очередь идет об ускоренной модернизации решений System Management Server и Microsoft Operations Manager, предназначенных соответственно для развертывания ПО и управления им в ходе эксплуатации, и о последующем объединении их в продукте System Center, который должен появиться в течение одного-двух лет (докладчик руководит именно этими разработками).
В статье не обнаружилось как такового сравнения. Скорее, рассуждения на тему плюсов и минусов UML.
Но сама идея DSL (Domain Specific Languages) возможно будет интересна в качестве создания (программной) модели на этапе разработки. + еще один инструмент от компании Microsoft, непосредственно связанный с моделями.
Что-то мне не нравится то, что для работы с SDM необходима VS 2005 Team Suite for System Architecture. Пока не могу найти где можно бесплатно скачать эту версию Visual Studio.
В статье есть абзац "Next Stop: DSI" в котором как раз написано о том, что много обсуждали: в чем отличие подхода Microsoft по сравнению с Sun, IBM, HP. Кратко о том, что DSI это XML, а SDM - "схема", базирующаяся на этом формате. Продукт моделирования - Whitehorse. В общем, кратко рассказывается о задумках и идеях Microsoft
Это очень полезная работа, я имею в виду эту выборку из текста. Польза методологическая, определяется подход. Понятно, что все это целиком UML\RUP базированное, но ценность от этогоне уменьшается.
Мне кажется, что в нашем случае несколько иное назначение моделей или модели- специализация\ориентация на качество обслуживания\производительность.
ТБД
1) Специфицируйте вид системы с точки зрения вариантов использования или прецедентов, которые описывают поведение системы таким, каким оно представляется конечным пользователям, аналитикам и тестировщикам.
2) Специфицируйте вид системы с точки зрения проектирования, куда входят классы, интерфейсы и кооперации, формирующие словарь предметной области и предлагаемого решения.
3) Специфицируйте вид системы с точки зрения процессов; куда входят нити и процессы, формирующие механизмы параллельности и синхронизации в системе.
4) Специфицируйте вид системы с точки зрения реализации, куда входят компоненты, используемые для сборки и выпуска готовой физической системы.
5) Специфицируйте вид системы с точки зрения развертывания, куда входят узлы, формирующие топологию аппаратных средств, на которых выполняется система.
6) Смоделируйте архитектурные образцы (паттерны) и образцы проектирования с помощью коопераций.
1) Идентифицируйте виды, которые вы будете использовать для представления архитектуры. Чаще всего это виды с точки зрения прецедентов, процессов, реализации и развертывания
2) Специфицируйте контекст системы, включая и окружающие ее актеры.
3) При необходимости разложите систему на элементарные подсистемы.
Саша, все правильно.
Фактически ищется модель архитектуры. Еще не вполне понятно, какие частные задачи окажутся возможными, но модель как формализованное\интерпретируемое предствление архитектуры ценна сама по себе. Microsoft SDM интересно не только как сбъектное представление систем. Там же еще должен быть и run time для параметрического определения этих моделей. Имеет смысл поработать.
В то же время мне кажется, что распределенность в случае, когда могут окзаться рапределенными данные, что представляет особый случай в отношении отказоустойчивости и влияния на качество работы вообще. Здесь может проявиться или использоваться\рекомендоваться\не рекомендоваться репликация. Очень интересно подумать.
Да, безусловно согласен, что направление исследования действительно архитектура в виде модели. Причем модели для исследования вопроса отказоустойчивости.
Только на данном момент я пока не могу себе представить как эта модель может выглядеть.
Попробую сегодня этим заняться, что-нибудь "порисовать".
Пока искал только в интернете, но не нашел подходящего материала именно по моделям РВС, моделям архитектуры. В основном только технические решения.
Саша, хорошо, что есть движение, но пока складывается впечатление, что видится направление скорее аппаратное (архитектурно) с вытекающими отсюда вопросами резервирования, мажоритарных моделей обнаружения нарушений в работе (к тому же за минимальное время) и тому подобное. Это действительно область обеспечения отказоустойчивости (вплоть до катастрофоустойчивости).
Мне представляется, что для такой работы едва ли имеются необходимые ресурсы (нужно быть в таком деле внутри). тогда и исследование можно замыслить.
Я думаю, что интересной задачей является само представление архитектуры распределенной системы т.е модели архитектуры в виде, дающем основу для дальнейшего использования модели в проектном процесс: может быть сопоставлении вариантов, моделировании (и здесь могут использоваться разные инструменты, вплоть до GPSS) и т.д.
В этом меня и заинтересовал подход MS.
Это нужно обговорить, звони и договоримся.
ТБД
Отказоустойчивость - это способность вычислительной системы продолжать действия, заданные программой, после возникновения неисправностей. Введение отказоустойчивости требует избыточного аппаратного и программного обеспечения. Направления, связанные с предотвращением неисправностей и с отказоустойчивостью, - основные для обеспечения надежности.
Возможно использовать понятие о компонентах системы: что должно быть, чтобы получить платформу для проектирования, реализации, эксплуатации, поддержки и т.д.