Systems modeling language: Difference between revisions

Content deleted Content added
MME (talk | contribs)
m OMG SysML: updated adoption status
GreenC bot (talk | contribs)
 
(284 intermediate revisions by more than 100 users not shown)
Line 1:
{{Short description|General-purpose modeling language}}
The '''Systems Modeling Language''' ('''SysML'''), is a [[___domain-specific modeling]] language for [[systems engineering]]. 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.
[[File:Sysml diagrams collage.jpg|thumb|240px|SysML diagrams collage]]
The '''systems modeling language''' ('''SysML''')<ref>''Flexible Views for View-based Model-driven Development'' By Burger, Erik. KIT Scientific Publishing, Nov 14, 2014. Pg. 250.</ref> 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 [[System of systems|systems-of-systems]].
 
SysML was originally developed by an [[open source]] specification project, and includes an open source license for distribution and use.<ref>{{Cite web |title=SysML Open Source Project: What is SysML? Who created it? |url=https://sysml.org/index.html |access-date=2023-03-28 |website=SysML.org |language=en}}</ref> SysML is defined as an extension of a subset of the [[Unified Modeling Language]] (UML) using [[profile (UML)|UML's profile mechanism]]. The language's extensions were designed to support systems engineering activities.
SysML offers systems engineers several noteworthy improvements over UML, which tends to be software-centric. These improvements include the following:<ref name="faq">{{cite web|author=SysML Partners|title=SysML FAQ|url=http://www.sysmlforum.com/faq.htm|accessdate=2006-07-02}}</ref>
* SysML's semantics 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 management; the latter can be used for performance analysis and quantitative analysis. As a result of these ehancements, SysML is able to model a wide range of systems, which may include hardware, software, information, processes, personnel, and facilities.
* SysML is a smaller language that is easier to learn and apply. Since SysML removes many of UML's software-centric and gratuitous constructs, the overall language is smaller as measured 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 will support requirments 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).
 
== Contrast with UML ==
SysML reuses seven of UML 2.0's thirteen diagrams, and adds two diagrams (Requirements and Parametric diagrams) and Allocation Tables, which are dynamically derived from its diagrams. A table which compares SysML and UML 2.0 diagrams is available in the [http://www.sysmlforum.com/faq.htm SysML FAQ].
SysML offers several systems engineering specific improvements over [[Unified Modelling Language|UML]], which has been developed as a software modeling language. These improvements include the following:
 
* 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 [[Profiling (computer programming)|performance analysis]] and [[Statistics|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.
The advantages of SysML over UML for systems engineering become more obvious if you consider a concrete example, such as modeling an automotive system. With SysML you can use Requirement diagrams to efficiently capture functional, performance and interface requirements, whereas with UML you are subject to the limitations of Use Case diagrams to define high-level functional requirements. Likewise, with SysML you can use Parametric diagrams to precisely define performance and mechanical constraints such as maximum acceleration, [[curb weight]], [[air conditioning]] capacity, and interior cabin [[acoustical engineering|noise management]]. UML provides no straightforward mechanism to capture this essential performance and mechanical information.
* SysML is a comparatively small language that is easier to learn and apply.<ref>Embedded Systems Security. By David Kleidermacher, Mike Kleidermacher. Elsevier, 2012. Pg 180.</ref> 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 "[[nominative]]" types of [[diagram]]s,<ref>{{cite book
As for the rest of the automotive system, SysML enhanced Activity and State Machine diagrams can be used to specify the [[embedded software]] control logic 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.
|chapter=Annex A: Diagrams (normative)
|title=Unified Modeling Language 2.5.1
|series=[[Object Management Group |OMG]] Document Number formal/2017-12-05
|date=December 2017
|publisher=[[Object Management Group]] Standards Development Organization (OMG SDO)
|page=683
|url=https://www.omg.org/spec/UML/2.5.1/PDF
}}
</ref>
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 diagram]]s 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 diagram]]s and [[State diagram#UML state diagram|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 [[INCOSE|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 10303|ISO AP 233]] workgroup, developed the requirements for the modeling language, which were subsequently issued by the OMG asparting part ofin the ''UML for Systems Engineering Request for Proposal'' (UML for SE RFP; OMG document ad/03-03-41) in March 2003.<ref name="rfp">{{cite web|authorwebsite=OMG SE DSIG|title=UML<sup>TM</sup> for Systems Engineering RFP|url=http://syseng.omg.org/UML_for_SE_RFP.htm|accessdateaccess-date=2006-06-29 |url-status=dead |archive-url=https://web.archive.org/web/20061012011253/http://syseng.omg.org/UML_for_SE_RFP.htm |archive-date= Oct 12, 2006 }}</ref>
 
In 2003 David Oliver and Sanford Friedenthal of INCOSE requested that [[Cris Kobryn]], who successfully led the UML 1 and UML 2 language design teams, lead their joint effort to respond to the UML for SE RFP.<ref name=":1">{{Cite web |title=SysML Partners: Creators of the SysML |url=https://sysml.org/sysml-partners/index.html |access-date=2023-03-28 |website=SysML.org |language=en |url-status=live |archive-url=https://web.archive.org/web/20221018204237/https://sysml.org/sysml-partners/index.html |archive-date= Oct 18, 2022 }}</ref> As Chair of the SysML Partners, Kobryn coined the language name "SysML" (short for "Systems Modeling Language"), designed the original SysML logo, and organized the SysML Language Design team as an open source specification project.<ref>{{Cite web |title=SysML FAQ: Who created SysML and how did it get its name? |url=https://sysml.org/sysml-faq//sysml-faq/who-created-sysml.html |access-date=2023-03-28 |website=SysML.org |language=en}}{{dead link|date=April 2024}}</ref> Friedenthal served as Deputy Chair, and helped organize the original SysML Partners team.
In 2003 [[Cris Kobryn]] and Sanford Friedenthal organized and co-chaired the ''SysML Partners'', an informal association of industry leaders and tool vendors<ref>{{cite web|url=http://www.sysml.org/partners.htm|title=SysML Partners|accessdate=2006-06-29}}</ref>, which initiated an open source specification project to develop the SysML in response to the UML for Systems Engineering RFP.<ref name="sysml faq">{{cite web|author=SysML Partners|title=SysML FAQ|url=http://www.sysmlforum.com/faq.htm|accessdate=2006-06-29}}</ref> The SysML Partners distributed their first open source SysML specification draft in 2004, and submitted SysML 1.0a to the OMG for technology adoption in November 2005. After a series of competing specification proposals, a "SysML Merge Team" proposal was proposed to the OMG in April 2006. This proposal was eventually adopted by the OMG as OMG SysML in July 2005.
 
In January 2005, the SysML Partners published the SysML v0.9 draft specification. Later, in August 2005, Friedenthal and several other original SysML Partners left to establish a competing SysML Submission Team (SST).<ref name=":1" /> The SysML Partners released the SysML v1.0 Alpha specification in November 2005.
== OMG SysML ==
The OMG adopted the '''OMG SysML''' specification in July 2006. The current OMG SysML specification is a Final Adopted Specification.<ref>[http://www.omg.org/docs/ptc/06-05-04.pdf OMG document ptc/06-05-04]</ref> An OMG Finalization Task Force plans to recommended a final version of OMG SysML in April 2007, which will need to voted upon again before it becomes a public Available Specification.
 
=== OMG SysML ===
Since OMG SysML is derived from open source SysML, it also includes an open source license for distribution and use.
After a series of competing SysML specification proposals, a SysML Merge Team was proposed to the OMG in April 2006.<ref>[http://www.omg.org/docs/ad/06-03-01.pdf OMG document ad/06-03-01] {{Webarchive|url=https://web.archive.org/web/20081201130201/http://www.omg.org/docs/ad/06-03-01.pdf |date=2008-12-01 }}</ref> 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.<ref>{{cite web|url=http://www.omg.org/spec/SysML/1.0/PDF|title=OMG Systems Modeling Language (OMG SysML™), V1.0 |date=September 2007 |work=Object Management Group|access-date=2014-12-04}}</ref> The current version of OMG SysML is v1.6, which was issued by the OMG in December 2019.<ref>{{cite web|url = https://www.omg.org/spec/SysML/1.6/|title = About the OMG Systems Modeling Language Specification Version 1.6 |work =Object Management Group|access-date = 2020-01-14}}</ref> In addition, SysML was published by the [[International Organization for Standardization]] (ISO) in 2017 as a full [[International standard|International Standard]] (IS), ISO/IEC 19514:2017 (Information technology -- Object management group systems modeling language).<ref>{{Cite web|url=https://www.iso.org/standard/65231.html|title=ISO/IEC 19514:2017 - Information technology -- Object management group systems modeling language (OMG SysML)|website=ISO |language=en|access-date=2017-12-29}}</ref>
 
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.<ref name=":0">{{Cite web|url=http://www.omgwiki.org/OMGSysML/doku.php?id=sysml-roadmap:sysml_v2_requirements_review_page|title=sysml-roadmap:sysml_v2_requirements_review_page [OMG SysML Portal]|website=OMG Wiki |language=en|access-date=2017-12-29}}</ref><ref>{{Cite web|url=http://www.omg.org/gettingstarted/processintro.htm|title=OMG Process Introduction |website=Object Management Group |language=en|access-date=2017-12-29}}</ref> The resulting specification, which will incorporate language enhancements from experience applying the language, will include a UML profile, a [[Metamodeling|metamodel]], and a mapping between the profile and metamodel.<ref name=":0" /> A second RFP for a SysML v2 [[Application programming interface|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 [[Unified Modelling Language|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 who already offeroffering SysML support,. and are in the processLists of updatingtool theirvendors toolswho tosupport complySysML with theor OMG SysML specfication.can Abe listfound ofon toolthe vendorsSysML whoForum<ref>{{cite supportweb|url=https://sysmlforum.com/sysml-tools/|title=Commercial, orFree have& announcedOpen supportSource of,SysML OMGTools SysMLfor isMBSE|work=sysmlforum.com|access-date=2024-05-07}}</ref> availableor on theSysML<ref>{{cite [web|url=http://www.omgsysml.org Official |title=OMG SysML|work=omgsysml.org|access-date=2014-12-04}}</ref> websites, Website]respectively.
 
=== Model exchange ===
As an [[Object Management Group|OMG]] [[Unified Modeling Language|UML 2.0]] [[profile (UML)|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 ==
{{reflist|30em}}
<!-- See http://en.wikipedia.org/wiki/Wikpedia:Footnotes for information on how to add references using <ref> tags -->
 
<div class="references-small">
== Further reading ==
<references/>
* {{cite book
</div>
| first= Laurent
| last = Balmelli
| year = 2007
| url = http://www.jot.fm/issues/issue_2007_07/article5.pdf
| title = An Overview of the Systems Modeling Language for Products and Systems Development
| publisher = Journal of Object Technology, vol. 6, no. 6, July–August 2007, pp. 149-177
}}
* {{cite book
| first= Lenny
| last = Delligatti
| year = 2013
| url = http://www.informit.com/store/sysml-distilled-a-brief-guide-to-the-systems-modeling-9780321927866
| title = SysML Distilled: A Brief Guide to the Systems Modeling Language
| publisher = Addison-Wesley Professional
| isbn=978-0-321-92786-6
}}
* {{cite book
| first= Jon
| last = Holt
| year = 2008
| url = http://www.theiet.org/resources/books/computing/sysml.cfm
| title = SysML for Systems Engineering
| publisher = The Institution of Engineering and Technology
| isbn=978-0-86341-825-9
}}
* {{cite book
| first= Tim
| last = Weilkiens
| year = 2008
| url = http://www.system-modeling.com
| title = Systems Engineering with SysML/UML: Modeling, Analysis, Design
| publisher = Morgan Kaufmann / The OMG Press
| isbn=978-0-12-374274-2
}}
* {{cite book
| title = A Practical Guide to SysML: The Systems Modeling Language
| last1 = Friedenthal
| first1= Sanford
|last2=Moore|first2=Alan|last3=Steiner|first3=Rick| publisher = Morgan Kaufmann / The OMG Press
| year = 2016
| isbn=978-0-12-800202-5
|edition=Third}}
* {{cite book
| first= Bruce
| last = Douglass
| year = 2015
| title = Agile Systems Engineering
| publisher = Morgan Kaufmann
| isbn=978-0128021200
}}
 
== External links ==
* Introduction to Systems Modeling Language (SysML), [https://www.youtube.com/watch?v=xGDErNmqNLw Part 1] and [https://www.youtube.com/watch?v=1tJq6DgY0BE Part 2]. YouTube.
* [http://www.sysml.org SysML Open Source Specification Project] Provides information related to SysML open source specifications, FAQ, mailing lists, and open source licenses.
* [http://www.omgsysml.org OMG SysML Website] Furnishes information related to the OMG SysML specification, SysML tutorial, papers, and tool vendor information.
* Article "[http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=187200782 EE Times article on SysML (May 8, 2006)]"
* SE^2 MBSE Challenge team: "[http://mbse.gfse.de Telescope Modeling]"
* Paper "[http://www.omgsysml.org/SysML_Modelling_Language_explained-finance.pdf System Modelling Language explained]" (PDF format)
*[https://www.bruce-douglass.com Bruce Douglass: Real-Time Agile Systems and Software Development]
* [https://mbse4u.com/sysml-v2-tools/ List of Popular SysML Modeling Tools]
 
{{Systems Engineering}}
{{SysML}}
{{UML}}
 
{{Authority control}}
==External links==
*[http://www.sysml.org SysML Open Source Specification Project] Provides information related to SysML open source specifications, FAQ, mailing lists, and open source licenses.
*[http://www.omgsysml.org Official OMG SysML Website] Furnishes information related to the OMG SysML specification.
*[http://www.SysMLforum.com SysML Forum] A web community dedicated to SysML, contains information related to SysML modeling tools, training, tutorials, specifications, publications, mailing lists and blogs.
*[http://groups.google.com/group/SysMLforum SysML Forum mailing list] A moderated mailing list for all topics related to SysML.
*Article "[http://www.eetimes.com/news/latest/showArticle.jhtml?articleID=187200782 EE Times article on SysML (May 8, 2006)]"
 
[[Category:Systems Modeling Language| ]]
[[Category:Unified Modeling Language]]
[[Category:Systems engineering]]
[[Category:Modeling languages]]