Home | Search | Sitemap | Contact

SysML FAQ

Home
Modeling Tools
Specifications
Papers & Articles
Training & Tutorials
Mailing List
Blogs
FAQ
SysML.org
UML Forum
Visual Modeling Forum

Back
Next


  • What is the SysML?
    The SysML (Systems Modeling Language) is a domain-specific visual language for systems engineering applications. It supports the specification, analysis, design, verification and validation of a broad range of systems and systems-of-systems. These systems may include hardware, software, information, processes, personnel, and facilities.

    SysML was originally developed as an open source specification project intiated in 2003. The SysML specification is publicly available for download, and includes an open source license for distribution and use.
    BACK TO TOP
  • Why do systems engineers need yet-another-modeling-language?
    Many systems engineering processes tend to be document-intensive (a.k.a. document centric) and employ a motley mix of diagram techniques that are frequently imprecise and inconsistent. In a manner similar to how software engineers sought a general-purpose modeling language (UML) to precisely specify software-intensive systems during the last decade, systems engineers are now seeking a domain-specific modeling language to specify complex systems that include non-software components (e.g., hardware, information, processes, personnel, and facilities). UML cannot satisfy this need because of its software bias; hence the motivation for SysML. Even though SysML is based on UML, it reduces UML's size and software bias while extending its semantics to model requirements and parametric constraints. These latter capabilities are essential to support requirements engineering and performance analysis, two essential systems engineering activities.
    BACK TO TOP
  • What is the current version of SysML?
    The first complete version of the SysML open source specification is SysML v. 1.0a , which is available from the Specifications page of this web. A summary of the improvements in SysML v. 1.0a can be found in the Change Summary section of the SysML v. 1.0a Preface. SysML v. 1.0a was completed and submitted to the OMG technology adoption process in November 2005.
    BACK TO TOP
  • What is the relationship between SysML and OMG SysML?
    OMG SysML™, which is trademarked and maintained by the Object Management Group, is derived from open source SysML, and consequently also includes an open source license for distribution and use. The OMG adopted OMG SysML in July 2006. The current adoption status of OMG SysML is that of a "Final Adopted Specification." An OMG Finalization Task Force plans to recommended a final version OMG SysML in April 2007, which needs to voted upon once more before it becomes a public "Available Specification." You can download the OMG SysML Final Adopted Specification from the Specifications page of this web.

    The OMG SysML Final Adopted Specification does not include a prominent change summary, as is required by the SysML open source license.  This change summary should be included before OMG SysML becomes a public Available Specification.
    BACK TO TOP
  • Who are the SysML Partners?
    The SysML Partners is the informal association of tool vendors and industry leaders who originally developed the SysML open source specification. Cris Kobryn and Sandy Friedenthal organized and co-chaired the SysML Partners in 2003 to define a domain-specific language for systems engineering that would satisfy the requirements of the OMG's "UML for Systems Engineering" RFP. The SysML specification is the result of this project. You can find out more about the SysML Partners here.
    BACK TO TOP
  • What is the relationship between UML and SysML?
    UML is a general purpose modeling language (GPML), whereas SysML is a domain-specific modeling language (DSML) defined as a profile (customization) of UML 2.0. The advantage of defining SysML as a UML profile is that it can reuse the relatively mature notation and semantics of UML 2.0. The disadvantage of specifying SysML as a UML profile is that SysML inherits many of the problems associated with UML, such as gratuitously complex notation and semantics (a.k.a., language bloat), and a dysfunctional diagram interoperability standard (XMI).

    SysML offers systems engineers the following advantages over UML for specifying systems and systems-of-systems:

    • SysML expresses systems engineering semantics (interpretations of notations) better than than UML. It reduces UML's software bias and adds two new diagram types for requirements management and performance analysis: Requirement diagrams and Parametric diagrams, respectively.
    • SysML is smaller and easier to learn than UML. Since SysML removes many software-centric and gratuitous constructs, the overall language is smaller as measured in diagram types (9 vs. 13) and total constructs.
    • SysML allocation tables support various kinds of allocations (e.g., requirement allocation, functional allocation, structural allocation) thereby facilitating automated verification and validation (V&V) and gap analysis.
    • SysML model management constructs support the specification of models, views, and viewpoints and are architecturally aligned with IEEE-Std-1471-2000 (IEEE Recommended Practice for Architectural Description of Software-Intensive Systems).

    The following table compares SysML diagrams with their UML counterparts where one exists. Where no UML diagram counterpart exists for a SysML diagram (e.g., Parametric and Requirement diagrams), it is marked N/A; similarly, where no SysML diagram counterpart exists for UML diagram it is marked N/A (e.g., Communication diagram).

    SysML Diagram Purpose UML Diagram Analog
    Activity diagram Show system behavior as control and data flows. Useful for functional analysis. Compare Extended Functional Flow Block diagrams (EFFBDs), already commonly used among systems engineers.  Activity diagram
    Block Definition diagram Show system structure as components along with their properties, operations and relationships. Useful for system analysis and design. Class diagram
    Internal Block diagram Show the internal structures of components, including their parts and connectors. Useful for system analysis and design. Composite Structure diagram
    Package diagram Show how a model is organized into packages, views and viewpoints. Useful for model management. Package diagram
    Parametric diagram Show parametric constraints between structural elements. Useful for performance and quantitative analysis. N/A
    Requirement diagram Show system requirements and their relationships with other elements. Useful for requirements engineering. N/A
    Sequence diagram Show system behavior as interactions between system components. Useful for system analysis and design. Sequence diagram
    State Machine diagram Show system behavior as sequences of states that a component or interaction experience in response to events. Useful for system design and simulation/code generation. State Machine diagram
    Use Case diagram Show system functional requirements as transactions that are meaningful to system users. Useful for specifying functional requirements. (Note potential overlap with Requirement diagrams.) Use Case diagram
    Allocation tables*

     

    *dynamically derived tables, not really a diagram type

    Show various kinds of allocations (e.g., requirement allocation, functional allocation, structural allocation). Useful for  facilitating automated verification and validation (V&V) and gap analysis. N/A
    N/A   Component diagram
    N/A   Communication diagram
    N/A   Deployment diagram
    N/A   Interaction overview diagram
    N/A   Object diagram
    N/A   Timing diagram

    BACK TO TOP

  • Can SysML and UML be used together in the same project?
    Yes, this was the SysML language designers' intent. However, many important details about how mixed UML-SysML usage will work efficiently in practice have not yet been worked out. The problem is not mixed UML-SysML tool support, since the first SysML tool vendors are UML tool vendors who are implementing SysML as a UML profile. In this answer we  assume that most UML-SysML vendors will be able to provide their users with "SysML only," "UML only," and "UML-SysML combined" usage modes or perspectives (the Eclipse term).

    In order to understand the pragmatic problems of mixed SysML-UML usage, let's consider the case of a large engineering project with many systems engineers and software engineers, where the former choose to model in SysML and the latter select to model in UML. These problems they encounter will range from linguistic overlap, where notations and semantics are similar, but differ in subtle yet important ways, to linguistic divergence, where there is no straightforward translation between the two.  An example of relatively straightforward linguistic overlap is the translation between SysML Activity diagrams and UML Activity diagrams, where both diagram types use the same naming conventions, but the former makes some modest notational extensions to the latter. UML profiles and stereotypes were designed to handle this case, so mixed teams using both SysML and UML Activity diagrams should not be confused by this mixed language usage.

    Less straightforward is the linguistic overlap between SysML Block Definition/Internal Block diagrams and UML Class/Internal Structure/Component diagrams, where there are several issues involved in translating the former to the latter. These range from gratuitously different naming conventions (Blocks vs. Classes vs. Components), to more substantial issues such as adding SysML constructs with ambigous semantics (e.g., SysML Item Flows) and diverging from UML's Class-Part-Instance trichotomy (SysML has no Object diagrams).

    There are also substantive linguistic divergence problems associated with at least one of SyML's new diagram types, Parametric diagrams. The SysML provides notation, but sparse semantics for this new diagram type, which introduces a constraint-logic paradigm into UML's object-component paradigm.

    For these reasons, project teams who plan to use both SysML and UML on large project should be aware that they will likely encounter both subtle and substantive translation problems for which the SysML <<allocate>> dependency or the UML <<refine>>/<<trace>> dependencies are only stopgap solutions. Hopefully vendors and methodologists will work out these problems soon, after they gain more experience with real projects.
    BACK TO TOP
  • Can SysML be customized by vendors or users?
    Yes, SysML can be customized by both vendors and users with the profile mechanism it borrows from UML. It is anticipated that SysML will be customized to model more domain-specific applications, such as automotive, aerospace, communications and information systems.
    BACK TO TOP
  • Which language is easier to learn, SysML or UML?
    The answer likely depends on whether you are a systems engineer or a software engineer. If you are a systems engineer, you should expect SysML to be easier to learn, since it is smaller language and it is customized for your work domain. If you are a software engineer, you may prefer UML's software-centric bias.
    BACK TO TOP
  • When will the OMG SysML specification be finalized by the OMG?
    The current adoption status of OMG SysML is that of a "Final Adopted Specification." An OMG Finalization Task Force plans to recommended a final version OMG SysML in April 2007, which needs to voted upon once more before it becomes a public "Available Specification." These are estimates only, since OMG technology adoption process tends to be bureaucratic and difficult to predict.  You can find out more about OMG SysML's technology adoption status on the OMG SysML web.
    BACK TO TOP
  • Will there be other variations or dialects of the SysML?
    Since the SysML has been developed by an open source project, and includes an open source license for its distribution and use, others can freely modify, use and redistribute the SysML specification as long as they follow the conditions in the license. For example, the OMG is adopting a variation of the SysML open source specification that they are trademarking as "OMG SysML." Others may do the same as long as they follow the open source license for distribution and use.
    BACK TO TOP
  • When will SysML v. 1.0 tools be available?
    SysML v. 1.0 tools are already available. You can find a list of SysML tools that are available or publicly announced on the Modeling Tools page of this web.
    BACK TO TOP
  • Will SysML v. 1.0 tools be interoperable?
    Since most SysML tools are initially being implemented as profiles of UML 2.0, they will be dependent upon UML 2.0 for interoperability. Unfortunately, UML 2.0 tool interoperability (which uses XMI) does not work well, especially regarding diagram interchange, which is essential for visual modeling languages such as UML and SysML.
    BACK TO TOP
  • Can SysML users submit new questions for this FAQ?
    Yes, please send email with your questions to FAQ@SysMLforum.com.
    BACK TO TOP