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

Category: Rhapsody (Page 7 of 14)

Paris, Pense!

Salut!

Just back from Munich I was one day at home to switch my suitcase and get prepared for the next trip. This time a bit longer and further away but the start was in Paris.

I had to go to France anyway so I combined the visit with a visit to the Louvre. No not the museum, IBM organized the IBM Think! Conference there.

This was a cool conference, the only problem is that everybody spoke French and all the presentations (but one) were in French.

My French is not as sophisticatedly my German and English, unfortunately… but I managed. There were 2 presentations with fast and unclear speaking people where I really struggled to understand what they were telling, but most was understandable.

The one presentation that was in English was also the coolest (by far…) :

INFRASTRUCTURES ET PERFORMANCES
Aston Martin Red Bull Racing – Brian Jones, Head of Software Development

I think that at least 2/3 of the audience left the room, because it was in English…. Their bad because Brian had a cool story to tell about using big data in formula 1 to achieve an advantage on the competition. Very very interesting, thanks Brian!

At night there was time left to visit the Mondial, the Paris Auto Salon. A nice view on the new cars of today and new technology, very cool!

AUTOSAR

This was a nice “bridge” to the subject of today. The use of Rhapsody in an Automotive environment. We at Sodius and Willert are working very hard at creating solutions that will support automotive engineers to do their complex jobs as good and right as possible.

That is not easy, many OEMs and TIERx companies have very well defined processes and always a high degree of time pressure that makes it difficult for them to change anything in their daily work.

As Henry Ford already said: If I had asked my customers what they wanted they would have said: “A faster horse”. So you can ask your customer (and you should surely do that!) but you have to define your won way at least partly and then convince customers that your way is the better way.

Since using Rhapsody with Code Generation will already change a lot in the daily routine of everybody but certainly in that of the automotive engineer who already has defined run-time systems (that mostly use periodic tasks) The Rhapsody generated code assumes a preemptive OS that allows you to send and receive events and react to them if they appear, and sleep when there is nothing to do. This is a fundamentally different approach then the MatLab approach that even uses “polled” state machines.

This kind of programming is also much closer to the human way of thinking. Many people consider a polling, or synchronous, system to be more deterministic than an asynchronous system. It is not, asynchronous systems are much more scalable and run without collision much longer than synchronous systems. They also fit better in Object Oriented Designs.

Many Automotive systems are only doable when using synchronous systems. All Control Loops work way better and simpler when you do them in Simulink. But there are lots of systems that are asynchronous. Think about everything that is under direct user control, indicator, power windows, HVAC control panel etc. There is lots of asynchronous stuff in a car.

The more complex systems in cars use both synchronous and asynchronous components. The easiest and nearest way to solve them is by using MatLab. Now that tool really helps you to do the synchronous stuff and it also can do asynchronous stuff with no real penalty. So that prevents people from using UML for creating code in an automotive environment.

Now MatLab and its friends will not really help you to gain understanding and reducing of the complexity in new systems. UML/SysML will, they allow you to setup an understandable architecture. But the real benefit will come from using it to program the asynchronous parts of the application and use the code generation.

The funny thing is that most people do not want the code that is generated from a UML tool like Rhapsody but have no objection against code from a MatLab Simulink model.
It took me a while to figure out why but I think I understand that now. Simulink, used by a Systems Engineer generates just a bit of code that is the exact representation of the algorithm. Writing the code for that would be difficult, the formulas are mathematical things that everybody hates to remember and understand. To generate the code actually relieves you from a lot of extra knowledge.
Generating code from UML is not that easy, you need a lot of extra knowledge to apply that. So people do generally not like to use it.

Another big difference with MatLab is that Simulink Code is mostly used in continuous algorithms, the code is incomprehensible but the diagram is easy to understand. UML (and certainly Rhapsody) excel in discrete algorithms. There the diagrams are also relatively light to understand, as is the code, but the code needs some extra stuff around it to work. That is where people stop using it, it is just not straight forward.

So this is the big dilemma of the Sodius Willert developers, but I think we have some pretty good solutions to use mixed UML/Simulink/AUTOSAR environments. We have a very minimal framework that is easily to us inside an SWC, per ECU we only need one Framework, it can handle multiple instances. You can also import and export ARXML to be converted in stereotyped UML/SysML elements. We will present some solutions on several congresses in the next months.

We have experience in using UML in AUTOSAR environments, we have ASPICE experts on board, certainly in environments where certification is an issue (ASIL C or D) we have expertise and matching tools. And we can train you in using them!

