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

Tag: India

And to India again!

Introduction

I love India. Friendliest people on earth, awesome food, great country! So I was happy to go there again. I was there to do some support/training in a large project with many people. All in Rhapsody and all in C++.

The Trip

The disadvantage was that I would be in India for a week, so that would cost me two weekends traveling. So on saturday morning I got up at 6 (am -> the wrong 6…) and before 7. I was sitting in the train to Zwolle that was surprisingly filled. Now, that part of the trip went very well, apart from the early hour of course.
Step-over in Zwolle to Schiphol and I arrived there on time.
I love Schiphol, great airport. It is really big but you hardly notice that, everything is being signed out very well. As long as you speak English or Dutch you will not have any problems finding stuff (Eat your heart out Munich and Paris…)
Checking in took longer than usual since I found out I was not checking in at the normal KLM booth (Hall 1 or 1A) but in 3 with Jet Airways.
I booked KLM, as usual, but it was a code sharing flight. I’ve been busy last weeks (Wauw: Tell us more new things….) so I did not really had studied the flight data.
It turned out I had quite a funny flight. All flights were Jet Airways, not a single segment was KLM, luckily also not Air France… On the outgoing trip I first flew to New Delhi, then to Mumbai and then to Hyderabad. Not really efficient… There are many direct flights from DEL to HYD. But OK. It is what it is. Rebooking was not possible, all flights were full.
So I checked in, left my good old Eagle Creek Roller at the desk and went to the KLM Lounge.

First Leg

