Systems modeling language: Difference between revisions

Content deleted Content added
GreenC bot (talk | contribs)
 
(44 intermediate revisions by 35 users not shown)
Line 1:
{{Short description|General-purpose modeling language}}
[[File:Sysml diagrams collage.jpg|thumb|240px|SysmlSysML diagrams collage]]
The '''Systemssystems Modelingmodeling Languagelanguage''' ('''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 name="faq">{{citeCite web|author=SysML Forum|title=SysML FAQOpen Source Project: What is SysML? Who created it? |url=httphttps://wwwsysml.sysmlforum.comorg/FAQindex.htmhtml |accessdateaccess-date=20092023-0803-2628 |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.
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]].
 
== Contrast with UML ==
SysML was originally developed
SysML offers several systems engineersengineering several noteworthyspecific improvements over [[Unified Modelling Language|UML]], which tendshas tobeen bedeveloped as a software-centric modeling language. These improvements include the following:<ref name="faq"/>
by an [[open source]] specification project, and includes an open source license for distribution and use.<ref name="faq">{{cite web|author=SysML Forum|title=SysML FAQ|url=http://www.sysmlforum.com/FAQ.htm|accessdate=2009-08-26}}</ref> SysML is defined as an extension of a subset of the [[Unified Modeling Language]] (UML) using [[profile (UML)|UML's profile mechanism]].
 
* SysML's semanticsdiagrams areexpress moresystem flexibleengineering andconcepts expressive.better SysMLdue reducesto 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.
== Overview ==
* SysML is a comparatively littlesmall 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 measuresis smaller both in diagram types and total constructs.
 
SysML offers systems engineers several noteworthy improvements over UML, which tends to be software-centric. These improvements include the following:<ref name="faq"/>
 
* 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 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.
* SysML is a comparatively little 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 measures 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
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.<ref>{{cite web|url=http://www.sysmlforum.com/faq/|title=SysML Forum: SysML FAQ - What is SysML?, Why use SysML?, Who created SysML?|work=sysmlforum.com|accessdate=2014-12-04}}</ref>
|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>
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.<ref>{{cite web|url=http://www.sysmlforum.com/faq/|title=SysML Forum: SysML FAQ - What is SysML?, Why use SysML?, Who created SysML?|work=sysmlforum.com|accessdate=2014-12-04}}</ref>
 
The advantages of SysML over UML for systems engineering become obvious if you consider a concrete example, likeConsider modeling an automotive system.: Withwith SysML youone can use Requirement diagrams to efficiently capture functional, performance, and interface requirements, whereas with UML youone areis subject to the limitations of [[Useuse Casecase Diagramdiagram]]s to define high-level functional requirements. Likewise, with SysML youone 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 parting in 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.
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 parting in 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|author=OMG SE DSIG|title=UML<sup>TM</sup> for Systems Engineering RFP|url=http://syseng.omg.org/UML_for_SE_RFP.htm|accessdate=2006-06-29}}</ref>
 
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.
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 Forum|title=SysML FAQ|url=http://www.sysmlforum.com/faq.htm|accessdate=2006-06-29 |archiveurl = http://web.archive.org/web/20060716231947/http://www.sysmlforum.com/faq.htm <!-- Bot retrieved archive --> |archivedate = 2006-07-16}}</ref> 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.<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>
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]</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=SysML 1.0|work=omg.org|accessdate=2014-12-04}}</ref> The current version of OMG SysML is v1.4, which was issued by the OMG in September 2015.<ref>{{cite web|url = http://www.omg.org/spec/SysML/1.4/|title = SysML|work = omg.org|accessdate = 2015-02-18}}</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]]
* [[Use caseParametric diagram]]
* [[RequirementsRequirement diagram]]
* [[Activity diagram]]
* [[Sequence diagram]]
* [[State machine diagram]]
* [[ParametricUse case diagram]]
 
== Limitations and Criticisms ==
{{citation needed|reason=The entire Limitations and Criticisms section is missing references.|date=August 2015}}
SysML takes time and effort to learn. It is intended to be a conventional language for conducting Model Based System Engineering but it has some important limitations that reduce its efficiency and limit its acceptance. This limited usage is, in itself, a limitation as the SysML language can be considered a hermetic language that non-initiated find sometimes difficult to exploit.
 
SysML has been criticized for being incomplete although there is little to stop a practitioner from adding their own content. In SysML, there is no provision for several diagrams and graphically-oriented tools that are commonly used in system engineering. Some of these diagrams can be built, for example, by extending the intended use of block definition diagrams but the results are not always adequate and often not in concordance with the rules of the SysML language. Missing elements include [[functional block diagram]], [[N2 chart]] , [[House of Quality]], [[Ishikawa diagram]] (fishbone), parameter diagram and others. The language is continually improving and other diagram types are being considered for addition in future updates, should they be deemed sufficiently useful for inclusion.
 
The diagrams generated by SysML are complicated and some are difficult to understand by people that are unfamiliar with the language. Some elements are slightly counter-intuitive and this could lead to confusion and errors. This is occasionally aggravated by SysML users believing SysML should be a widespread convention. This can be overcome by including explanatory notes and legends in SysML diagrams to ease their interpretation. As system-engineering diagrams are primarily intended for other members of an embedded team and people outside the team that, more often than not, are not system engineers and less likely to know SysML.
 
When drawn in a software tool, the diagrams that respect the rules of SysML often include redundant pieces of model information that can impair their interpretation.
 
== 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<ref>{{cite web|url=httphttps://www.SysMLforumsysmlforum.com/sysml-tools/|title=SysMLCommercial, Forum:Free What& isOpen Source SysML? - What You NeedTools tofor KnowMBSE|work=sysmlforum.com|accessdateaccess-date=20142024-1205-0407}}</ref> or SysML<ref>{{cite web|url=http://www.omgsysml.org|title=OMG SysML|work=omgsysml.org|accessdateaccess-date=2014-12-04}}</ref> websites, respectively.
 
=== Model Exchangeexchange ===
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<ref>{{cite web|url=http://www.SysMLforum.com|title=SysML Forum: What is SysML? - What You Need to Know|work=sysmlforum.com|accessdate=2014-12-04}}</ref> or SysML<ref>{{cite web|url=http://www.omgsysml.org|title=OMG SysML|work=omgsysml.org|accessdate=2014-12-04}}</ref> websites, 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 Systemssystems Languagelanguage]]
* [[Object process methodology]]
* [[Universal Systems Language]]
* [[List of SysML tools]]
 
== Further readingReferences ==
{{reflist|30em}}
 
== Further reading ==
* {{cite book
| first= Laurent
Line 79:
| 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
Line 106:
| title = Systems Engineering with SysML/UML: Modeling, Analysis, Design
| publisher = Morgan Kaufmann / The OMG Press
| isbn=978-0-12-374274-92
}}
* {{cite book
| title = A Practical Guide to SysML: The Systems Modeling Language
| lastlast1 = Friedenthal
| firstfirst1= 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
==References and notes==
| last = Douglass
''Notes''
| year = 2015
{{Reflist|group=note}}
| title = Agile Systems Engineering
''Citations''
| publisher = Morgan Kaufmann
{{reflist|30em}}
| isbn=978-0128021200
}}
 
== External links ==
Line 130 ⟶ 132:
* 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]
* [httphttps://model-based-systems-engineeringmbse4u.com/sysml-v2-tools/ List of Popular SysML Modeling Tools]
 
{{Systems Engineering}}
Line 141 ⟶ 144:
[[Category:Unified Modeling Language]]
[[Category:Systems engineering]]
[[Category:Modeling languages]]