Wednesday 31 January 2018

Mastering MBSE training now updated to 8.3

I have now updated my Mastering MBSE with OMG SysML and IBM Rational Rhapsody to Version 8.3 of Rhapsody. I've also delivered it! Another delivery is planned next week.

Don't forget that Rhapsody 8.3 also has an iFix. This may be important when deploying with Rhapsody Model Manager (RMM). Training on this latter capability together with Rhapsody and DOORS Next Generation (NG) using OSLC is planned.

Sunday 28 January 2018

Rhapsody Tip #29 - Understanding UML standard ports vs. SysML proxy ports (Intermediate)

With coming up to 30 videos posted it's a little harder to find quick wins, so this one goes into a little more detail (i.e. took a lot more work).

One of the key topics in my instructor-led SysML and MBSE training is getting to grips with different types of ports and interfaces in UML/SysML models. While SysML introduces two new ports in 1.3, full and proxy, there may be still models where standard and flow ports may be a better choice, or projects that predate the new port forms. Choosing the right one is crucial to value but depends a lot on context, and constraints, and needs. This silent video based on a new lab in my instructor-led 3 and 4 day training contrasts UML standard ports with SysML proxy ports, a new type of port in SysML 1.3 on-wards. It highlights some, but not all, of the key differences.

I'm planning a follow up video on (pre-SysML 1.3) flow ports vs proxy ports, a topic which I feel is important for automotive systems engineering, in particular. As always, there are pros and cons ;-).

Sunday 14 January 2018

Updated install guide for Rational Rhapsody 8.3

Just updated my install guide for Rational Rhapsody 8.3, incl. how to get iFix 001 and getting it working for executable MBSE.

This detailed guide includes:

1. Obtaining and installing IBM Rational Rhapsody Version 8.3 as an evaluation (assuming that's what you're doing).

2. Installing all editions and modifying the rhapsody.ini to desired default.

3. Obtaining and installing any iFixes for Rhapsody from IBM Fix Central.

4. Downloading, installing and testing the minimal Cygwin gcc+ compiler for use in system simulation.