SECollab

A nice opportunity to introduce the Sodius/Willert Tool SECollab (Systems Engineering Collaboration). This helps System Engineers to control all data that they use in their development process, they can make links to achieve traceability, use it for reviews (You don’t even need a license for the original tool to do that!) and derive documents for certification purposes.

SECollab is a server based solution, clients use Web Access, so no tiresome installation issues, just login on the website and access all information available (to you, of cours!)

Take a look at it, if you like it, contact me for a demo!

Happy modeling with Rhapsody (and SECollab!)

Walter van der Heiden (wvdheiden@willert.de)

Paris, Pense!

Salut!

Just back from Munich I was one day at home to switch my suitcase and get prepared for the next trip. This time a bit longer and further away but the start was in Paris.

I had to go to France anyway so I combined the visit with a visit to the Louvre. No not the museum, IBM organized the IBM Think! Conference there.

This was a cool conference, the only problem is that everybody spoke French and all the presentations (but one) were in French.

My French is not as sophisticatedly my German and English, unfortunately… but I managed. There were 2 presentations with fast and unclear speaking people where I really struggled to understand what they were telling, but most was understandable.

The one presentation that was in English was also the coolest (by far…) :

INFRASTRUCTURES ET PERFORMANCES
Aston Martin Red Bull Racing – Brian Jones, Head of Software Development

I think that at least 2/3 of the audience left the room, because it was in English…. Their bad because Brian had a cool story to tell about using big data in formula 1 to achieve an advantage on the competition. Very very interesting, thanks Brian!

At night there was time left to visit the Mondial, the Paris Auto Salon. A nice view on the new cars of today and new technology, very cool!

AUTOSAR

This was a nice “bridge” to the subject of today. The use of Rhapsody in an Automotive environment. We at Sodius and Willert are working very hard at creating solutions that will support automotive engineers to do their complex jobs as good and right as possible.

That is not easy, many OEMs and TIERx companies have very well defined processes and always a high degree of time pressure that makes it difficult for them to change anything in their daily work.

As Henry Ford already said: If I had asked my customers what they wanted they would have said: “A faster horse”. So you can ask your customer (and you should surely do that!) but you have to define your won way at least partly and then convince customers that your way is the better way.

Since using Rhapsody with Code Generation will already change a lot in the daily routine of everybody but certainly in that of the automotive engineer who already has defined run-time systems (that mostly use periodic tasks) The Rhapsody generated code assumes a preemptive OS that allows you to send and receive events and react to them if they appear, and sleep when there is nothing to do. This is a fundamentally different approach then the MatLab approach that even uses “polled” state machines.

This kind of programming is also much closer to the human way of thinking. Many people consider a polling, or synchronous, system to be more deterministic than an asynchronous system. It is not, asynchronous systems are much more scalable and run without collision much longer than synchronous systems. They also fit better in Object Oriented Designs.

Many Automotive systems are only doable when using synchronous systems. All Control Loops work way better and simpler when you do them in Simulink. But there are lots of systems that are asynchronous. Think about everything that is under direct user control, indicator, power windows, HVAC control panel etc. There is lots of asynchronous stuff in a car.

The more complex systems in cars use both synchronous and asynchronous components. The easiest and nearest way to solve them is by using MatLab. Now that tool really helps you to do the synchronous stuff and it also can do asynchronous stuff with no real penalty. So that prevents people from using UML for creating code in an automotive environment.

Now MatLab and its friends will not really help you to gain understanding and reducing of the complexity in new systems. UML/SysML will, they allow you to setup an understandable architecture. But the real benefit will come from using it to program the asynchronous parts of the application and use the code generation.

The funny thing is that most people do not want the code that is generated from a UML tool like Rhapsody but have no objection against code from a MatLab Simulink model.
It took me a while to figure out why but I think I understand that now. Simulink, used by a Systems Engineer generates just a bit of code that is the exact representation of the algorithm. Writing the code for that would be difficult, the formulas are mathematical things that everybody hates to remember and understand. To generate the code actually relieves you from a lot of extra knowledge.
Generating code from UML is not that easy, you need a lot of extra knowledge to apply that. So people do generally not like to use it.

Another big difference with MatLab is that Simulink Code is mostly used in continuous algorithms, the code is incomprehensible but the diagram is easy to understand. UML (and certainly Rhapsody) excel in discrete algorithms. There the diagrams are also relatively light to understand, as is the code, but the code needs some extra stuff around it to work. That is where people stop using it, it is just not straight forward.

