Developing medical technology devices in a short time at the required quality and with a high level of reusable hardware and software platforms. To achieve this goal, Hamilton Medical relies on Model Driven Development (MDD) with Rational Rhapsody® from IBM – including code generation. A conversation with Andreas Anderegg and Eduard Bleisch in Software Engineering.
Hamilton Medical AG is headquartered in Bonaduz, Switzerland, and is a leading provider of high-quality, innovative ventilators for use in intensive care. Technologically demanding products are developed by about 30 R&D employees – half of them in the software area – all in Switzerland. The products reduce treatment costs and feature easy operation, comprehensive functionality, and impressive therapy results. Since the required time to market for new product launches could no longer be met with existing methods and tools, Hamilton Medical decided to introduce a platform strategy and to unify the development environment. At the same time a decision was made to implement Model Driven Development with Rational Rhapsody® and C++.
“Important factors in the decision for Rational Rhapsody® were its focus on embedded and real-time as well as the possibility of performing simulations on the target system,” says Andreas Anderegg. At the same time, he points out that Rational Rhapsody® has a proven track record that goes back many years and is more intuitive than comparable products. Automatic generation of slim code was another major point in favor of the solution.
To ensure an efficient introduction into the new development environment, all team members participated in initial trainings – OO analysis and design, Rhapsody® essential tool training, and where necessary, C++. The initial project was started in the software department with only one person.
In the first phase of the project, an external coach was available to assist the core team at regular intervals. This provided a way to work through questions and problems related to the tool, system design, and the structure of the basic system and to develop approaches to solutions. As the project progressed, more people became involved until the team reached the size of seven employees today. New team members were also trained according to their needs. The first product developed with Rational Rhapsody® was launched at the end of 2008 – the HAMILTON-C2.
According to Andreas Anderegg, one of the most important areas of progress was developing and using reusable hardware and software components as well as software and graphics libraries. “We are aiming at a development time of less than a year for our next prototypes, which amounts to a reduction of about 50%. Of course we also anticipate cutting costs as a result.”
Fewer errors in software development can be assigned to modeling and execution of models, adds Eduard Bleisch. Consistent documentation with UML for analysis, design, and the direct association of design and code, as well as better encapsulation of C++ were also stated as having a positive effect on quality.
“Thanks to graphical representation of processes and states and being able to execute them, we now have a significantly improved basis for discussion. It’s also easier for new employees to get going – provided they have some basic understanding of UML and Rhapsody®,” adds Andreas Anderegg. Maintaining the product has also become simpler. On the other hand, maintenance overhead for keeping the tool and development platform integration should not be underestimated. Patches for solving tool problems would be welcomed features, since it is not always possible to integrate a new tool release and doing so in any case involves time and money – especially during the certification phase.
“The initial effort was greater than we had thought,” adds Andreas Anderegg. He recommends choosing an initial project that is relatively straightforward. “To have enough time to transfer know-how and for internal coaching, at least two people with experience in object orientation and UML should be involved from the beginning.” Eduard Bleisch adds that regular, goal-oriented training in tools and methods are very important to meet the expectations.
“Rational Rhapsody® offers a range of functionalities that we have not been able to make use of yet. That includes simulation between multiple processes or integrated testing on the model level, for example.” To further improve development productivity, the team would like to address these areas in subsequent projects.
x86, PPC, various 8 / 16 Bit μController
|Before Project||After Project|
|UML||None, SA/SD||Rhapsody Developer|
|IDE||WindRiver Workbench||WindRiver Workbench|
|RTOS||WindRiver VxWorks||WindRiver VxWorks|
|Target Platform||x86, PPC, various 8 / 16 Bit μController||PPC|