Systems modeling language: Difference between revisions

Content deleted Content added
mNo edit summary
GreenC bot (talk | contribs)
 
(18 intermediate revisions by 14 users not shown)
Line 1:
{{Short description|General-purpose modeling language}}
[[File:Sysml diagrams collage.jpg|thumb|240px|SysML 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=https://sysmlforumsysml.com/sysml-faqorg/index.html |access-date=2018-122023-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.
 
== Contrast with UML ==
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"/>
 
* SysML's diagrams 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.
* 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
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=https://sysmlforum.com/sysml-faq/|title=SysML Forum: SysML FAQ - What is SysML?, Why use SysML?, Who created SysML?|work=sysmlforum.com|access-date=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=https://sysmlforum.com/sysml-faq/|title=SysML Forum: SysML FAQ - What is SysML?, Why use SysML?, Who created SysML?|work=sysmlforum.com|access-date=2014-12-04}}</ref>
 
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.
Line 19 ⟶ 30:
 
== 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 for Systems Engineering RFP|url=http://syseng.omg.org/UML_for_SE_RFP.htm|access-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 [[CrisDavid Kobryn]]Oliver and Sanford Friedenthal organizedof andINCOSE co-chairedrequested thethat [[SysMLCris PartnersKobryn]], anwho informalsuccessfully associationled ofthe industryUML leaders1 and toolUML vendors,<ref>{{cite2 web|url=http://www.sysml.org/partners.htm|title=SysMLlanguage Partners|access-date=2006-06-29}}</ref>design whichteams, initiatedlead antheir openjoint source specification projecteffort to develop the SysML in responserespond to the UML for Systems EngineeringSE RFP.<ref name="sysml faq:1">{{citeCite web|author=SysML Forum|title=SysML FAQPartners: Creators of the SysML |url=httphttps://wwwsysml.sysmlforum.comorg/sysml-faqpartners/index.htmhtml |access-date=20062023-0603-2928 |website=SysML.org |language=en |url-status=live |archive-url = https://web.archive.org/web/2006071623194720221018204237/httphttps://wwwsysml.sysmlforum.comorg/sysml-faqpartners/index.htm <!-- Bot retrieved archive -->html |archive-date = 2006-07-16Oct 18, 2022 }}</ref> The originalAs technicalChair contributorsof andthe co-authorsSysML ofPartners, Kobryn coined the SysMLlanguage 1.0aname specification"SysML" were(short Laurentfor Balmelli,"Systems ConradModeling BockLanguage"), Rickdesigned Steiner,the Alanoriginal MooreSysML logo, and Rogerorganized Burkhart. Thethe SysML PartnersLanguage distributedDesign theirteam firstas an open source specification project.<ref>{{Cite web |title=SysML specificationFAQ: draftsWho increated 2004,SysML and submittedhow SysMLdid 1it get its name? |url=https://sysml.0aorg/sysml-faq//sysml-faq/who-created-sysml.html to|access-date=2023-03-28 the|website=SysML.org OMG|language=en}}{{dead forlink|date=April technology2024}}</ref> adoptionFriedenthal inserved Novemberas Deputy Chair, and helped organize the original SysML Partners 2005team.
 
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 ===
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=SysMLOMG 1Systems Modeling Language (OMG SysML™), V1.0 |date=September 2007 |work=omg.orgObject 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 = SysMLAbout the OMG Systems Modeling Language Specification Version 1.6 |work =Object omg.orgManagement 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=www.iso.orgISO |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=www.omgwiki.orgOMG 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|website=www.omg.org |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]]
* [[Requirement Diagramdiagram]]
* [[Activity diagram]]
* [[Sequence diagram]]
* [[State machine diagram]]
* [[ParametricUse 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<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|access-date=20142024-1205-0407}}</ref> or SysML<ref>{{cite web|url=http://www.omgsysml.org|title=OMG SysML|work=omgsysml.org|access-date=2014-12-04}}</ref> websites, respectively.
 
=== Model exchange ===
Line 51 ⟶ 64:
== See also ==
* [[SoaML]]
* [[Energy Systemssystems Languagelanguage]]
* [[Object Processprocess Methodologymethodology]]
* [[Universal Systems Language]]
* [[List of SysML tools]]
Line 120 ⟶ 133:
* 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}}