5. Downloading, installing and testing my SysMLHelper profile for automotive-based executable mbse (see

6.  Tweaks that help the Gateway add-in work better with huge DOORS project structures.

Supported features in Rhapsody 64-bit in the 8.3 release

IBM updated it's list of features supported by Rhapsody in 64 bit:

Most notable is that code-centric mode and action language support was added in 8.3 to a list that includes: Rational Rhapsody Architect for Software, Reverse engineering, Round-tripping,  RTC direct integration, and (notably) Rational Rhapsody ReporterPlus.

Note: Since the RTC direct integration is not constrained by 32-bit MSSC support this makes the 64-bit Rhapsody a candidate for deployment with the Team Concert direct integration.

The only thing missing from my perspective is Webify (web-enabling a model). Note: I have found that 64 bit will also make some assumptions about Cygwin compiler chain being 64 bit but if this occurs then it is quickly resolved with a property setting.

Monday 8 January 2018

Tips for installing Rhapsody's RTCIntegration

Rhapsody 8.2 heralded the release of a new direct integration with IBM's premium wide-area network supporting SCM solution, Rational Team Concert (RTC). There have been two releases since:

Configuration management in 8.2: direct integration with RTC (Rational Team Concert)
The pop-up menu for units in the project browser now includes menu items for performing basic RTC actions from within Rhapsody, for example, show history, lock, and unlock. This feature includes the display of RTC status in the project browser. When using the RTC integration, modifications made to units in Rhapsody are automatically checked-in to RTC (controlled by the property UnitAutomaticCheckInOnSave).

Configuration management in 8.2.1: automatic delivery of changes in RTC (Rational Team Concert)
In addition to the option of having modifications made to units in Rhapsody automatically checked-in to RTC (introduced in release 8.2), you can now have modifications to units automatically checked-in and delivered.

Configuration Management integration in 8.3: renaming/deletion of Rhapsody units
Prior to release 8.3, if you renamed a Rhapsody element that was saved as a separate unit, the name of the file representing the unit would always keep its original name. Beginning in this release, if you configured Rhapsody to use the integration with Rational Team Concert (using the CMTool property), then when you rename a model element that is a unit, you will be asked whether you want to also change the name of the underlying file. This behavior can be controlled by the property RenameActivation. Similarly, if you delete a unit, you will be asked whether you want to also delete the underlying file. The deletion behavior is controlled by the property DeleteActivation.

Here is check list of 12 commandments (12 days of Christmas if you're me) for installing Rhapsody with RTC client:
  1. Install IBM Rational Rhapsody. Rhapsody is released to coincide with Jazz releases on a 6 month basis so Consider aligning to the version of Jazz that aligns (e.g. 8.2 = 6.0.3, 8.2.1 = 6.0.4, 8.3 = 6.0.5). Note: Installing per-user (i.e. the default will generally cause less issues as ProgramData is not always writable and for various reasons it needs to be, i.e. if you install for all users IT may need to do something extra to make folders writable, esp. if you want to use or trial RDM integration at same time).
  2. Install iFixes* for Rhapsody. *=This is the IBM term for a patch. iFixes are downloadable from IBM Fix Central website. This link may help. You don't need to have a customer login to download but would need to create a user id. Note: Read the readme for the iFix installer very carefully. You may need to unzip and copy files into Program Files and the OMROOT folder, after running the installer. This is critical to do if the iFix contains fixes to the RTCIntegration folder.
  3. Install the RTC Client that aligns to the Jazz /ccm server. I suggest to stick to 32 bit RTC Client with 32 bit Rhapsody, and 64 bit RTC client with 64 bit Rhapsody. Use a plain zip download for the RTC client rather than the IBM Installation Manager (I've had issues getting RTC client to connect with the latter that have not repeated with the former). You can get this from the Go to the All Downloads tab for the release and look for the Plain .zip Files section. Unzip the client will yield the eclipse.exe.
  4. Install iFixes for the RTC Client. Have a look at your Jazz server iFix level (in the About) and decide whether it is prudent to add an iFix to the RTC client. Just like Rhapsody, iFixes can be obtained from Fix Central. They're installed in a similar way to plugins, e.g. unzip the file and use Help > Install new software to get to the folder (uncheck Group items by category). 
  5. Open RTC Client and install Rhapsody's RTCIntegration plugin (this is in the Program Files part of the Rhapsody installation and, if an iFix applies, it should've been updated). Install the folder that corresponds to the 32/64 bit choice you made earlier.
  6. Connect the RTC Client to the Jazz server (if you have a web client open you can copy the URL up to and including the /ccm bit and paste that into the dialog). Log-in using your password and username (the assumption is that your username has necessary licenses and project area is set-up).
  7. Ensure that Automatic detect changes is checked in the Jazz Source Control > Local changes preferences.
  8. Create a repository workspace for the user (if they don't already have one). A repo-workspace is a (generally) private workspace stored on the server, where all the users changes are back-up but kept separate from the stream. In RTC a check-in is the transfer of changes from the local file system into a stream. A separate Deliver operation is the transfer of changes from a user's repository workspace into a shared stream.
  9. Create a component that you want to hold the Rhapsody project, if one doesn't exist, and load it into the local sandbox. Remember not to create an eclipse project when doing this. This will result in a sandbox folder on the local file system with the name of the component.
  10. Put the model you want to configure into the sandbox area, and set it's properties so that the new RTC integration is configured. The most critical one is to set ConfigurationManagement::General::CMTool to Rational Team Concert. Depending on the release there are additional preferences that can be set. This should result in a status icon appearing in the Rhapsody browser, and the configuration management menus should appear. Validate that the Rhapsody client is talking to the RTC client. You can do this in Eclipse by adding the Error Log view. You should see a Connecting line if it's successful.
  11. Configure RTC Client to ignore temporary Rhapsody files, e.g., you don't want to deliver the autosave folder contents or temporary Gateway files, or log files. There are two ways of doing this. Either by configuring the project (using .jazzignore files) or by configuring every RTC client (using a preferences file).
  12. Configure RTC Client to use the Rhapsody DiffMerge.exe for Rhapsody file extensions. Very important this.
Test. Test. Test