SysML и Rhapsody

Высвобождение мощи SysML

SysML фокусируется на предоставлении инженерам-системотехникам семантики языка моделирования, упрощающей операции проектирования. Хотя окончательная спецификация все еще не принята, выявлены многие стабильные концепции, демонстрирующие мощь и функциональность языка. Постулируемой целью данной спецификации является предоставление SE (инженеру-системотехнику) такого языка, который позволяет гарантировать, что его проект будет корректным, точным, осмысленным, непротиворечивым и понятным

Читателю, незнакомому с SysML, можно сказать, что этот язык моделирования основывается на подмножестве спецификации UML 2.0 с некоторыми расширениями. Эти расширения фокусируются на предоставлении SE определенных элементов и диаграмм, необходимых для краткого представления системы на языке моделирования. Примерами таких расширений являются требования, блоки и ограничения. Такие расширения в свою очередь требуют новых диаграмм для представления новых элементов, таких как блочная диаграмма, параметрическая диаграмма и диаграмма требований. На рис. 1 показаны текущие диаграммы для SysML.

 

Рисунок  1  -  Таксономия диаграмм SysML

 
Новые элементы и диаграммы (отмеченные желтым цветом) значительно расширят и улучшат возможность SE моделировать свои системы независимо от того, ведется ли работа над ПО, оборудованием, электроникой или комбинацией всего перечисленного. Эти элементы и диаграммы могут быть использованы для повышения удобочитаемости и выразительности проекта при использовании в качестве средства взаимообмена между различными группами, работающими над проектом. Несомненно, на рынке имеется много инструментальных средств, предоставляющих профили  SysML, например популярный пакет  Visio от Microsoft, но эти базовые инструменты создания диаграмм не предназначены для работы над крупными и сложными проектами.

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

Иногда хорошо начать бывает недостаточно

Определение языка хотя и является необходимым, все же недостаточно для соответствия целям спецификации SysML. Становится ясным, что контекст сложных или крупных моделей, использующих этот язык, может быть чрезвычайно сложным и запутанным для  инженера-системотехника,  поэтому трудно гарантировать корректность, точность или последовательность относящихся к проекту данных. Еще более осложняет ситуацию отсутствие подходящего для решения задач автоматизации языка, обеспечивающего достижение указанных выше целей. Инструменты, обеспечивающие возможность упорядочения проектирования и предоставляющие тонкоуровневое управление версиями, статический и динамический анализ, отслеживаемость требований,  являются единственным способом гарантировать, что системный дизайн будет корректным, точным, последовательным и улучшит базовые возможности  выразительности и понимания как для небольших, так и для крупномасштабных проектов.

Организация проектирования/моделирования

Одним из ключевых преимуществ для моделирования, вызванным использованием SysML, является присущая SysML организованность и легкость перемещения вследствие точно определенной структуры модели.

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

Инструменты, предоставляющие возможности проектирования или организацию модели, позволят пользователю просмотреть всю информацию, релевантную для элемента, вплоть до уровня тонкой структуры. Кроме того, эти инструменты также позволят извлечение или фильтрацию определенной информации с целью генерации пользовательских отчетов по модели. Например, пользователи могут генерировать определенные отчеты для интерфейсов, используемых элементами (например, документ управления интерфейсом), или разделять  аспекты проектирования на программные, электрические и механические для создания спецификаций по  каждой соответствующей группе.

Многие из имеющихся на рынке инструментов создания диаграмм не предусматривают возможность организации и селективного извлечения информации. Например, MS Visio позволяет пользователям организовывать и выполнять навигацию в форме Model Explorer, но при этом не отображается вся информация по связям элементов. Кроме того, в Visio не поддерживает ссылки на элементы или на внешнюю информацию за пределами модели, такую как требования. Также следует указать на отсутствие прямого или упорядоченного пути для фильтрации информации в модели для определенных задач генерации отчетов.

Только те инструменты, которые обеспечивают надежный и исчерпывающий способ организации и навигации по сложным данным крупных системных моделей, способны задействовать возможности и истинный потенциал SysML.

Управление версиями проекта