So this is the big dilemma of the Sodius Willert developers, but I think we have some pretty good solutions to use mixed UML/Simulink/AUTOSAR environments. We have a very minimal framework that is easily to us inside an SWC, per ECU we only need one Framework, it can handle multiple instances. You can also import and export ARXML to be converted in stereotyped UML/SysML elements. We will present some solutions on several congresses in the next months.

We have experience in using UML in AUTOSAR environments, we have ASPICE experts on board, certainly in environments where certification is an issue (ASIL C or D) we have expertise and matching tools. And we can train you in using them!

SECollab

A nice opportunity to introduce the Sodius/Willert Tool SECollab (Systems Engineering Collaboration). This helps System Engineers to control all data that they use in their development process, they can make links to achieve traceability, use it for reviews (You don’t even need a license for the original tool to do that!) and derive documents for certification purposes.

SECollab is a server based solution, clients use Web Access, so no tiresome installation issues, just login on the website and access all information available (to you, of cours!)

Take a look at it, if you like it, contact me for a demo!

Happy modeling with Rhapsody (and SECollab!)

Walter van der Heiden (wvdheiden@willert.de)

Back in München

So. Sorry for the long break, it has been busy. Traveling soups up energy, the BLOG is the first to suffer.
I was in Munich during Oktoberfest, again like last year. I am not a big fan of large parties with hundreds of thousands of people. I like beer but I enjoy it more when it is quite.
But I was invited by IBM and there were enough people I know so I went there. First speak with IBM about their products and then Friday night on the way to the “Schützenzelt” to drink some beers.
For the people who are not familiar with the Oktoberfest, it is an ancient tradition in Munich where people celebrate the harvest of the hop, which is used to make beer….
It is not in October, at least not completely, it starts in September.

It has become world famous and now there are many visitors from around the world.

So. At IBM discussing their products… Yes but the selling of their products… not the technical details, will do that at another congress, later this year.
This was held in the beautiful IoT Tower, on the 21st floor wit ha stunning view over Munich.

Back to Rhapsody

The Willert Support Department had some interesting cases last weeks, unfortunately not much to write about, there was a very hard to trace installation bug that did apparently influence only 1% of the people, difficult to track but IBM has found it and it is solved.
There is an iFix3 for the latest Rhapsody 8.3.1, see the download portal for the Release Notes.

The RXF

The RXF V7 is also becoming more and more updates. The actual version is V7.03, it now includes CMSIS1&2, OO-RTX, FreeRTOS, embOS, Windows, Linux, COO-RTX. In planning are QNX and Cygwin.
Examples are available for the Keil LPC1700 Board but also for the Infineon XMC4500relaxKit
The RXF-Cert is under construction for C++, so there is a lot going on in the Willert Lab!

So. Short but powerfull!

Have fun modeling with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

Back in München

So. Sorry for the long break, it has been busy. Traveling soups up energy, the BLOG is the first to suffer.
I was in Munich during Oktoberfest, again like last year. I am not a big fan of large parties with hundreds of thousands of people. I like beer but I enjoy it more when it is quite.
But I was invited by IBM and there were enough people I know so I went there. First speak with IBM about their products and then Friday night on the way to the “Schützenzelt” to drink some beers.
For the people who are not familiar with the Oktoberfest, it is an ancient tradition in Munich where people celebrate the harvest of the hop, which is used to make beer….
It is not in October, at least not completely, it starts in September.

It has become world famous and now there are many visitors from around the world.

So. At IBM discussing their products… Yes but the selling of their products… not the technical details, will do that at another congress, later this year.
This was held in the beautiful IoT Tower, on the 21st floor wit ha stunning view over Munich.

Back to Rhapsody

The Willert Support Department had some interesting cases last weeks, unfortunately not much to write about, there was a very hard to trace installation bug that did apparently influence only 1% of the people, difficult to track but IBM has found it and it is solved.
There is an iFix3 for the latest Rhapsody 8.3.1, see the download portal for the Release Notes.

The RXF

The RXF V7 is also becoming more and more updates. The actual version is V7.03, it now includes CMSIS1&2, OO-RTX, FreeRTOS, embOS, Windows, Linux, COO-RTX. In planning are QNX and Cygwin.
Examples are available for the Keil LPC1700 Board but also for the Infineon XMC4500relaxKit
The RXF-Cert is under construction for C++, so there is a lot going on in the Willert Lab!

So. Short but powerfull!