It went faster than I thought, I could hardly eat a small breakfast and then the screen said that the flight was already boarding. So I hurried to the plane, a Boeing 777 and quickly found my chair. A nice chair (Business class this time!!!) The flight left on time at 11:20 and it was good, Jet Airways is fine, nice staff and great food (Indian of course!!)
We arrived in Delhi on time and in the dark. Last time in Delhi I found out that there actually 2 airports in Delhi with the name “Indira Gandi Airport” Read “Incredible India”. This time I was OK (I thought…) because the connecting flight was in the same terminal. Even if your luggage is checked “through” (The label on the suitcase already contains all destinations) you still have to pick up your suitcase from the belt and bring it through customs and then check it in again.
With some trouble I managed to do that. I did not check the monitors on the airport so after going through security again ( Which was “Pedantic”… I had to completely unpack all my backpacks…) I started looking for the right gate. Just to find a monitor where my flight was indicated as “cancelled”. !@#$%^&*(
I started looking for help and at another gate with personnel from Jet Airways two ladies told me to wait, someone would come and sort it out.
Pff… But now I had time to organize an internet connection. That is not easy in India, there is “Free WiFi” but that works with a text message to your mobile phone. You first fill in your phone number, then you opt-in for some things and they will send you a Text Message with a code. Then you have to hack on your phone until the login screen comes again and give that code (with the phone number again, all very tiresome.
But that did not worked… I tried several times: no Text… Then I remembered that I am the new proud owner of an iPhone XS and that I have 2 SIM cards. The normal Willert Phone and my Dutch number.
So I tried it with the dutch number and: Bingo! a Text message and yes… I had internet. OK… only for 30 minutes… So I could FaceTime with home and then post on Facebook. Then I routinely checked my mail just to find 2 mails from KLM with a new Ticket and new Travel information… from hours before… So the cancellation was apparently nothing new.

Second Leg

Back to the ladies from the Jet Airways desk. Just when I did that the Manager appeared and started to speak with people who appeared from nowhere. With some pressure he looked at my stuff and organized some guy to escort me out of the secure area. He brought me back to departures where I tried to check in again.
It appeared my flight was now rebooked to Air India (?) at 7am (?) and directly to Hyderabad (!) OK. I would arrive an hour later than planned… that was doable.
Getting a ticket was not.. I went from booth to booth until I found a guy that was willing to help. He organized that my suitcase came back and that I could check in at the Air India Booth. he even brought me to the lounge (through security!) so that I could try to sleep a little bit. It was now 4:00 am and I still had 3 more hours…
No sleeping though… the lounge was noisy (Parents with small kids… really??) so after some coffee I went to the plane. This was again a 777, the business class was completely  empty. Shortly before take-off an Indian guy came in with lots of people around him. He was something important I think. the staff was crawling around him to bring stuff and wait for orders. Luckily they did not forget me (I was hungry…) and I was served breakfast. The Business Class was the widest I have ever seen. I had a huge place, the chair before me was really far away. A large screen was built-in but I could hardly see it. Not that I wanted, after breakfast I turned my chair into a bed and slept for the rest of the flight.
That went quite well. The Taxi from the hotel was not there (They had received my mail that my flight was cancelled) so after 25 hours I was in the hotel. Time for a nap..

Work!

I had the rest of the sunday to rest a little bit. I did not sleep long. First a phone call from the check-in desk… then a knock on the door from somebody that wanted to fill the minibar. Grr.
So I already prepared for the busy week. I had to support a project where many people work on with very different levels of Rhapsody experience. It is what it is… UML and certainly Rhapsody are not easy to learn. reading a book and do a 2 day training is not nearly enough to become experienced. Not even beginner level can be reached. It requires a lot of effort and patience to become an expert there.
For all it is learning the process of MBSE. It is very different from just hacking source-code. These are the questions that you should ask yourself on different levels of the development process:

  • WHAT must be done
    • We take Use-Case diagrams for that. Add Sequence Diagrams and/or Activity Diagrams to explain the requirements. This is the base for the planning on what the system does.
  • WHO will do it
    • This is the domain of the architectural Diagrams such as Class, Object, Package, Structure, Component and Deployment Diagram. They define the architecture of the system.
  • HOW must we do it.
    • Here we use Statecharts and activity diagrams, also flow-charts. Here we define the behavior of the system.

Of course this is not Waterfall anymore, we are agile! So we will iteratively go through all these phases until we are done.
This means that just creating a class as placeholder for a statemachine and just adding a state to be able to respond to events is not the way to use MBSE.
Objects have states, the light is on or off. Objects also move between states and not only from inner to outer states.
The secret to finding out what states we have is to use many, many sequence diagrams. They will clear your mind and give you the information needed to define nice small statemachines that are understandable and re-usable!

So. That was it from India. I’ll be back!

Walter van der Heiden (wvdheiden@willert.de)

Deploy back

Introduction

The title is a bit double today, i was deployed back from india to home and I will explain how you can deploy to your Rhapsody project and not lose the “roundtrip” feature!

Deploy back Rhapsody

The purpose is to deploy and leave all files exactly where Rhapsody has generated them so that you are still able to do roundtripping.
It is not completely straightforward but certainly doable.

Assuming that you have a directory c:\work. In that you have 2 directories, Model and Code. The structure is as follows:

  • c:\Work
    • \Model
      • \MyModel
        • \MyComponent
          • \MyConfiguration
            • “This is where Rhapsody generates your code”
    • \Code
      • “This is where the project file for the IDE is
      • “Generated Model”
      • “RXF”
  • RXF install
    • Tools
      • WSTDeployer
        • WSTDeployyer.properties

The trick is to map the “Generated Model” directory to the “MyConfiguration” Directory. Depending on the age of your deployer this is very easy, easy or just a bit of work….

In some deployers you can edit the name of the “Generated Model” directory in the dialog. If not than there is a deployer.ini file in the RXF installation directory, you can change the name of the “Generated Model” directory to the name of MyConfiguration.

Then move the project file (or the complete project if you have already content in it) to the MyComponent directory, start the Deployer Configuration (In Rhapsody under “Tools”) and select the just moved project file.

That’s it.

Deploy back the traveling modeler

Now that turned out to be a lot more difficult… The planning was to fly home on Sunday Evening. Or technically on monday morning, the flight from Delhi to Paris would leave at 00:15 Delhi Time, 19:45 CET ) I had a late flight (19:30-21:50)  from Hyderabad to Delhi and so less than 1,5 hours for my stop-over. From the trip to India I had learned that this was not nearly enough.
At first I thought, well lets just see what happens but since I did not book the flight as a complete flight, missing the plane from Delhi (to Paris) would not be an option.
So I checked the goindigo.in website and I found out I had been clever enough to book a flight with rebook and cancel options. Yeah….
So I rescheduled that flight to be early enough (16:00-18:25) That would be more than enough.
So I left the hotel exactly at 12:00 (CET: 7:30 Sunday )packed and paid. On my way home! I took a Uber to the airport, that was almost an hour drive ( and almost €8.- )