Расширенным преимуществом тонкоуровневой организационной структуры моделей является возможность предоставления тонкоуровневого управления версиями элементов. В разработке средних или крупномасштабных систем участвует значительное количество параллельно работающего над проектом персонала. По этой причине жизненно важно, чтобы имелась возможность разбиения модели на логические элементы, которые могли бы раздельно управляться и модифицироваться. Это позволяет группам разработчиков независимо работать над этими сегментами модели, не оказывая отрицательного влияния на остальных сотрудников коллектива. Крупным коллективам это позволяет гарантировать, что они работают с наиболее свежими версиями элементов своих моделей.

И снова такие инструменты, как Visio, не соответствуют этим требованиям. Модели в Visio могут контролироваться на уровне версий, но только на уровне модели. При этом отсутствует возможность тонкоуровневого управления версиями элементов, таких как блоки или требования модели. Единственным способом выполнения этой задачи служит разделение элементов на отдельные модели. Но, к сожалению, это создает проблемы в области ссылок и навигации для всех сотрудников коллектива.

Коллективы, работающие над средними или крупными проектами, могут эффективно использовать только те инструменты, которые обладают собственными встроенными возможностями тонкоуровневого управления версиями.

Статический анализ

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

Проверка на наличие неразрешенных ссылок, закольцованных ссылок и зависших переходов может сэкономить часы рабочего времени, а также минимизировать разочарование результатами работы среди членов коллектива.

Многие из поддерживающих  SysML инструментов создания диаграмм не предоставляют этих возможностей. Можно использовать Visio для сбора проектной информации с использованием семантики SysML. Инструмент должен обладать контролем версий на грубом уровне модели, а также предоставлять информацию другим сотрудникам группы разработки. Это безусловно улучшит уровень понимаемости и осмысленности проекта. Вместе с тем Visio не может обнаружить некоторые несоответствия между элементами модели, такими как интерфейсы или параметры, передаваемые от одного элемента к другому. Подобные несоответствия могут оказать катастрофическое влияние на реализацию проекта. Эти проблемы не могут быть обнаружены вплоть до выполнения исчерпывающего анализа проекта, и/или завершения фактической реализации. Таким образом, Visio не может гарантировать инженерам-системотехникам точность информации, находящейся в системе.

Поэтому для инструмента очень важна возможность предоставления набора проверок для модели с целью обнаружения подобных отклонений или несоответствий. Такие проверки называются  Статическим анализом проекта. Очевидно, что ценность любого структурированного и точно определенного языка заключается в возможности разработки инструментов и техник, которые могут быть использованы для автоматической идентификации таких синтаксических ошибок или несоответствий в модели, которые не столь очевидны на первый взгляд.

Динамический анализ

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

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

Трассируемость требований

Одной из наиболее значимых операций, выполняемых инженерами-системотехниками, является верификация того, как их проекты соответствуют определенным требованиям. Это влечет за собой использование целого ряда механизмов для сбора, управления и трассировки требований в рамках всего жизненного цикла проекта.

Эти инструменты могут включать как простые электронные таблицы, так и сложные базы данных, такие как IBM Rational / Telelogic Doors™. Крайне важно, чтобы информация в модели была привязана к внешнему репозиторию требований. Без этой возможности требования, которые удовлетворяются или являются вторичными в модели, становятся изолированными и потенциально могут потерять синхронизацию с репозиторием требований.

И снова такие относительно простые инструменты, как Visio, не могут предоставить эту критически важную возможность. Хотя требования и диаграммы могут быть представлены в Visio, не имеется способа предоставления связи на репозиторий требований. Это ведет к тому, что вся синхронизация, а также обновление требований должно будет выполнено дважды, один раз в репозитории, и затем снова вручную введено или отредактировано в модели. Если число требований мало, то подобную задачу можно выполнить. Тем не менее при числе требований в сотни или тысячи Visio просто не сможет предоставить или раскрыть потенциал и ценность SysML.

Эти инструменты могут включать как простые электронные таблицы, так и сложные базы данных, такие как IBM Rational / Telelogic Doors™. Крайне важно, чтобы информация в модели была привязана к внешнему репозиторию требований. Без этой возможности требования, которые удовлетворяются или являются вторичными в модели, становятся изолированными и потенциально могут потерять синхронизацию с репозиторием требований.

