For novel ideas about building embedded systems (both hardware and firmware), join the 40,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
Is anyone using UML?
Though I often hear that question, perhaps a better formulation is: "Is anyone other than well-funded pioneers like NASA using UML to auto-generate code?" For the dream of model driven design is to layer a new level of abstraction between the developer and the machine. Design the model, press the "generate code" button, and smart tools build your system.
It's a heck of a dream. But what's the current reality?
Recently events have provided some useful data. This year Telelogic acquired iLogix, which sells UML tools to the embedded space, and in doing so provided a glimpse into the privately-held company's books. Last year iLogix did some $27m in sales earning an 11% pre-tax profit.
Of course, some of that $27m comes from non-tool sales like training. Those numbers aren't published, but it's hard to imagine a successful company that sells more training on their products than products themselves. So let's guess iLogix sold $20m worth of tools.
Squirrelly salesmen who won't answer a direct question without first getting your entire DNA code into their database make it hard to know what the tools sell for, but a guess of $10,000 a seat is probably not entirely unreasonable. That's some 2,000 seats in a single year.
It's believed that there are some 225,000 firmware developers in the world. Therefore something like 1% of them bought an iLogix tool last year. Though that's a tiny number, the cumulative purchases over a number of years is impressive.
iLogix is hardly the only MDA vendor around. The biggest is probably IBM, though they don't focus on the embedded space. Artisan, MathWorks, and others all offer products. A Venture Development report ("The Embedded Software Strategic Market Intelligence Program 2005") pegs MDA sales from IBM and MathWorks together at 13 times that of iLogix in this market.
I recently did a survey in which roughly 5% of the 659 respondents reported automatically generating code from their UML designs. But most interestingly, there was no correlation by industry. Developers working in automotive, aerospace, telecom and more all use these tools. UML use isn't limited to a few well-funded pioneering organizations that can afford failed projects.
Such surveys and studies are notoriously unreliable. But they paint a picture, one that suggests many of our colleagues are indeed busily using UML and other modeling languages to build embedded systems.
Are you deep into UML? Is it working well for your company? How are the tools?