Drag-n-drop operations for MySQL Repositories

#Drag ThisTo ThisWith This Connection TypeAnd This Will Happen
M1Anything from the System Model Panel (or Repository Panel)Anything in the Repository Panel (or System Model Panel)
Reference

Reference Connection will be created but nothing will be generated

M2SysML BlockMySQL DatabaseModel Transform
  • A new table will be generated in the database with columns corresponding to value properties of the SysML block.
  • A model transform connection will be created between the SysML block and the MySQL table.
M3MySQL TableSysML PackageModel Transform
  • A new SysML block will be generated with value properties corresponding to columns of the MySQL table.
  • A model transform connection will be created between the SysML block and the MySQL table.
M4SysML BlockMySQL TableData Map
  • A new row will be generated in the table with column values corresponding to the default values of the value properties of the SysML block ONLY IF a model transform connection exists between a parent block (supertype) of the given block and the MySQL table (such as by operations M2 - M3).
  • A data map connection will be created between the SysML block and the MySQL table row.
M5SysML Block InstanceMySQL TableData Map
  • A new row will be generated in the table with column values corresponding to the slot values of the SysML block instance ONLY IF a model transform connection exists between the classifying block of the instance and the MySQL table (such as by operations M2 – M3).
  • A data map connection will be created between the SysML block instance and the MySQL table row.
M6MySQL Table RowSysML packageData Map
  • User will be asked to select one of the two options: (1) generate a block instance (default option), or (2) generate a specialized (subtype) block.

    If the first option is selected, a SysML block instance will be generated with slot values corresponding to the columns values of the given row. This block instance will be an instance of the block that has a model transform connection to the table. If such a block does not exist, then a new block will also be generated with a model transform connection to the MySQL table (same as operation M3). If the second option is selected, a SysML block will be generated with value properties (and default values) corresponding to the columns values of the given row. This block will be a child (subtype) of the block that has a model transform connection to the table. If such a block does not exist, then a new block will also be generated with a model transform connection to the MySQL table (same as operation M3).
  • A data map connection will be created between the SysML block instance (or specialized block) and the MySQL table row.

Creating connections between existing model elements

The drag-n-drop operations listed in the table above generate models. Starting with this release, Syndeia can also create model transform connections between existing model elements without generation. You can then perform a compare and sync operation on these connections to sync the models. The following drag-n-drop operations are available between existing model elements:

  • SysML Block < -- > MySQL Table (Model Transform)
  • SysML Block < -- > MySQL Table Row (Data Map)
  • SysML Block Instance < -- > MySQL Table Row (Data Map)

Additional Notes on SysML and MySQL drag-n-drop operations

  1. Column names in the MySQL table must be alpha numeric (white spaces and underscores are allowed) so that they can be used to generate block value properties.

  2. When generating SysML block / instances from MySQL data, or when synchronizing MySQL > SysML, the following data mapping rules are followed.

    MySQL data typeSysML value type
    int / INTInteger
    dec / DECReal
    float / FLOATReal
    double / DOUBLEReal
    char / CHARString
    varchar / VARCHARString
  3. When generating MySQL tables and rows from SysML elements, or when synchronizing SysML > MySQL, the following data mapping rules are followed.

    SysML value typeMySQL data type
    StringVARCHAR
    RealDOUBLE
    IntegerINT