И снова такие относительно простые инструменты, как Visio, не могут предоставить эту критически важную возможность. Хотя требования и диаграммы могут быть представлены в Visio, не имеется способа предоставления связи на репозиторий требований. Это ведет к тому, что вся синхронизация, а также обновление требований должно будет выполнено дважды, один раз в репозитории, и затем снова вручную введено или отредактировано в модели. Если число требований мало, то подобную задачу можно выполнить. Тем не менее при числе требований в сотни или тысячи Visio просто не сможет предоставить или раскрыть потенциал и ценность SysML.

Rhapsody for Systems

Как мы уже видели, мощь и потенциал SysML огромны, но при этом инструменты, которые могут выбрать  инженеры-системотехники, могут значительно снизить потенциальную ценность и полезность SysML. Отсутствие возможности более эффективного использования организации модели, предоставления тонко-уровневого контроля версий, статического и  динамического анализа или привязки к требованиям может серьезно повлиять на любые попытки эффективного использования SysML. Выбор инструмента окажет значительное воздействие на гарантию корректности, точности, осмысленности, непротиворечивости и понимаемости проекта.

Прошло более восьми лет с тех пор, как компания I-Logix распознала эту необходимость в  эффективном программном обеспечении. Созданный данной компанией флагманский продукт - Rhapsody уже доказал свое право на существование, будучи инструментом моделирования со встроенными возможностями организации моделей,  тонко-уровневого контроля версий, статического и динамического анализа, а также связей с репозиториями требований и с коллективами разработчиков.

Сегодня, с появлением SysML, инженеры-системотехники могут использовать возможности Rhapsody для полной реализации потенциала SysML в области системного проектирования.

Пакеты Rhapsody Systems

Пакеты Rhapsody Systems Architect и Designer способны предоставить среду, сфокусированную на потребностях и терминологии системного проектирования. За счет использования возможности профилирования  UML, Rhapsody Systems Architect и Designer предоставляют естественную и интуитивно понятную среду, основанную на  SysML. Данные пакеты разработаны с учетом предоставления максимальной функциональности заказчику, желающему использовать различные потенциалы SysML.

Пакет Architect предоставляет инженерам-системотехникам возможность использования в Rhapsody мощного многофункционального браузера, предназначенного для навигации и организации моделей и проектов. Также пользователь имеет возможность управлять моделью науровне элементов с учетом контроля версий с поддержкой встроенного и настраиваемого статического анализа моделей. В добавление к функциям Reporter Plus и дополнительным модулям Gateway пользователи могут настраивать отчеты и выполнять сбор, трассировку и  анализ.

Версия Designer, имеющаяся в Rhapsody, предоставляет все функции Architect, а также ряд дополнительных функций. Используя имитацию, с помощью Designer пользователи могут выполнить динамический поведенческий анализ своих моделей. С добавлением Webify Designer позволяет инженерам-системотехникам создавать панельную графику для взаимодействия с моделью, а также обмениваться информацией с заинтересованными лицами проекта.

В зависимости от требований вашего проекта Architect или Designer обеспечат вам самый мощный, функциональный и подходящий инструмент моделирования SysML из имеющихся на рынке. В последующих разделах данной статьи будет описано, как пакеты Rhapsody Systems учитывают требования таких задач, как организация проекта, контроль версий, статический анализ, динамический анализ и трассируемость требований.

Расширенная организация проекта

Когда системотехники открывают Rhapsody Systems Architect или Designer, первоначально отображается интуитивно понятный экран, предназначенный для организации проекта в логической форме с простой навигацией. Критически важно гарантировать, что все члены коллектива разработчиков обладают четким и ясным пониманием того, что именно они моделируют.

Рисунок  2  -  Среда Rhapsody
 
Как мы можем видеть на рис. 2, пользователь проектирует модель в интуитивно понятной, простой для навигации среде. Информация содержится в стыкуемых фреймах, таких как браузер или диаграммы. Для иллюстрации элементов  можно импортировать изображения, что дает лучший уровень понимания, чем словесные описания. Простота использования таких функций, как обнаружение в модели, фильтров по элементам и инструментов навигации типа "птичий глаз" помогает системотехникам быстро перемещаться по модели.
 

