BLOG about IBM Rhapsody. Contains technical information as well as more private travel stories.

Tag: Humor (Page 3 of 3)

Ask the Master.

Or Rhapsody Q&A

A short BLOG entry this time. On Monday, October 9 13:00-14:30 CET, we organize an Ask the Master Webinar. Feel free to join and fire questions about Rhapsody to the Master. (That’ll be me…) Just a small info: It will be in German! (With Dutch accent…)

Ein kurze BLOG heute. Montag 9 Oktober von 13u- 14u30 organizieren wir ein Webinar “Ask the Master”. Meld dich an und werde all deine Fragen über Rhapsody los bei der Guru ( An dem Tag bin ich das…) Es wird in Deutsch sein (Mit Holländischen Akzent)

Ask the Master
Wir laden Sie ein:
Am Montag, den 09.10. /  13.00 – 14.30 zu unserer Websession:
Rhapsody – Questions & Answers
Herr van der Heiden wird Ihnen dieses Mal ganze 1,5 Std zur Verfügung stehen, um Ihre Fragen rund um das Thema Rhapsody zu beantworten und Ihnen Tipps und Tricks verraten.
Die Websession ist kostenlos. Sie müssen sich nur anmelden.
Anmeldung:

How to survive off-days….

Disaster days and how to handle them.

We all know them…. disaster days. Mostly they are already starting bad. Like cars that don’t start, public transportation that strikes. Rain that pours, people shouting at you for no obvious reason. That is a day where you should not have ignored the signs and have stayed at home in your bed. Sometimes this just happen “out-of-the-blue” sometimes it is self-inflicted while you suffer from an overdose of “cool party last night”

But no, we are tough. We persist and fight our way through the day. But the real surprise comes next day when everything is working OK until you check last days work….. This is the point where you start thinking about Configuration Management Systems or at least Source Code Control…. Too late, you should have done that before…;-)

Yeah Right….

Making a zip file from your working directory every day is a solution, (and definitely better then nothing) but there are better solutions, certainly if you are not alone in your company.

Source Code Control is very old, on Unix Systems this is been used since there are Unix Systems. In the personal computer area this is a bit newer but also used a long time. The last 10 years or so, many people use Subversion (SVN) or Git, sometimes still CVS. All these are open source systems, you can just download them and use them. Since millions of people have, these systems are good, very good.

Of course there are still commercial systems that cost money, sometimes a lot of money. That does not make them better than SVN just different and they have a phone number that you can call when things don’t work.

More then a backup

Config Management does so much more than just saving you from bad days, it helps you preserve versions and releases, it helps you cooperate with colleagues and prevent changing the same stuff twice (the first one in is out….)
Modern systems use automatic difference/merge tools that are pretty intelligent and can merge files that are edited by 2 persons. As long as not the exact same things are changed, these tools do a good job.

What does this has to do with Rhapsody?

Everything…. If you develop with Rhapsody you also want to preserve stuff, cooperate with co-workers and much more.
And… no…. you don’t just take the source code and put that in CM, the model contains much more information then just the generated source code. In fact, the code can be generated from the model ALWAYS. (In fact it is Object code…) so don’t bother checking that in. (Only if you don’t trust Rhapsody…. or if you want to speed things up.)
Yes! You put the model under CM’s control. Now how is that done?
Rhapsody does not have a CM System built-in, it uses either the good old command-line or the a bit better and a bit less old SCC, the Microsoft Source Code Control. The latter is a registered DLL that is called by Windows. Works faster (although hardly noticeable on modern computers) but much nicer then command-line.
Unfortunately neither CVS, nor SVN nor GIT know SCC… there have been tools to create an SCC Interface, PushOK and TamTam but both have been discontinued for years (and PushOK is Russian, used to be a problem in the US but that might have changed….)
Luckily we have created a profile for the use of SVN via command-line. It is included in all Willert adapters but if you want it: send me a mail, i will send it to you.

What do we CM then?

Units. What are units? That are files that Rhapsody uses to store its models. A Rhapsody model is not just one file, per default the base model file (.rpy), all packages (.sbs) and Components (.cmp) are stored in files. Since all CM systems are file based, this is the only thing they can process in CM.
You can use properties to tell Rhapsody to store diagrams in units and you can even tell Rhapsody that a Class is a Unit (right click, create Unit) but I do not recommend that. It is a sign of bad design if you need Classes to be units.