There I tried to figure out where I had to be. That is not too easy, the airport did not make announcements and I was pretty early so my flight did not yet show up on the monitors. But I could check in my luggage (I had booked the Fast Forward Option, a good idea in India…) quite fast. I did not have to stand in line.
So I was there hours too early but hee… better than 1 minute too late…. Spend some time shopping for home, drinking a Mango Lassi, eating something.
The plane left in time and flew on-time. My suitcase was in-time, the bus was easy to find and even waited for me so I was on the correct airport terminal early. checked in my suitcase within an hour of landing…. So it is possible.
But I seriously doubt if that is reproducible, So i did not mind being early. What I did mind is that just before boarding time, Air France started to make announcements about delays.

The plane was delayed. For more than an hour. Not cool, my connection in Paris was only 1:20…. not too long.
The plane left too late but promised to make up for lost time. It was an old Airbus 330. Also no USB chargers and very limited seating room for a continental flight..
On top of that the two ladies in front of me immediately reclined their seats the moment the “Fasten your Seatbelts” light went of. Sigh.

Next to me sat an old lady, very friendly but she only spoke French. i do speak a little French but not nearly as much as English or German… This was going to be a long flight.
Normally (I’m used to KLM) on long flights, you first get a drink, then dinner, with drinks and another drink or coffee after dinner. Then the lights go out and you can sleep (if you like) Air France pushed out drinks together with the food as fast as possible.
The ladies in front of me continued “sleeping” and did not eat. And refused to put her chair back. So I had about 30cm for my food. Thanks!
I managed to eat and drink that without accidents and noticed that there was not going to be anything more to drink or eat.
The ladies in front of me thought that this was the right time to change their minds and to order food and drinks. Thanks!
Chairs were kept in the sleep position, of course.
I got my earplugs and my face-mask and prepared to sleep. At take-off the family in the middle row, 2 rows before me already had trouble with their 3 kids but as soon as the lights went out the kids decided that it was time to start waking up the other passengers. Thanks!
The seats in the old A330 were clearly out-dated. So with a back that hurt, no sleep what so ever I ate my breakfast. The pilot had broken his promise and did not make up for the lost time so I would arrive an hour late in CDG, not really my favorite airport..
Flight attendants could not give much information, just that we landed on terminal 2F and that I had to go to 2E. Sounds close, but I know CDG, it is not close…
I gathered my luggage before the landing so I could run out of the plane fast, I even ignored the ladies in front of me and as soon as the plane was stopped I ran to the door. There I waited until it opened and I started my morning sport… I had less than 20 minutes but…. I made it! In spite of passport check and even a security check (WHY???) that cost me my water (grrr) I made it to the plane in time.
I crashed in my seat, luckily here there were some better tempered passengers, they had fun about me sweating and panting.
I didn’t care, I made it in time. I was pretty sure that my suit-case would not but I did not care. Air France would take care of that.

And then the pilot announced that we would have some delay because of the fog in the Netherlands… To make a long story short… that took 3,5 hours. Leaving the plane was not allowed (They would not let you in again…. many passengers with connecting flights left because they would not make their flights) so I stayed. There was water and a sandwich and finally we took off.
I arrived at Schiphol around . I thought: well there is a sunny side: My suitcase has made it now: not. CDG was not able to adapt. So I waited at the luggage belt for nothing. Then to KLM, report missing luggage, then the train home. I arrived home at 5:30pm, 32 hours after I left the hotel…

 

Happy modeling with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

 

Hyderabad

Indian Traffic

My destination was Hyderabad this time. Never been there before but I have been to India before. I really like india, nice people, beautiful country. The country is big (certainly compared to the Netherlands…) and the amount of people is huge (1.3 Billion!)
The traffic is just amazing. In Europe we mostly drive on the right side of the road, in the UK they drive on the left side and in India they drive wherever there is place…

The first time i was in India I was picked up at the airport in Mumbai (Bombay) for a taxi-drive to Pune, a 160 kilometer drive that took almost 4 hours.
The first half hour I spent saying goodbye to my life. I was pretty sure I would not survive the drive. After a while, however, you figure out the (actually very simple) rules of driving in India.

  • What’s behind you is not important. It’s their problem, not yours.
  • Honk at least once a minute. (Otherwise your car will explode, I think)
  • use every free space on the road.
  • use all available room next to a road as well.
  • You have priority if you are there first.
  • don’t be aggressive or mad, the others know what they are doing.

