Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GitHub is a Git-based software configuration management system (also called application lifecycle manager or ALM). The Syndeia 3.0 interface allows the user to create a Reference connection between a Rhapsody element and Github branch, commit, tag or file. A comparison across the connection shows whether a later version of the GitHub element is available. As in previous tutorials, we assume the reader has a working knowledge of the non-SysML tool, i.e. GitHub.

Creating a SysML – GitHub Reference Connection

Figure 189 Syndeia dashboard, Connection Manager tab, for creating Reference connection to Commit

  1. Open the GitHub tutorial model provided in Rhapsody. Open the Syndeia dashboard by right-clicking the GitHub_Tutorial package and selecting Syndeia → Dashboard. In the Repository Manager tab, create a connection to a GitHub repository (if one does not already exist) by right-clicking on GitHub in the list of repositories on the left and selecting Add… Enter the URL, user name, and password to access your GitHub repository, along with a short Repository Name you wish to identify it with, and click OK.
     
  2. Switch to the Connection Manager tab, click on Repositories at the top of the third column and select your GitHub repository. It should open to show you the repositories for which you have access. Expand these to show the projects, branches, commits, folders and files. The final result should look something like Figure 189.
     
  3. Create a Reference connection between the SysML element Git_Test_Block and a commit in the Master branch of a project by selecting Reference Connection in the center panel and dragging Git_Test_Block onto the desired GitHub Commit (or vice versa). You can check the connection created in the Connection Browser or Connection Summaries tab (be sure to refresh these to see the latest).

     
    Figure 190 GitHub web interface opened to Initial Commit via Open Connected Artifacts command  

  4. In Rhapsody, right-click Git_Test_Block in the model browser and select Syndeia → Open Connected Artifacts. This should open GitHub in your default web browser to the commit it has been connected to, as in Figure 190.

     
    Figure 191 Syndeia dashboard, Comparison Result tab, showing later commit available in branch 

    Figure 192 Syndeia dashboard, Connection Browser tab, showing Sync command


  5. On the Syndeia dashboard, Connection Browser, right-click the connection from Git_Test _Block and select Compare SysML & Target. The Comparison Result tab should show something like Figure 191. The result is red, showing a difference. Git_Test_Block is connected to an early commit on the Master branch (starting f902…), but there is a latest version on the same branch (starting df83…). The Compare SysML & Target in the case of a Reference connection does not look at the contents of the two models, only whether there is a later version of the same target element in a configuration-managed repository.
     
  6. To change the Reference connection from Git Test Block to the latest commit on the same branch, go to the Syndeia dashboard, Connection Browser, right-click the connection from Git Test Block and select Sync SysML → Target (see Figure 192). Now use Compare SysML & Target to check that the SysML block is connected to the latest commit on this branch.
     
  7. The same functionality is available for creating reference connections from SysML elements to files managed GitHub. In Figure 193, we will drag Drag Git Test Block to the README file under the Initial commit in the Master branch under Dirk-Sandbox.
    Image Removed
    Image Added 
    Figure 193 Syndeia dashboard, Connection Manager tab, for creating Reference connection to file  
  8. As with commits, we can use the compare and sync functions to identify the latest version of the same file (Figure 194) and to update the connection from the SysML element to the latest version.
    Image Removed 
    Figure 194 Syndeia dashboard, Comparison Result tab, showing later file version available
    Image Added