Sunday 26 May 2019

Rational Rhapsody Tip #58 - Another look at unresolved references

This short "tips and tricks" video takes a look at what causes and how to fix unresolved references in an IBM Rational Rhapsody project. These can occur when Rhapsody needs to change an element to keep model consistent but the owning units (i.e. files) are read-only. This makes it a topical subject when it comes to discussing the relative merits of pessimistic vs optimistic merging as modern SCM tools such as Rhapsody Model Manager do actively allow optimistic merging and emphasize the propagation of consistent change sets that prevent models becoming inconsistent. The video perhaps highlights some of the issues that come from managing a model with a pessimistic strategy that requires users to check-out files. As you'll see in the video Rhapsody attempts to circumvent the problem by warning the modeler. It can even automatically check out the units to keep a model consistent.

A key tip is that the Advanced Search and Replace dialog allows you to search models for unresolved references and remove them. It's probably worth periodically checking models using this a housekeeping technique as their existence may point to usage problems.

Those with keen eyes may also spot a new Add "peer" menu item, as the video uses Rhapsody v8.4 (build 9841247).

Wednesday 22 May 2019

Rational Rhapsody Tip #57 - Allocation tables and matrices, incl a context pattern

This video follows on from Tip #56 and shows creation of tables and matrices in Rhapsody. Allocation is a SysML new term dependency type, hence the tricks really apply to any new term dependency, e.g., they'd work for requirement traceability relations. The video starts with simple matrix and relation tables views (you have to create the layouts first) and then goes on to show how to create a context pattern table view. As you'll see it takes a little while to get the context pattern to do what you want and you need  test it, but once you have it the views that are possible are huge. The key thing is that you build the relation table you have to follow the structure of the model. The order of the columns, however, can be in any order. You can also collapse the first column to make it more succinct. Enjoy!

Friday 17 May 2019

Feedback from Mastering MBSE with SysML and IBM Rational Rhapsody 8.3.1 (4 Day) on May 7-10 2019

Having finished (or been in the process of finishing) a lot of consulting jobs, I'm in a spate of training's at the moment. The following is the feedback summary from my May 7-10 training.

Feedback forms included "Very useful to have the mix of theory, demos & hands-on" and "clear, concise information in core sections with expanded info available. Easily followed labs with good, structured progression".

For my perspective, the benefit of the 4 day training was the re-enforcement of learning at the end. Following the "let's create a system from scratch" example  from use case to white box at the end proved to be quite good fun, and it was great to see the creativity in the team.

Tuesday 14 May 2019

Rational Rhapsody Tip #56 - Using Allocation relations In SysML

The following is a little demo I did recently on a training to illustrate the concept of allocation in SysML. Overall the concept is very simple, of course, which is that allocation is a cross-cutting construct that uses a UML dependency as its base type. This "create a model from scratch" video shows an example of creating two hierarchies, one structural and one behavioral, and then relating them using «allocate» dependencies, and visualizing the relations in compartments. I illustrate this by creating a New Term «FunctionBlock» stereotype (this is a slightly more advanced topic of discussion, of course, but is a topic that comes up a lot, especially with my automotive customers).

  1. The SysML profile provides a dependency stereotype called «allocate»
  2. Often allocation is used where you want to allocate behavior elements to structural elements, i.e. behavioral to structural allocation.
  3. Allocation can be visualized in compartments, e.g., AllocatedTo and AllocatedFrom, that can be shown using the Display Options... dialog. 
  4. Allocation compartments work for a range of elements in Rhapsody, including Operations, Blocks and Activities.