Введение
Язык моделирования общего назначения Язык моделирования систем (SysML) - это язык моделирования общего назначения для системных инженерных приложений. Он поддерживает спецификацию, анализ, проектирование, проверку и валидацию широкого спектра систем и систем систем. SysML был первоначально разработан проектом спецификации с открытым исходным кодом и включает лицензию с открытым исходным кодом для распространения и использования. SysML определяется как расширение подмножества Unified Modeling Language (UML) с использованием механизма профиля UML. Расширения языка были разработаны для поддержки системных инженерных мероприятий.
The systems modeling language (SysML) is a general purpose modeling language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems of systems. SysML was originally developed by an open source specification project, and includes an open source license for distribution and use. SysML is defined as an extension of a subset of the Unified Modeling Language (UML) using UML's profile mechanism. The language's extensions were designed to support systems engineering activities.
Контраст с UML
SysML предлагает несколько системных улучшений по сравнению с UML, который был разработан как язык моделирования программного обеспечения. Эти улучшения включают в себя следующее: диаграммы SysML лучше выражают концепции системной инженерии из-за удаления программных ограничений UML и добавляет два новых типа диаграмм, диаграммы требований и параметрические диаграммы. Первый может использоваться для разработки требований, второй может использоваться для анализа производительности и количественного анализа. В результате этих улучшений SysML способен моделировать широкий спектр систем, которые могут включать в себя аппаратное обеспечение, программное обеспечение, информацию, процессы, персонал и объекты. SysML - сравнительно небольшой язык, который легче выучить и применить. Поскольку SysML удаляет многие из программных конструктов UML, общий язык меньше как в типах диаграмм, так и в общих конструкциях. Таблицы распределения SysML поддерживают общие типы распределений. В то время как UML обеспечивает только ограниченную поддержку табличных обозначений, SysML предоставляет гибкие таблицы распределения, которые поддерживают распределение требований, функциональное распределение и структурное распределение. Эта возможность облегчает автоматизированную проверку и валидацию (V&V) и анализ пробелов. Управление моделями SysML создает поддерживающие модели, представления и точки зрения. Эти конструкции расширяют возможности UML и архитектурно согласованы с IEEE Std 1471 2000 (IEEE Recommended Practice for Architectural Description of Software Intensive Systems). SysML повторно использует семь из четырнадцати диаграмм UML 2 и добавляет две диаграммы (диаграммы требований и параметрические диаграммы) для общего количества девяти типов диаграмм. SysML также поддерживает таблицы распределения, табличный формат, который может быть динамически получен из отношений распределения SysML. Таблица, которая сравнивает диаграммы SysML и UML 2, доступна в FAQ SysML. Рассмотрим моделирование автомобильной системы: с SysML можно использовать диаграммы требований для эффективного захвата функциональных, производительных и интерфейсных требований, тогда как с UML можно использовать диаграммы случаев использования для определения функциональных требований высокого уровня. Аналогичным образом, с помощью SysML можно использовать параметрические диаграммы для точного определения производительности и количественных ограничений, таких как максимальное ускорение, минимальный грузоподъемность и общая емкость кондиционера. UML не предоставляет прямого механизма для захвата такого рода существенной производительности и количественной информации. Что касается остальной части автомобильной системы, то для определения встроенной логики управления программным обеспечением и потоков информации для бортовых автомобильных компьютеров можно использовать расширенные диаграммы активности и диаграммы состояния машины. Другие структурные и поведенческие диаграммы SysML могут использоваться для моделирования заводов, которые строят автомобили, а также интерфейсов между организациями, которые работают на заводах.
SysML's diagrams express system engineering concepts better due to the removal of UML's software centric restrictions and adds two new diagram types, requirement and parametric diagrams. The former can be used for requirements engineering; the latter can be used for performance analysis and quantitative analysis. Consequent to these enhancements, SysML is able to model a wide range of systems, which may include hardware, software, information, processes, personnel, and facilities. SysML is a comparatively small language that is easier to learn and apply. Since SysML removes many of UML's software centric constructs, the overall language is smaller both in diagram types and total constructs. SysML allocation tables support common kinds of allocations. Whereas UML provides only limited support for tabular notations, SysML furnishes flexible allocation tables that support requirements allocation, functional allocation, and structural allocation. This capability facilitates automated verification and validation (V&V) and gap analysis. SysML model management constructs support models, views, and viewpoints. These constructs extend UML's capabilities and are architecturally aligned with IEEE Std 1471 2000 (IEEE Recommended Practice for Architectural Description of Software Intensive Systems). SysML reuses seven of UML 2's fourteen diagrams, and adds two diagrams (requirement and parametric diagrams) for a total of nine diagram types. SysML also supports allocation tables, a tabular format that can be dynamically derived from SysML allocation relationships. A table which compares SysML and UML 2 diagrams is available in the SysML FAQ. Consider modeling an automotive system: with SysML one can use Requirement diagrams to efficiently capture functional, performance, and interface requirements, whereas with UML one is subject to the limitations of use case diagrams to define high level functional requirements. Likewise, with SysML one can use Parametric diagrams to precisely define performance and quantitative constraints like maximum acceleration, minimum curb weight, and total air conditioning capacity. UML provides no straightforward mechanism to capture this sort of essential performance and quantitative information. Concerning the rest of the automotive system, enhanced activity diagrams and state machine diagrams can be used to specify the embedded software control logic and information flows for the on board automotive computers. Other SysML structural and behavioral diagrams can be used to model factories that build the automobiles, as well as the interfaces between the organizations that work in the factories.
История
Инициатива SysML возникла в январе 2001 года в результате решения рабочей группы по разработке моделей систем Международного совета по системной инженерии (INCOSE) по настройке UML для системных инженерных приложений. В результате этого решения INCOSE и Object Management Group (OMG), которая поддерживает спецификацию UML, совместно учредили в июле 2001 года специальную группу по интересам OMG Systems Engineering Domain (SE DSIG). SE DSIG при поддержке INCOSE и рабочей группы ISO AP 233 разработала требования к языку моделирования, которые впоследствии были выпущены OMG, разделяя UML для запроса на предложение по системной инженерии (UML для SE RFP; документ OMG ad/03 03 41) в марте 2003 года. В 2003 году Дэвид Оливер и Санфорд Фриденталь из INCOSE попросили Криса Кобрайна, который успешно руководил командами разработчиков языков UML 1 и UML 2, возглавить их совместные усилия по ответу на UML для SE RFP. В качестве председателя SysML Partners, Кобрин придумал название языка "SysML" (сокращение от "Systems Modeling Language"), разработал оригинальный логотип SysML и организовал команду SysML Language Design в качестве проекта спецификации с открытым исходным кодом. Фриденталь занимал должность заместителя председателя и помогал организовать первоначальную команду SysML Partners. В январе 2005 года партнеры SysML опубликовали проект спецификации SysML v0.9. Позже, в августе 2005 года, Фридентал и несколько других оригинальных партнеров SysML покинули компанию, чтобы создать конкурирующую команду по представлению SysML (SST). Это предложение было проголосовано и принято OMG в июле 2006 года как OMG SysML, чтобы отличить его от оригинальной спецификации с открытым исходным кодом, из которой он был получен. Поскольку OMG SysML является производным от SysML с открытым исходным кодом, он также включает лицензию с открытым исходным кодом для распространения и использования. Спецификация OMG SysML v. 1.0 была выпущена OMG в качестве доступной спецификации в сентябре 2007 года. Нынешняя версия OMG SysML - v1.6, которая была выпущена OMG в декабре 2019 года. Кроме того, SysML был опубликован Международной организацией по стандартизации (ISO) в 2017 году в качестве полного международного стандарта (IS), ISO / IEC 19514: 2017 (язык моделирования систем группы управления объектами информационных технологий). OMG работает над следующим поколением SysML и 8 декабря 2017 года выпустил запрос предложений (RFP) для версии 2 после открытого процесса стандартизации. Полученная спецификация, которая будет включать в себя языковые усовершенствования, полученные в результате опыта применения языка, будет включать в себя профиль UML, метамодель и сопоставление профиля и метамодели. или веб-сайты SysML соответственно.
Обмен моделями
Как профиль OMG UML 2.0, модели SysML предназначены для обмена с использованием стандарта XML Metadata Interchange (XMI). Кроме того, ведется работа по архитектурному согласованию для поддержки стандарта ISO 10303 (также известного как STEP, стандарт обмена данными модели продукта) AP 233 для обмена и обмена информацией между программными приложениями и инструментами системной инженерии.