Рисунок  3  -  Среда Rhapsody

Пользователи могут выполнять иерархическую детализацию по любому элементу модели для получения более детализированного представления элемента. Например, мы можем детализировать блок трансмиссии в   примере модели, и просмотреть атрибуты, поддерживаемые операции, диаграммы состояний и т.д. Мы также можем просмотреть дополнительные подробности по каждому элементу, изучая его характеристики, как это показано на рис. 4.

Рис. 4  -  Характеристики элемента  Rhapsody

С помощью Reporter Plus системотехники могут выполнить настройку отчетов в соответствии со своими нуждами. Например,  можно создать отчет по всем интерфейсам портов для всей модели или для определенного подмножества. Затем этот отчет может использоваться для формирования документов  Word, PowerPoint или страниц HTML, используемых как документы управления интерфейсом для распространения среди разработчиков.

Более ясное представление организации модели и простота навигации позволяют системотехникам полностью использовать мощь SysML таким образом, который не может быть предоставлен менее функциональными инструментами.

Интегрированное тонкоуровневое управление версиями

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

При этом важна возможность определения определенной гранулярности блоков, для которых необходимо управление версиями. В большинстве инструментов это выполняется на уровне всей модели. Очевидно, что это осложняет управление крупными сложными проектами с большим количеством участников, так как руководитель не может присвоить индивидуальные компоненты проекта определенному системотехнику или группе. Интегрированное в Rhapsody управление версиями позволяет пользователям указывать на любом уровне иерархии элементов, с чем именно следует работать при управлении версиями. Это дает пользователю полную свободу в организации и управлении элементами именно тем способом, который лучше всего подходит.

Рис.  5  -  Создание блока управления версиями

Затем пользователи могут быстро и просто загрузить полную модель в Rhapsody и, выбрав элементы в браузере, взять на контроль только те элементы, которые они хотят изменить.

 

Рис. 6  -  Взятие на контроль/сдача версии в CM

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

Настраиваемый статический анализ

При разработке Rhapsody была учтена необходимость предоставления системотехникам статического анализа, необходимого для гарантии соответствия их системы целям проекта и правилам SysML. Эти имеющиеся в Rhapsody возможности позволяют пользователям использовать всю функциональность SysML и достичь новых уровней корректности, точности, осмысленности, непротиворечивости и понимаемости проекта.

В Rhapsody имеются встроенные проверки моделей, позволяющие системотехникам быстро и эффективно идентифицировать любые базовые проблемы, которые могут существовать в проекте. Rhapsody может детектировать такие проблемы, как отсутствие сопровождающей информации, такой как описание блока, ссылки в модели на неразрешенные элементы, или элементы с полностью отсутствующими отношениями.

Пользователь может выбрать выполнение одной или большего числа проверок, чтобы в любое время обеспечить непротиворечивость и корректность модели.

Пользователи также могут определить свои собственные проверки для учета таких моментов, как локально определенные стандарты и правильность использования определений или терминологии. Простым щелчком мыши пользователи могут запустить проверку всего проекта на наличие проблем, учитываемых поставляемыми проверками, и многое другое!

Здесь мы видим, что инструмент моделирования не только выполняет функции рисования диаграмм, но и служит единственным инструментом, предоставляющим пользователям эти типы проверок. Проверка моделей гарантирует, что модели синтаксически правильны и согласованы, а также завершены в полном соответствии со своей структурой. Эти проверки смогут помочь коллективу разработчиков избежать дорогостоящих ошибок, связанных с проектом, и гарантировать каждому разработчику соответствие указаниям проекта.

Интегрированная трассируемость требований

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

Rhapsody for Systems в соединении с  Rhapsody Gateway предоставляет чрезвычайно гибкий подход мирового класса к управлению, привязке и отслеживанию элементов из репозитория к элементам внутри модели. Rhapsody Gateway предоставляет преимущества бесшовного интерфейса для двунаправленного обмена информацией с инструментами управления требованиями от сторонних производителей, что позволяет расширить полное решение трассируемости и обеспечить разработчиков способом изучения входящих и нисходящих влияний, оказываемых изменениями требований, в реальном времени, в любое время. Данный инструмент является гибким и предоставляет структуру с открытой архитектурой, которая поддерживает множественные потоки работ и спроектирована для организации сценариев со сложными требованиями.

