SysML (Systems Modeling Language) is an extension of UML (Unified Modeling Language) but tailored for systems engineering. Below are two key differences:

Comparison Between UML and SysML

1- Scope and Domain Focus: UML (Unified Modeling Language) is designed primarily for software engineering, emphasizing the modeling of object-oriented systems, including software structures like classes, interactions, and behaviors (Booch et al., 2005). SysML (Systems Modeling Language), on the other hand, is an extension of UML, tailored for systems engineering. It allows for modeling complex, multi-disciplinary systems involving hardware, software, and physical components (Friedenthal et al, 2014).

Impact on Tool Choice: If the context is pure software development, UML is suitable. However, if the focus is dealing with systems involving both software and hardware (e.g., aerospace, automotive), SysML is preferable due to its broader scope in capturing physical entities and their interactions.

2- Diagrams: UML provides 14 types of diagrams, such as Class Diagrams, Sequence Diagrams, and Use Case Diagrams, aimed at representing software components (Booch et al., 2005). SysML reuses many UML diagrams but introduces new ones like Requirement Diagrams, Block Definition Diagrams, and Parametric Diagrams. These additions cater to systems engineering by modeling system requirements, structures, and constraints (Friedenthal et al, 2014).

Impact on Tool Choice: The inclusion of these systems-oriented diagrams in SysML makes it better suited for projects requiring traceability of requirements, physical flows, and behavior simulation, especially in industries where compliance with strict requirements is essential, like defense or medical devices.

According to Chabibi et al. (2018), SysML models are typically used to visualize and analyze system designs, but they can also be converted into executable models for simulation purposes. One approach to this involves transforming SysML models into other modeling languages such as Modelica or MATLAB/Simulink, which allow for simulation of system behavior and validation of performance (Bocciarelli et al., 2012).

This feature is especially valuable in industries like aerospace and automotive engineering, where developing prototypes for testing is expensive and time-consuming. Executable models allow for the simulation of complex interactions, such as how software interacts with physical sensors and actuators, without needing a physical prototype (Weilkiens, 2011).

References:

Booch, G., Rumbaugh, J. and Jacobson, I. (2005) The Unified Modeling Language User Guide Second Edition, Pearson Education, Inc.

Bocciarelli, P., Pieroni, A., Gianni, D. and D’Ambrogio, A., (2012), December. A model-driven method for building distributed simulation systems from business process models. In Proceedings of the 2012 winter simulation conference (WSC) (pp. 1-12). IEEE.

Chabibi, B., Anwar, A. and Nassar, M. (2018) “Model Integration Approach from SysML to MATLAB/Simulink,” Journal of Digital Information Management, 16(6). Available at: https://doi.org/10.6025/jdim/2018/16/6/289-307.

Friedenthal, S., Moore, A. and Steiner, R. (2014) A Practical Guide to SysML: The Systems Modeling Language, Third Edition, A Practical Guide to SysML: The Systems Modeling Language, Third Edition. Available at: https://doi.org/10.1016/C2013-0-14457-1.

Weilkiens, T., (2011). Systems engineering with SysML/UML: modeling, analysis, design. Elsevier.