That’s about it. The last one is important. Most drivers know pretty well what they are doing. “But India has the highest mortality rate in traffic” i hear you say. Yes true. But that happens only outside of the city. In the city you just cannot drive fast enough to die in an accident.
In the same way you can cross the very busy streets. Have confidence in the others, they will see you and decide which side they will pass you. So just cross the street and don’t hesitate.

Indian Food

The main reason I really like to go to india is the food. Indian food is really awesome. Spicy and very different from our european food. I found out that Hyderabad is famous for its Biryani and that they eat spicier than in the rest of India.
I don’t mind, i’m used to eating quite spicy.
In India they also eat in a special way: with the hand. Only the right hand, the other hand is used for “other purposes” (Do the math…) That is a bit difficult being a lefty but I managed. Yes I ate with my hands as well. When in Rome, do as the Romans.

Deployer

I learned that the system of “Generate Code, Generate RXF files, Deploy, switch to IDE, compile” is still difficult for people to understand.

if you follow the IBM way of creating an adapter for Rhapsody, you generate code in Rhapsody, that will also generate a makefile and you build from Rhapsody. As already said, we decided to do this differently because:

  • command-line length in Windows. Large Applications cannot be built like this
  • too many settings and extra files you need for embedded targets

So we use a different approach.

  • Generate
    Still generates Code from the Rhapsody model
  • Build
    Does not really build but generates the RXF include files that provide the static settings for e.g. the Memory Blocks etc.
  • Deploy
    Depending on the version of the RXF, we have called deploy in the “run” phase but now we call that mostly in the “Build” phase.
    It takes your Rhapsody generated sources (And the RXF includes _and_ the complete RXF and inserts them in a prepared IDE project.
  • Switch to your IDE
    Windows TAB, your IDE will probably show you that files have changed
  • Compile
    Use your IDE to compile. And Debug.

What you lose in this way is the roundtripping, unless… you select the Rhapsody Generated Source Directory as Home for your IDE Project.

Common misunderstandings/problems:

  • using Tools, <RXF> Deployer Configuration only configures the deployer. It does NOT deploy!
  • You have to prepare your IDE project. We deliver the “Getting Started” project (And a backup) that works. Your own project must include some things like “RXF” and “Generated Source” Folders. Check your Documentation.
  • If you have made changes to your IDE project: SAVE!!!! Deploy will use the IDE settings on the disk and will also overwrite your changes…
  • Clean up your old Rhapsody sources in Rhapsody (Code, Clear Redundant Source Files) to prevent them from being deployed.

I hope this helps you in understanding the RXF!

Back to India

 

OK, that’s it, have fun with Rhapsody and the RXF!

Walter van der Heiden (wvdheiden@willert.de)

Incredible India

Recently I visited India for a 10 days. In Hyderabad to be precise. So after arriving at home Friday night after a week of training in Bückeburg I had to unpack and re-pack my bags. Saturday morning early my KLM plane for Delhi would leave from Schiphol.
It was an old 747, I haven’t flown a 747 since a long time, i didn’t even know that they were still in use. But I saw a couple of them so KLM is still using them, On the inside you could clearly see that the 747 is a bit old. No USB chargers, I tried to operate the miniature inflight entertainment screen (That was not much larger than my iPhone) and just before i started to get annoyed because it wouldn’t accept my inputs I realized it wasn’t a touch-screen… The rest was also outdated but…. still OK. The plane left a bit before 13:00u (1pm) and would arrive 7,5 hours later in New Delhi. Too early to sleep, but I had a connecting flight with a long stop-over so I thought I could find some other time to sleep a bit.

I had an Economy plus seat, a bit more room and… luck because the middle seat stayed empty. You could choose between Indian food and Western food. Easy choice… for me. Nice detail: all the food on the flight was vegetarian! And very, very good… I tried a nap after the lunch but i was not tired enough. So after almost 8 hours we landed on Indira Gandhi International Airport in New Delhi.

I got out pretty early, just after the Business Class and I was in line for the customs early. Unfortunately, KLM had forgotten to supply us with the visa papers… so I had to go back and fill it in and then line up behind the rest of the plane… Took quite a while but in the end they let me in. I’ve been to India before, last time it took me 2 days at the embassy in The Hague to get a Visum, the online Visum is a huge improvement.

After that searching for my suitcase (I had a big case with Training Material) and after I finally found that I went to an exchange shop to change some euro’s into Rupees. A bit of cash money is always convenient. I brought some (Well.. actually a lot…) from my last visit but India decided to use new banknotes and make the old ones invalid. Thanks India!
I had 4,5 hours for my stopover so I was very relaxed, going to the last check at the customs, bought myself a SIM-card so I could use Mobile Data in India (My mobile plan covers much but it does not cover India…) and then I started searching for the place where I could check-in my luggage for the flight with IndiGo Airway… That turned out to be in the domestic terminal. And that was on an airport with the same name but that name was also used for an older airport on the other side of Delhi… So I had to cross the airport to the shuttle terminal and drag my stuff into an old bus together with 50 other people with too many suitcases and other luggage. I managed to get a ticket and waited for the bus in the most air polluted place I’ve ever been. Half an hour equaled 10 packs of cigarettes. Yikes.

Slowly however… time ran out. The bus came and had to drive almost an hour… after arriving only 40 minutes would be left. If you have ever been to an airport in India you know that is not nearly enough… Luckily a nice Indian gentleman next to me in the bus understood my problem and helped me out. He arranged 2 guys on the airport that took my suitcases and led me through some “secret” airport elevators and hallways. They spoke with a lady behind the counter and I was the first one in a long, long line… Costed me EUR 10,- Not “compliant” I’m afraid but saved a lot more… With 1 minute left I made it to the bus to the plane.

At the plane it was time for a surprise, it was an Airbus A320neo. Almost brand new (although I read today that some of them are grounded due to Pratt&Whitney engine trouble) It took off precisely in time at 5am and flew to Hyderabad in just over 2 hours. The flight was more or less OK but I learned one more thing: Indian pilots fly just as Indian taxi drivers drive….

After 2 hours we were in Hyderabad. We tried landing twice and twice it made a fly-over. (According to the pilot “a completely safe maneuver “) Yes please….
After circling for an hour the plane accelerated and the pilot told us we would fly to Chennai. Cool, I did not expect to ever go there and before you know… But information was scarce and I did not really know what to expect. Directly after the landing and parking all other passengers stood up and started moving to the door and shouting through each other. Some guy from IndiGo got in the plane and mastered the chaos. He let he passengers out that had to be in Chennai anyway. We waited for 2 hours in the burning sun. We got a lunch box with chips and (Yeah!!) water. After 2 hours we took off again and an hour later we landed in Hyderabad.

After a non successful search for the hotel shuttle I gave up and took a taxi to the hotel where I arrived 24 hours after leaving home.

OK… this is a Rhapsody BLOG….

I have some news on Rhapsody as well. Some of it was written by Eike Römer on our Download Portal. I copied it here.

  • The 8.3 Version is now OK to use from our point of view with restrictions:
    • only with iFix 2 (all available on our Download Portal)
    • Beware if you use it for existing projects! Either your Version history is lost (or retained with much effort) or you have to meticulously save in the old format.
    • for new projects it is OK
  • The 64Bit version is also free to use! read here how you can update the frameworks.

 

Rhapsody 8.3 with the RXF Frameworks

Our existing Realtime eXecution Frameworks (RXF) available on the Willert Download Portal (https://download.willert.de/) can be used together with Rhapsody 8.3 iFix 2. However, RXF versions that have been tested and released with an earlier Rhapsody version than 8.1.5 need the applied JDK workaround documented on: https://download.willert.de/rhapsody-8-1-5-support/

RXF-Cert is Rhapsody Version Specific

RXF-Cert frameworks (prepared for safety critical software development certification) are an exception, as they have been documented, tested and prepared for certification for one specific Rhapsody version. Please contact us and discuss the Rhapsody upgrade path for your specific certification environment if you want to migrate to Rhapsody 8.3 iFix 2.

Rhapsody 32- vs. 64-Bit

Until today we highly recommended only installing Rhapsody in the 32-bit edition. The main reason was a limitation in features like roundtripping, reverse engineering etc.

With Rhapsody 8.3 iFix 2 this has changed. You may now also work with the 64-bit edition of Rhapsody. However the Willert Installer (Setup.exe as part of an RXF release) needed to learn how to handle Rhapsody 64-bit installations. All RXF releases after 2018-03-13 can handle Rhapsody 64-bit installations out-of-the-box. For older RXF releases you need to replace the old Setup.exe with the one you can download here:

https://download.willert.de/downloads/setup_2018-03_64bit/

 

That was it! happy modeling with Rhapsody

Walter van der Heiden (wvdheiden@willert.de)

 

© 2026 Rhapsody TechBlog

Theme by Anders NorenUp ↑