How is the Workflow?

There are 2 possible workflows

  • Old-fashioned lock and free
    Once checked in CM the model is read-only until you check-out your “unit”. This is then locked for all others until you check it in again.
    In that way nobody can accidentally overwrite stuff that others have made.
  • Work and Merge
    All members of the team have a copy of the model, they all work on it until happy, then use the (included) DiffMerge Tool to merge the changes in the base version. There is more risk that people are changing the same model elements but many of these changes can be automerged back.

Which is the best workflow? As usually: that depends. On how you work, with how many people and more. Also on how you have built-up your model, do you have one large model? Or do have divided into multiple models? In one of the next BLOG entries I will write more about methods to split the model up in smaller models.

 

Happy Modeling with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

 

 

Backups are for woozies

I always use to say: Rhapsody is a program for real men.

Not that it is unsuitable for women… far from that. I’m jokingly trying to make clear that Rhapsody leaves a lot to the users attention.

Unlike most Windows versions Rhapsody will never warn you when an action can have consequences that might hurt. Hence the “real men”. Apparently they don’t cry in these situations. Unless they have the flu but that’s a different story.

Rhapsody comes in various flavours, C/C++/Java/ADA (C# was discontinued a while ago) and also some SysML and UML Versions. However, there is only one rhapsody.exe on your hard-drive (unless you have multiple versions installed, yeah, yeah)
The command line or rhapsody.ini combined with your license file determines which version is started. Rhapsody says in the menu bar which version you just started, this is where you should pay attention to prevent a lot of work afterwards.

Language

You can open a Rhapsody in ‘C’ model in Rhapsody in ‘C++’, in fact it will still be a Rhapsody in ‘C’ model and ‘C’ will be generated. The “last opened model” list will show you the last opened models regardless of the language. The trouble is when you inadvertently start with a ‘C++’ model and wanted a ‘C’ model. You can repair that but there will always be remains of the original language.

Rhapsody “Version”

I don’t mean 7.4 or 8.0. I mean Architect or Developer. Starting the wrong Rhapsody is not so bad, you will notice when you start using options that are not supported. The models are the same, Rhapsody cannot determine with which version they were made. So you’re OK there.

Version

Now i talk about 7.x or 8.x. That is different. Opening a “new” model with an older version of Rhapsody will not work, you get an error message. Opening an old model with a new Rhapsody works. Unfortunately…. no warning is issued, even not when you press save!

You notice the problem once you try to open the saved model with an older version of Rhapsody again…. no luck…

You can see that your model was older than the Rhapsody version, your model browser will show a “settings” folder that contains entries named CGCompatibilityPreXY. This indicates the model was made in an older version of Rhapsody.

I saved in a new version… what now…

Since 7.4 Rhapsody knows a “Save As” (One ’s’…) where you can select an older version to save to. Looks nice but remember: only 2 versions back… Luckily some newer versions of Rhapsody do not use a different format for the models so you always can go back 4 versions. But going from 8.2 to 7.4 is a lengthy process and involves 6 different Rhapsody versions…. The success is also limited, most versions of Rhapsody complain when doing “save As” that “information will get lost” but no indication is given to what might get lost…

What to do with CGCompatibilityPreXY?

Get rid of them ASAP. How? Easy! Before opening the model with a newer Rhapsody, generate code with the older version. Store that and then open with the new Rhapsody. First generate code and compare. If nothing has changed: lucky you! If there are changes: check if they interfere with your software. If yes either try to find out yourself what you can do about it or ask us: support@willert.de. We will help you as good as possible.
Now click on one of the CGCompatibilityPreXY’s, open the properties, switch to “Locally overridden” and check if this property might influence your model and/or code. If you don’t know: generate code and compare. If you need one of the properties: set it in your own profile, if you don’t need it: dump it. Go on until all properties are accounted for and then delete the CGCompatibilityPreXY file. repeat that for all files until you are done. Beware that there are properties in the CGCompatibilityPreXY files that are only for compatibility reasons. They will not appear in the standard property files! The only way to add them is to add them in the site.prp (or siteC.prp file) (I don’t like that as well but there is no other way)

Crash…

Rhapsody is a very stable program. The latest versions are suffering from some instability however. This is not all to blame on IBM. Most of the problems are caused by Microsoft and IT departments that treat software developers as all the other windows users in the company. Windows policies, lack of rights, incompetent system administrators, a deadly combination. As already said in <<>> link, installing is something to consider carefully.

But… what to do after a crash… or better before a crash. By default Rhapsody makes autosaves, every 10 minutes. So when a crash happened and you start Rhapsody again it will ask you (when opening the crashed model again) “Autosave exists, load autosave?” Be careful what you answer here… it is a one-time answer…. The one you choose will be selected, the other deleted. As I said before… Rhapsody is a program for real man. If in doubt: make a copy first. Or better: use config management.

There is General::Model::AutoSaveInterval, set that to a lower value to increase the saves.General::Model::BackUps can be set to One or Two to make backups of your model when you save. General::Model::SaveBeforeCodeGeneration can be set to TRUE so that code generation automatically saves your model.

 

Happy Modeling with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

Installing Rhapsody

Starting with Rhapsody

The first thing you need to go through when you want to use Rhapsody is the installation procedure.

This used to be easy (Everything was better in the past…) in the Windows XP times. But since Microsoft was not capable of making Windows secure without going through 200 detours, from Windows 7 on, installing is a pain in the lower back.

Have I already told you that I hate windows?

Windows does not allow applications to change stuff in the c:\Program Files (In other languages this is named differently, i.e. in German it is c:\Programme)

I’ve heard a lot of people saying: No problem, I am administrator! Yes. You wish. Windows decides otherwise. Only install programs are allowed to write in the Program Directory, then Windows creates a rollback point and when a normal application writes your Windows can decide that said changes are not allowed and it will roll back to the previous situation.

Since Rhapsody has a very large data directory (/Share) that needs to be installed in another directory. This is where trouble starts….

Default is that the Rhapsody Program Files are installed in the windows Program Directory, the Rhapsody Data is installed in your user directory (c:\users\)

Now during installation, one menu offers you 2 ticks:
– Install everything in one directory
– Install for all users

The first is deadly when you use it to install everything under Windows Program Files. On the other hand, the same menu also offers you the possibility to change the install directory, This is how you can create a separate directory for your development tools which is HIGHLY RECOMMENDED! Windows will leave your tools alone and you have everything in one directory.

The second tick makes your situation even worse since your Rhapsody data will be installed in a (default) hidden directory c:\ProgramData. The advantage would be that you can use the same Rhapsody data for multiple users on your machine (as if…, technically it is not even allowed, you would need a floating license since standard license is an authorised user…)

Which version of Rhapsody should I install?

Easy answer: Developer. Always. It contains all you need even if you have a different license. Select the languages that you will really use (C, C++ or Java)

The advantage is that you have installed all you need. The drawback is that Rhapsody is now setup to automatically start the developer, which is less desirable when you do not have a license for that version.

But you can edit the rhapsody.ini file, two lines in there determine which rhapsody is started by default:
DefaultLanguage=c (or C++ or Java)
DefaultEdition=Developer (or Architect or Designer or SystemArchitect)

You can also override this options by using the command-line. -lang=C -dev_ed will start the developer. -architect, -designer -systemarchitect -lang=C++ -lang=Java will start what you want.

That’s all?

Nope… We have found out that Rhapsody install does not solve all dependencies correctly. The best way to use Rhapsody is to start it as Administrator once. Just right-click and select “start as administrator”. Open a model, save it and leave Rhapsody. You should be OK now.

32-bits or 64-bits?

Unfortunately still 32-bits… the 64-bits versions lacks features that we love. IBM is working on it really hard and I hope we can soon give the advise to install 32-bits.
Also the Willert Embedded UML Studio is based on 32-bits, it is not _really_ installing well on 64-bits Rhapsody.
There is no _real_ disadvantage since Rhapsody can only load models that are 1.5GB max. That will still fit in a 32-bits environment.

Not Anymore…

Since Version 8.3 there are no more objections against the 64Bit Version! On the contrary, we recommend to install the 64Bit Version. Our Installer is adapted to it (Check out the DLP)

Happy modeling with Rhapsody! CU next time.

Walter van der Heiden (wvdheiden@willert.de)

Newer posts »

© 2026 Rhapsody TechBlog

Theme by Anders NorenUp ↑