Рис.  7  -  Rhapsody  Gateway

Этот инструмент позволяет пользователям связать управляемую моделями среду разработки Rhapsody с оригинальными требованиями, предоставляя пользователям возможность просмотра и анализа охвата этих требований и просмотра восходящего и нисходящего влияния изменений требований в реальном времени на любом уровне. Сложные сценарии требований из нескольких источников легко организуются в одно целое с помощью среды управления требованиями (RM) и автоматически сравниваются в детализированных отчетах по влиянию  и в матрицах трассируемости требований, что значительно облегчает понимание результатов анализа трассируемости.

Rhapsody Gateway обеспечивает полную совместимость с  SysML 0.91, UML 2.0 и DoDAF версии 1.0. Теперь можно быстро создавать связи трассируемости с использованием взаимозависимостей требований SysML, а затем анализировать эти связи с помощью Rhapsody Gateway.

Решение Rhapsody Gateway является особенно ценным для программистов, разработчиков и системных архитекторов, работающих над проектами, в которых трассируемость определенных требований является критически важными итоговыми результатами проекта. В частности, Gateway поможет компаниям соответствовать жесткому стандарту безопасности авиационной техники DO-178B.

Gateway и Rhapsody for Systems бесшовно работает с такими инструментами, как DOORS, Word, Excel, PowerPoint, PDF, ASCII, Adobe Acrobat 6.0+, IBM Rational / Telelogic DOORS 7.0 SP1 или 7.1+, IBM Rational, RequisitePro 2003 (SP3)+, Mathworks Simulink 6 +, Adobe FrameMaker и Interleaf.

Имитация и динамический анализ

После того как модель была определена синтаксически и статически проанализирована, единственной непроверенной характеристикой осталась правильность поведения. Хотя модели и диаграммы визуально могут работать правильно, их поведение при выполнении, с событиями и другими возникающими действиями времени выполнения, может быть совсем не тем, что планировалось при проектировании. С помощью Rhapsody Designer инженеры-системотехники теперь могут вдохнуть жизнь в свои проекты и реально имитировать поведение своих систем в Rhapsody.

Это дает проектировщикам дополнительную уверенность в правильности своих проектов, а также в том, что сложное поведение соответствует рамкам установленных требований. Подобные мощные возможности выводят моделирование на новые уровни точности и правильности.

Теперь системотехники могут создавать имитированные макеты своих проектов и отслеживать их работу в рамках ряда сценариев вручную или с помощью Test Conductor от Rhapsody с целью определения правильности их поведения. Эта имитация также может использоваться в качестве базовой линии для определения влияния изменений на проект с компаративными или с регрессионными целями.

Итог

У инструмента, функциональность которого не ограничивается простым рисованием диаграмм, имеются значительные преимущества. Пользователи могут повысить качество, ускорить выход на рынок, получить более точные конечные результаты и управлять моделированием больших и сложных проектов. Эти преимущества не могут быть достигнуты с помощью таких инструментов начального уровня, как Visio.

Функциональность Rhapsody в плане предоставления выдающихся возможностей по организации моделей и навигации в них, настраиваемой генерации документов, тонкоуровневого управления версиями, статического анализа моделей, трассируемости требований и динамического анализа бесспорно выводит моделирование на совершенно новый уровень. Многолетний опыт работы Rhapsody в сообществе пользователей снова и снова демонстрирует весь спектр этих преимуществ. При этом совершенно ясно, что эти преимущества также могут быть получены в области системного проектирования.

Проекты, развернутые с использованием моделирования вообще и с SysML  в частности, могут быть выполнены более эффективно, за более короткое время и с более высоким качеством, если использовать инструмент с возможностями, предоставляемыми Rhapsody for Systems. Разработчики смогут быть уверены в полном достижении целей, постулируемых SysML, в плане гарантии корректности, точности, осмысленности, непротиворечивости и понимаемости проекта.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=20206