====== Integrating SysML with other languages ====== ===== Introduction ===== SysML can be integrated with other languages such as Modelica with the following process: - Create a metal-model for the specific domain that is being integrated. This could be done with the use of an ontology. - Create a SysML profile that will map the meta model to SysML stereotypes - Create a transformation map between the meta model and SysML profile's entities - For each transformation include the corresponding API call to the domain specific tool ==== Methods of Transformation ==== There are two mainstream methods of transformation between two meta-models: Triple Graph Grammars (TGG) and Queries/Views/Transformations (QVT). === Triple Graph Grammar === {{ :bok:eng:mbse:sysml:integrate:tgg.png?600 |}} An example of using TGG to map between SysML and Modelica ((C.Paredis and T. Johnson, “Using OMG's SysML to support simulation” Proceeding of the 2008 Winter Simulation Conference (2008))). === Queries/Views/Transformations === ===== Parts ===== ==== Integrating SysML with Modelica ==== Modelica has emerged as a standard or modeling continuous dynamics of systems. Johnson((T. Johnson, C. J. J. Paredis and R. Burkhart, [[http://omgsysml.org/Modelica2008.Integrating_Models_and_Simulations_of_Continuous_Dynamics_into_SysML.TAJ.08-01-21.pdf|"Integrating Models and Simulations of Continuous Dynamics into SysML"]] (2008). Accessed on Jul. 2nd, 2020)) explores synergies between SysML and Modelica at 3 different levels: - Definition of continuous dynamics models in SysML; - Use of triple graph grammar to maintain a bi-directional mapping between these SysML constructs and Modelica models in order to maintain consistency; - Integration of simulation experiments with other SysML constructs to support MBSE. SysML benefits from the detailed Modelica semantics for representing Differential Algebraic Equation systems combined with discrete events; Modelica benefits from the broader information modeling context provided in SysML. ===== References =====