Have fun modeling with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

Switzerland

On the Road again

This week started with a flight to Switzerland. On Saturday night to be precise, my plane left Sunday morning at 7 from Schiphol, I cannot make that in time. So I slept in a hotel near the airport.

It turned out to be a “sporty” day, the hotel Shuttle brought me to Terminal 3 while I had to be in terminal 1…. also the first shuttle left the hotel at 6, drive took 15 minutes, all quite “sporty” to be in time.

But I made it with some running and I still had time to buy a present for my hosts.

Switzerland is a beautiful country, the flight brought me to Geneva, first time I’ve been there. From there the train took me to Neuchâtel, a really beautiful city next to the lake. The problem for us “other Europeans” is that Switzerland is expensive. Really expensive. The simplest things costs about 3 times what they cost in Germany. I always joke that when you want to have dinner you first have to raise your mortgage.
a bit exaggerated but with a slight truth in there.

But, as already said, the country is beautiful so I decided to enjoy it and not mind the costs.

Unfortunately it was not just fun and vacation… i had to work as well. But it was quite successful, that helps!

This weeks Rhapsody problem was mostly trouble with license keys. Mostly when everything works, it will continue to work. But before it works… and when it stops working…
After installing Rhapsody you should install the license. There are multiple ways to have a license, Authorised User or Floating )or Tokens), File or Dongle, EUSIII, Developer, Designer or Architect.

Authorised or Floating

A floating license is installed on a server. It can be used by multiple people though not at the same time. The license file will have a line that points to the server.

An authorised license can only be used by one person. You can, of course, change this person when a project ends or somebody quits but not multiple times a day.

You can have a dongle license but then you still have a license file, one with the dongle ID in there.

You should keep a document (Excel Sheet) with the names of the persons that use certain licenses. (In fact you have to according to the license agreement)

If you want to use Rhapsody in a continuous build environment you have to have a floating license.

