In this video I walk through an example of an insulin pump system, or more precisely, two systems that relate to an insulin management system to show how each level can have use cases, but that the use cases differ in the level of abstraction. The key is that the concept of abstraction allows us to deal with complexity at the system-of-system level by focusing on essential detail only. It's also abstraction that enables us to keep things valid and current as the detail is fleshed out. My view is that one should create different use cases at each level and give ownership to the teams. Like when a sky-diver jumps out of an airplane, the first thing they look for is not the gate in the field. The same thing applies with models. This video illustrates using an Insulin Pump Management System to illustrate the value of abstraction. It shows shows an example of how to use Rhapsody's Allocation Wizard to allocate system functions to parts of a system.
Understand the art of the possible. My mission is to make executable Model-based Systems Engineering (MBSE) easy with the Object Management Group's Systems Modeling Language™ (SysML®) and UML® to make simple modeling easy to deploy to the masses. This site provides practical experience of tuning IBM® Rational® Rhapsody® - a precision engineering UML/SysML tool. Rhapsody tips and ideas will be posted with links to videos. You can follow by email (if google app is allowed).
Monday, 4 June 2018
Systems-of-Systems and Use Cases: An Insulin Pump System Example (9 min video with captions)
I tend think use cases are great before they force you to think about your system boundary. That said, I've been in plenty of meetings where everybody is agreeing on the use case, but participants actually have completely different perceptions of the system context. Like the statement "controlling the speed has nothing to do with my system, it's done by this other system" is an interesting one when talking about Cruise Control. Clearly if your system is a vehicle then the system will be controlling the speed. If your system is a sub-set of the vehicle, then it will depend on which bit you own.
In this video I walk through an example of an insulin pump system, or more precisely, two systems that relate to an insulin management system to show how each level can have use cases, but that the use cases differ in the level of abstraction. The key is that the concept of abstraction allows us to deal with complexity at the system-of-system level by focusing on essential detail only. It's also abstraction that enables us to keep things valid and current as the detail is fleshed out. My view is that one should create different use cases at each level and give ownership to the teams. Like when a sky-diver jumps out of an airplane, the first thing they look for is not the gate in the field. The same thing applies with models. This video illustrates using an Insulin Pump Management System to illustrate the value of abstraction. It shows shows an example of how to use Rhapsody's Allocation Wizard to allocate system functions to parts of a system.
In this video I walk through an example of an insulin pump system, or more precisely, two systems that relate to an insulin management system to show how each level can have use cases, but that the use cases differ in the level of abstraction. The key is that the concept of abstraction allows us to deal with complexity at the system-of-system level by focusing on essential detail only. It's also abstraction that enables us to keep things valid and current as the detail is fleshed out. My view is that one should create different use cases at each level and give ownership to the teams. Like when a sky-diver jumps out of an airplane, the first thing they look for is not the gate in the field. The same thing applies with models. This video illustrates using an Insulin Pump Management System to illustrate the value of abstraction. It shows shows an example of how to use Rhapsody's Allocation Wizard to allocate system functions to parts of a system.
Friday, 1 June 2018
Rhapsody 8.3.1 Open Beta
Rhapsody released tend to be aligned with Jazz platform cycles (6 monthly). This means that the time for 8.3.1 is approaching.
There is actually an open beta version you can download (obviously needed if you're testing Rhapsody Model Manager backend, like me).
The Rhapsody 8.3.1 beta link is on Jazz.net, all downloads tab:
https://jazz.net/downloads/rhapsody-model-manager/milestones/6.0.6RC1?p=allDownloads
Scroll to the bottom to find the Rhapsody Open Beta link. You might need to fiddle around a bit to get the IBM ID login to come up but it should allow you to download the zip.
Remember, although multiple Editions of Rhapsody can be installed, you need to be careful that the DLLs are registered correctly if you're using some of the add-ins (or you uninstall one of them hoping to use another).
Check out the bridges!
There is actually an open beta version you can download (obviously needed if you're testing Rhapsody Model Manager backend, like me).
The Rhapsody 8.3.1 beta link is on Jazz.net, all downloads tab:
https://jazz.net/downloads/rhapsody-model-manager/milestones/6.0.6RC1?p=allDownloads
Scroll to the bottom to find the Rhapsody Open Beta link. You might need to fiddle around a bit to get the IBM ID login to come up but it should allow you to download the zip.
Remember, although multiple Editions of Rhapsody can be installed, you need to be careful that the DLLs are registered correctly if you're using some of the add-ins (or you uninstall one of them hoping to use another).
Check out the bridges!
Monday, 21 May 2018
Video (8 mins) on Making MBSE with Rhapsody simple (SysMLHelper 3rd generation enhancements)
I've put a new video of my Gen #3 profile onto youtube, in case you're interested. This shows some of the new ideas I've incorporating into the 3rd generation of the profile. It just shows a simple requirements analysis method helper.
Some of these come from work I did recently on a customized profile for a different client. Some are things I've wanted to do for a while but not had time.
In this video I explore some new ideas I'm working on for my 3rd generation of the SysMLHelper profile; an open-source profile for IBM Rational Rhapsody that is designed to "Make MBSE with Rhapsody simple" by adding automation that enables engineers to focus on the fun and creative tasks, rather than how to set-up and configure the tool. This makes it easier to deploy MBSE and SysML modelling techniques to a larger team. Automation and product tailoring increases the chance that you will achieve productive success first time because the helper is based on methods known to work. The wealth of usability enhancements mean that you have a richer but tailored toolset available. As the helper is open-source there is also the option that I could tailor it for your organisation and processes, making use of over 11 years of experience as a Rhapsody technical consultant and trainer.
Some of these come from work I did recently on a customized profile for a different client. Some are things I've wanted to do for a while but not had time.
Thursday, 17 May 2018
Rhapsody Tip #33 - Conveying Standard Content using stereotypes
This silent helper video illustrates a built-in feature of IBM Rational Rhapsody called Standard Content. This feature allows you to define standard content that you want to apply whenever you apply the stereotype to a model element. First off, you need to define the standard content, i.e. the template. You then need to establish a dependency to it from the stereotype you want to apply, and stereotype the dependency using «StandardContent» from the pre-defined types. Now, whenever you apply the stereotype to a model element, the standard content will be merged with the elements content (preserving existing content if there's a conflict).
StandardContent works with all types of elements. It also works with New Term stereotypes. It provides a quick way of templating things, when no model transformation is required. If you want to perform a model transformation on creation then writing a Java plugin may be needed, something I can provide consulting or training on, if required ;-).
StandardContent works with all types of elements. It also works with New Term stereotypes. It provides a quick way of templating things, when no model transformation is required. If you want to perform a model transformation on creation then writing a Java plugin may be needed, something I can provide consulting or training on, if required ;-).
Wednesday, 16 May 2018
Tailoring the Harmony/SE MBSE method for automotive paper
For those that have asked, these are the links to the Tailoring the Harmony/SE MBSE method for automotive TailoringTheHarmonySE-MBSEMethod-ForAutomotive-V4.pdf paper that I delivered at the INCOSE UK ASEC 2017 conference in November. Here's the abstract:
For those that don't know, the Annual Systems Engineering Conference (ASEC) is INCOSE UK's flagship annual event and brings together a wide range of professionals from a variety of backgrounds, with the common interest of building upon their Systems Engineering (SE) knowledge and sharing ideas with their peers. The focus of the conference was "Pushing the boundaries of systems engineering".
The paper gives a lot more description than the slides. Here are the TailoringHarmonySEForAutomotive-WidescreenNoVideo-V3.pdf slides.
Abstract. The Harmony/Systems Engineering (SE) process is a Model-based Systems Engineering (MBSE) process originated by Hans-Peter Hoffmann Ph.D. (i-Logix, Telelogic, IBM) based on work by Harel (Harel, Politi 1998). First published as “Harmony/SE” in 2006, it exploited the executable modelling features of the i-Logix Rhapsody® UML tool, based on Harel statechart semantics (Harel, Kulger 1996) to build executable specifications of systems based on modelling use cases. Emphasizing the identification and allocation of desired functionality and state-based behavior rather than details of functional behavior, the method achieved strong usage in the traditional systems engineering markets such as aerospace and defense. With the explosion in the complexity of state orientated Advanced Driver Assistance Systems (ADAS) and other similar systems, this paper will overview the method but look at real experiences of tailoring the ideas of Harmony/SE with SysML in the automotive domain and how it is both similar and different to the traditional Systems Engineering market. The paper reflects the author’s own views rather than the views of automotive companies he has worked for (Jaguar Land Rover, Daimler AG). Aspects covered will include reflections on extending the method to support use of the state machine inheritance, use of simulations and/or lightweight modelling to engage stakeholders, and – importantly – the human aspects including adjusting UML/SysML usage to ease absorption by an automotive control engineer community.
For those that don't know, the Annual Systems Engineering Conference (ASEC) is INCOSE UK's flagship annual event and brings together a wide range of professionals from a variety of backgrounds, with the common interest of building upon their Systems Engineering (SE) knowledge and sharing ideas with their peers. The focus of the conference was "Pushing the boundaries of systems engineering".
The paper gives a lot more description than the slides. Here are the TailoringHarmonySEForAutomotive-WidescreenNoVideo-V3.pdf slides.
Friday, 11 May 2018
Executable MBSE - "Death Star (in 10 minutes)" use case
This is a video that gives a flavor of Executable MBSE using Rational Rhapsody Designer with the Cygwin/gcc compiler. This video is based on the second generation of my SysMLHelper profile. I'm currently working on the 3rd Generation.
I might do the Mango Crusher next! Any other novel ideas accepted?
I might do the Mango Crusher next! Any other novel ideas accepted?
Feedback from Rhapsody in C++ for Software Engineers 8.3
As usual, I try to post my training feedback. This is the aggregated feedback from my 4-day Rhapsody training last week (the participants who responded that is), where 5 = strongly agree and 1 = strongly disagree.
Testimonial include "Excellent course!! (S/W Lead)", "Learned a lot even from watching Fraser navigate around Rhapsody - lots of tips and tricks picked up!", "Fraser very friendly and helpful throughout", "Good background into UML".
As always, I will look to deliver with the latest version. This was a Rhapsody in C++ Essentials training using Rhapsody 8.3 (iFix 2) and was an official derivative of IBM material.
Testimonial include "Excellent course!! (S/W Lead)", "Learned a lot even from watching Fraser navigate around Rhapsody - lots of tips and tricks picked up!", "Fraser very friendly and helpful throughout", "Good background into UML".
As always, I will look to deliver with the latest version. This was a Rhapsody in C++ Essentials training using Rhapsody 8.3 (iFix 2) and was an official derivative of IBM material.
Subscribe to:
Posts (Atom)




