SysML
The Systems Modeling Language (SysML)[1] 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.[2] 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.
Contrast with UML
SysML offers systems engineers several noteworthy improvements over UML, which tends to be software-centric. These improvements include the following:[2]
- SysML's diagrams are more flexible and expressive. SysML reduces 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.[3] 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.[4]
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.
History
The SysML initiative originated in a January 2001 decision by the International Council on Systems Engineering (INCOSE) Model Driven Systems Design workgroup to customize the UML for systems engineering applications. Following this decision, INCOSE and the Object Management Group (OMG), which maintains the UML specification, jointly chartered the OMG Systems Engineering Domain Special Interest Group (SE DSIG) in July 2001. The SE DSIG, with support from INCOSE and the ISO AP 233 workgroup, developed the requirements for the modeling language, which were subsequently issued by the OMG parting in the UML for Systems Engineering Request for Proposal (UML for SE RFP; OMG document ad/03-03-41) in March 2003.[5]
In 2003 Cris Kobryn and Sanford Friedenthal organized and co-chaired the SysML Partners, an informal association of industry leaders and tool vendors,[6] which initiated an open source specification project to develop the SysML in response to the UML for Systems Engineering RFP.[7] The original technical contributors and co-authors of the SysML 1.0a specification were Laurent Balmelli, Conrad Bock, Rick Steiner, Alan Moore and Roger Burkhart. The SysML Partners distributed their first open source SysML specification drafts in 2004, and submitted SysML 1.0a to the OMG for technology adoption in November 2005.
OMG SysML
After a series of competing SysML specification proposals, a SysML Merge Team was proposed to the OMG in April 2006.[8] This proposal was voted upon and adopted by the OMG in July 2006 as OMG SysML, to differentiate it from the original open source specification from which it was derived. Because OMG SysML is derived from open source SysML, it also includes an open source license for distribution and use.
The OMG SysML v. 1.0 specification was issued by the OMG as an Available Specification in September 2007.[9] The current version of OMG SysML is v1.6, which was issued by the OMG in December 2019.[10] In addition, SysML was published by the International Organization for Standardization (ISO) in 2017 as a full International Standard (IS), ISO/IEC 19514:2017 (Information technology -- Object management group systems modeling language).[11]
The OMG has been working on the next generation of SysML and issued a Request for Proposals (RFP) for version 2 on December 8, 2017, following its open standardization process.[12][13] The resulting specification, which will incorporate language enhancements from experience applying the language, will include a UML profile, a metamodel, and a mapping between the profile and metamodel.[12] A second RFP for a SysML v2 Application Programming Interface (API) and Services RFP was issued in June 2018. Its aim is to enhance the interoperability of model-based systems engineering tools.
Diagrams
SysML includes 9 types of diagram, some of which are taken from UML.
- Activity diagram
- Block definition diagram
- Internal block diagram
- Package diagram
- Parametric diagram
- Requirement diagram
- Sequence diagram
- State machine diagram
- Use case diagram
Tools
There are several modeling tool vendors already offering SysML support, or are in the process of updating their tools to comply with the OMG SysML specification. Lists of tool vendors who support, or have announced support of, SysML or OMG SysML can be found on the SysML Forum[14] or SysML[15] websites, respectively.
Model exchange
As an OMG UML 2.0 profile, SysML models are designed to be exchanged using the XML Metadata Interchange (XMI) standard. In addition, architectural alignment work is underway to support the ISO 10303 (also known as STEP, the Standard for the Exchange of Product model data) AP-233 standard for exchanging and sharing information between systems engineering software applications and tools.
See also
- SoaML
- Energy Systems Language
- Object Process Methodology
- Universal Systems Language
- List of SysML tools
References
Further reading
- Vorlage:Cite book
- Vorlage:Cite book
- Vorlage:Cite book
- Vorlage:Cite book
- Vorlage:Cite book
- Vorlage:Cite book
External links
- Introduction to Systems Modeling Language (SysML), Part 1 and Part 2. YouTube.
- SysML Open Source Specification Project Provides information related to SysML open source specifications, FAQ, mailing lists, and open source licenses.
- OMG SysML Website Furnishes information related to the OMG SysML specification, SysML tutorial, papers, and tool vendor information.
- Article "EE Times article on SysML (May 8, 2006)"
- SE^2 MBSE Challenge team: "Telescope Modeling"
- Paper "System Modelling Language explained" (PDF format)
- Bruce Douglass: Real-Time Agile Systems and Software Development
- List of Popular SysML Modeling Tools
Vorlage:Systems Engineering Vorlage:SysML Vorlage:UML
Dictionary
Common
Note
"A note can be attached to comment and represent its information in more details. We advice to use Note when you want to display annotated element documentation, properties (e.g. hyperlink) on simply comment on diagram (e.g. note to yourself to clarify some details for specific element later), but you do not need this information in report and you do not need this information in other diagram. If you want to include the annotating information into report, annotate element not in browser, or reuse the information in other diagram (for example, if it is some note for all modelers working with specific element), you need to use Comment." [16]
Comment
"A comment is a textual annotation that can be attached to a set of Elements. It is an UML element defined in UML specification, can exist without diagram and be created directly from model browser. One comment can be reused in several diagrams. It can be found in the model using Search even if it is not placed in diagram. As comments are elements, their text can be used in reports.=== A note is a graphical symbol containing textual information. It is not an element. It is used to add any explanatory information needed for your element or diagram, or if user needs to display element properties not displayed on element shape. A note is usually connected to the element symbol using an anchor line." [16]
Problem
The SysML Problem and Rationale extensions of the Comment are useful and pretty self-explanatory. But they are also a bit limited because they don't have any Stereotype properties for carrying "tagged values" metadata.=== So next we'll see how we can easily extend Comment ourselves to create a custom stereotype that can carry a bit more structured information. [17]
Rationale
Element Group
Constraint
Containment
Abstraction
Block Definition Diagram
Package
Block
Interface Block
Flow Specification
Constraint Block
Domain
Value Type
Enumeration
Signal
Instance
Interface
Proxy Port
Interface Realization
Link
Association Block
Directed Association
Directed Aggregation
Directed Composition
Internal Block Diagram
Value Property
Part Property
Reference Property
Constraint Property
Flow Property
Participant Property
Bound Reference
Classifier Behaviour Property
Proy Port
Connector
Binding Connector
Requriements Diagram
Requirement
Extended Requirement
Satisfy
Derive
Copy
Trace
Verify
Refine
Test Case Activity
Use Case Diagram
Actor
Use Case
Package
Subsystem
Include
Extend
Association
Generalization
Profiling Mechanism
Stereotype
Meta Class
Extension
Profile
Profile Application
Conveyed Information
- ↑ Flexible Views for View-based Model-driven Development By Burger, Erik. KIT Scientific Publishing, Nov 14, 2014. Pg. 250.
- ↑ 2,0 2,1 Vorlage:Cite web
- ↑ Embedded Systems Security. By David Kleidermacher, Mike Kleidermacher. Elsevier, 2012. Pg 180.
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ OMG document ad/06-03-01 Vorlage:Webarchive
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ 12,0 12,1 Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ Vorlage:Cite web
- ↑ 16,0 16,1 https://community.nomagic.com/comment-vs-note-t3014.html
- ↑ https://www.webel.com.au/node/1816