The Rhapsody version is determined in the license file (and you have to start the right version of course! I have written a lot about starting the right version, try: (Un-)Installing and Configuring Rhapsody or Installing Rhapsody

The license file must be in a place where Rhapsody looks for it. this is determined by an Environment Variable: TELELOGIC_LICENSE_FILE. This points to the path where the license lives. (Only the path if the license file is called license.lic, otherwise the complete path.

To make things a bit more complicated, flex-lm also looks in the registry where it stores all previous paths where it found a license.
There is a neat program that you can use to check if the license is found and if it is correct, it is called lmtools. use that to check if your flex-lm is OK.

The pictures

 

That was it! Happy modeling with Rhapsody

Walter van der Heiden ( wvdheiden@willert.de )

Reverse Engineering for Dummies

How to import external sources to an Rhapsody Model

Sometimes it is necessary  to use data-types and/or functions defined in header files given by an other developer. In this case the best way is to import these header files as external files to the working model. For external files no code is generated.

In the following article two models are mentioned. A working model with whom the application is developed and an import model to perform Reverse Engineering.

1 – Initial import

To import external sources to a Rhapsody model Reverse Engineering can be used. In the following steps the import process is described.

    1. Open Rhapsody (depending on the language of the given source files choose Rhapsodoy in C or Rhapsody in C++)
    2. Create a new project (the import model).
    3. Open Tools > Reverse Engineering
    4. Choose Logical Modelling

      image2018-9-10_15-46-7

    5. Browse to file which have to be imported and select them.
      image2018-9-10_15-49-12
    6. Click Next and set External elements and Single top level package.
      image2018-9-10_15-52-38
    7. Import files with Next  and Finish. After that you should get something like in the next figure

      image2018-9-10_16-1-0
      At the package icon the small yellow arrow shows that no code is generated for the content of this package.

    8. (Optional) If the sources are in C and should be used in an C++ model (the working model) the language of the unit has to be changed to C++. With a right click of the package open the context menu and choose Unit > Edit Unit… and open the following window.
      image2018-9-10_16-6-26
      Switch the language to C++ and click OK.
    9. Close the import model and open the working model in which the sources should be used.
    10. Choose  File > Add to model… and browse to the created package.
      image2018-9-10_16-14-15
      As options choose As Unit and Copy Into Model.
    11. Now the data-types and functions can be referenced in the working model. In the following picture some samples of usage are shown.

      Select return type

      or argument type

      image2018-9-10_16-23-9

      or with the shortcut Ctrl + Space in the implementation.

image2018-9-10_16-24-40


Attention

When executed again, other GUID are assigned to the data types and functions. As a result, they are no longer recognised in the working model and must be reassigned.
If changes occur to the imported sources, they must be manually added to the imported package.
To prevent accidental overwriting, it is recommended to delete the import model used for reverse engineering after importing the package into the working model  


2 – Add additional header files

If new header files has to be imported to the externalSources package proceed as follows:

  1. Open Rhapsody (depending on the language of the given source files choose Rhapsodoy in C or Rhapsody in C++)
  2. Create a new project (the import model).
  3. Open Tools > Reverse Engineering
  4. Choose Logical Modelling

    image2018-9-10_15-46-7
  5. Browse to file which have to be imported and select them.

    image2018-9-12_9-59-0
  6. Click Next and set External elements and Single top level package. Choose another package name (externalSources_new) than in the working model.

    image2018-9-12_10-2-12


  7.  Import files with Next  and Finish. After that you should get something like in the next figure.
    image2018-9-12_10-3-44At the package icon the small yellow arrow shows that no code is generated for the content of this package.
  8. (Optional) If the sources are in C and should be used in an C++ model (the working model) the language of the unit has to be changed to C++. With a right click of the package open the context menu and choose Unit > Edit Unit… and open the following window.
    image2018-9-12_10-5-34
    Switch the language to C++ and click OK.

     

  9. Close the import model and open the working model in which the sources should be used
  10. Choose  File > Add to model… and browse to the created package.
  11. Now the new file can be moved to the externalSources package. It is easier to handle only one external package.
    image2018-9-12_10-8-4
  12. After that you should get something like in the next figure.
    image2018-9-12_10-9-56
  13. Now the new file can be moved to the externalSources package. It is easier to handle only one external package.
  14. Following video shows step 9 to 13:
    [wpvideo aFGPYz13]

     

That was it! Thanks to Dennis Koelbel for creating this article and video!

Happy Modeling with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

(Un-)Installing and Configuring Rhapsody

Uninstall Rhapsody

Uninstalling is easy, when you know what to do…

[wpvideo 6icZXjQk]

Installing Rhapsody

This video tells you what options you have to install Rhapsody. It gives a proposal for the best way to do it.

[wpvideo icJnAjFR]

Configuring Rhapsody

And when installed, you have to know how to start the correct version. This video helps!

[wpvideo Bk3M0Y63]

So… that’s it for today

Have fun with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

(Un-)Installing and Configuring Rhapsody

Uninstall Rhapsody

Uninstalling is easy, when you know what to do…

[wpvideo 6icZXjQk]

Installing Rhapsody

This video tells you what options you have to install Rhapsody. It gives a proposal for the best way to do it.

[wpvideo icJnAjFR]

Configuring Rhapsody

And when installed, you have to know how to start the correct version. This video helps!

[wpvideo Bk3M0Y63]

So… that’s it for today

Have fun with Rhapsody!

Walter van der Heiden (wvdheiden@willert.de)

Da Boston Broker

Introduction

This week I’m in Boston at a customer that is starting a new project. I’m helping setting it up, setting up the model and the rest of the development environment.

In the beginning of our Rhapsody days, we were always happy to tell people we were the experts in “Systems with limited resources”. Now. in fact, we still are, just because we have a lot of experience in that area. I don’t think many people know how to handle the specific requirements of modeling in small 8- or 16bit systems with kilobytes of memory and microseconds to respond.

But slowly we have been growing with our customers and we also do larger systems. This week I helped setting up a “larger” system. This a “normal” PC with Linux on it, accompanied by a couple of other boards that do small tasks (and have smaller controllers!)

The use of Linux as operating system immediately introduced one big question: how are we going to implement a framework?
Linux has processes and threads. ( See BLOG entry ) Are we using a distributed framework? Or the normal framework with Threads?
Both have advantages and disadvantages. Distributed Framework is more difficult to implement but just threads will influence the way you can use your system and will not give you all the advantages of memory protection.

We decided to use both ways with a “simple” framework and use IPC to communicate. So we would actually use multiple applications that communicate with the use of the OS.
The trouble with IPC is always that you need some base information to start the communication. You can use a “zeroconf” system like Apple’s bonjour where every client starts and assumes it is the “Master” until it finds another client that already is the master. Or you create a Master that is known by all clients.

We have chosen the last variant. A Master-broker is in the system, waiting and listening on a fixed IPC Channel. Clients report to that Channel with their name and the Master sets up the communication. The client then opens up for its local clients to publish/subscribe that it will communicate with the Master-broker that registers all clients in the complete network. C++ makes a lot of this easier.

It was real fun to set this up. Most work was spend on setting up the development environment and describing how to use it. We use GIT and Sharepoint to do that.
The compiler/IDE is Eclipse in Ubuntu Linux, we deploy code to a shared directory with Windows. IPC on Linux is done with named pipes.

We spend some tie setting up the Rhapsody model so that the package structure was logical and ready for use by multiple people. The model will contain a lot of components that must be built separately. Luckily you can tell Rhapsody to “build all” (which will generate and deploy all in our case) Eclipse can also build a complete project with multiple executables. We also built some test tools to test the Broker setup.

This is what many people underestimate when starting to use MBSE. The UML Tool will not do that for you. It is a a UML Tool, UML is a language, not a process nor a development environment. It is very important to spend time setting that up and documenting it. Use a central documentation tool like Confluence, Sharepoint or MediaWiki, your success depends on it!

So… just work in Boston? Nope… in my 3rd Boston visit I finally had the time to visit “Cheers”, the bar of one of my favorite TV series.
I’ll end this one with a quote from Norm:

“Can I pour you a beer, Mr. Peterson?”
“A little early isn’t it, Woody?”
“For a beer?” “No, for stupid questions.”

“Cheers!” and Happy modeling with Rhapsody

Walter van der Heiden (wvdheiden@willert.de)

Da Boston Broker

Introduction

This week I’m in Boston at a customer that is starting a new project. I’m helping setting it up, setting up the model and the rest of the development environment.

In the beginning of our Rhapsody days, we were always happy to tell people we were the experts in “Systems with limited resources”. Now. in fact, we still are, just because we have a lot of experience in that area. I don’t think many people know how to handle the specific requirements of modeling in small 8- or 16bit systems with kilobytes of memory and microseconds to respond.

But slowly we have been growing with our customers and we also do larger systems. This week I helped setting up a “larger” system. This a “normal” PC with Linux on it, accompanied by a couple of other boards that do small tasks (and have smaller controllers!)

The use of Linux as operating system immediately introduced one big question: how are we going to implement a framework?
Linux has processes and threads. ( See BLOG entry ) Are we using a distributed framework? Or the normal framework with Threads?
Both have advantages and disadvantages. Distributed Framework is more difficult to implement but just threads will influence the way you can use your system and will not give you all the advantages of memory protection.

We decided to use both ways with a “simple” framework and use IPC to communicate. So we would actually use multiple applications that communicate with the use of the OS.
The trouble with IPC is always that you need some base information to start the communication. You can use a “zeroconf” system like Apple’s bonjour where every client starts and assumes it is the “Master” until it finds another client that already is the master. Or you create a Master that is known by all clients.

We have chosen the last variant. A Master-broker is in the system, waiting and listening on a fixed IPC Channel. Clients report to that Channel with their name and the Master sets up the communication. The client then opens up for its local clients to publish/subscribe that it will communicate with the Master-broker that registers all clients in the complete network. C++ makes a lot of this easier.

It was real fun to set this up. Most work was spend on setting up the development environment and describing how to use it. We use GIT and Sharepoint to do that.
The compiler/IDE is Eclipse in Ubuntu Linux, we deploy code to a shared directory with Windows. IPC on Linux is done with named pipes.

We spend some tie setting up the Rhapsody model so that the package structure was logical and ready for use by multiple people. The model will contain a lot of components that must be built separately. Luckily you can tell Rhapsody to “build all” (which will generate and deploy all in our case) Eclipse can also build a complete project with multiple executables. We also built some test tools to test the Broker setup.

This is what many people underestimate when starting to use MBSE. The UML Tool will not do that for you. It is a a UML Tool, UML is a language, not a process nor a development environment. It is very important to spend time setting that up and documenting it. Use a central documentation tool like Confluence, Sharepoint or MediaWiki, your success depends on it!

So… just work in Boston? Nope… in my 3rd Boston visit I finally had the time to visit “Cheers”, the bar of one of my favorite TV series.
I’ll end this one with a quote from Norm:

“Can I pour you a beer, Mr. Peterson?”
“A little early isn’t it, Woody?”
“For a beer?” “No, for stupid questions.”

“Cheers!” and Happy modeling with Rhapsody

Walter van der Heiden (wvdheiden@willert.de)

« Older posts Newer posts »

© 2025 Rhapsody TechBlog

Theme by Anders NorenUp ↑