views:

127

answers:

4

I believe there has been some up-take of model-driven development / engineering (aka OMGs model driven architecture) in the real-time and embedded software development sectors. What tools and tool vendors have people had experience with?

Google gives me lots of academic papers and a vendor or two (IBMs Rational Rose Technical Developer and VisSim).

Additionally, any information on model format (UML?), target languages/environments for the platform specific models (C? RTOSs?), and testing (logic-based?) would be greatly appreciated.

+6  A: 

We have used Enterprise Architect and IBM Software - Rational Rhapsody. We have used the build in code generation engine and our own code generation engine that generate code suitable to Do178B qualification. With Rational Rhapsody we targeted VX Works as well as our own OS. These tools uses UML models. Since it generates code you can do unit testing with what ever you used to tools that provide integration into these tools.

Scade is also a option if you write safety critical software. Some of the other divisions in our company has used this successfully. It is very logic orientated so it is not able to do everything but it can generate up to 70% of the code for some projects. Using a qualified tool eliminates most of the testing. It has an model verification tool and if the model is correct then code is correct. It integrates in requirement and configuration management tools.

For non safety critical development by experienced developers it is difficult to say if using model driven development will provide you with any saving. It is worth trying, as technology matures and more developers get used to model based development, we will see a lot more of this in the embedded environment.

Gerhard
A: 

I have used MS Visio for drawings only; no code generation. Just starting to look at Enterprise Architect, and this is looking promising.

simon
+1  A: 

Others in our company have used Simulink/Stateflow for design modelling in an automotive environment. Not for auto code generation I think, but for running the model on the PC.

NI LabVIEW is another possibility. We've only used it in a PC-based automated testing system, but it can also be used for model-based design.

Both these systems can generate code, but we don't have much experience with that so far. Even without using code generation, model-based design has several advantages to help the high-level and mid-level design process and design documentation. Code generation is something we could consider in future.

Craig McQueen
A: 

If you want to model a state machine you could do worse than try visualState from IAR Systems (the embedded compiler company).

mikelong