The Boston Embedded Systems Conference isnearly upon us. It's September 18 to 21. Expect 10,000 of your fellowdevelopers, oodles of new products on display, and tons of conferencesessions.
There are so many of these sessions that the Conference has decidedto organize them into a number of tracks. I'm the chair for fivetracks, and wanted to share a little about each of them.
The Real-Time Development track is probably the most uniquely-embedded aspect of the conference.Nothing here scales to the IT business. These papers are all about themicroseconds. Surveys show that about 70% of us use a real-time OS inour embedded applications. But do you really know what's going on underthe RTOS's hood? How does one select a scheduler? Even if you're notusing an operating system, real-time issues are always a concern. Needto time-optimize your C++ code? Want better ways to profile and reduceCPU loading? The classes in this track are for the developer interestedin engineering approaches to managing time in embedded applications.
Jean Labrosse will be back with his always popular talks about using an RTOS . I'm hoping to sit inon Rob Oshana's and Dan Sak's classes on reducing runtime overhead.Bruce Powel Douglass will present about designing safety-critical systems ,a subject grouped here because these applications are usuallyreal-time, and are truly embedded. Few if any IT projects will kill ifthe software fails.
In my opinion nearly every firmware developer faces tremendouschallenges balancing performance issues. These classes address subjectsthat are an indispensable part of the embedded toolkit.
Firmware development is agigantic field that encompasses all sorts of disciplines, challengesand novel opportunities. In the Software Development track we present anumber of classes that give practical, immediately-useful suggestionsto help you get working code out faster. For instance, Java is on thehorizon ” do you need to get up to speed in it? Michel de Champlain'salways popular Java Jumpstart is a full-day tutorial designed to takeyou from no knowledge of Java to being a capable user of that language.Surveys show that while Java has a relatively small part of theembedded space, it's relentlessly growing every year.
One of my perennial frustrations with this industry (and software ingeneral) is that we start debugging when a bug appears. That's like notbrushing your teeth and going to the dentist to repair a constantseries of cavities. Bugs Will Happen. Wise developers seed theirprograms with debugging constructs to catch these pesky (and expensive)problems early. So my talk about Designby Contract in C is about a subject that I'm passionate about.Bertrand Meyer's DBC has caught hold in some segments of the softwareindustry, and it's time for firmware people to embrace it as well.
Must your code be reliable? If the answer is no, you're one of thelucky few. All firmware must be reliable if we want to delightour customers. The fact that every three year old knows to resetanything electronic if it acts oddly is a testament to the poor stateof the art in this industry. Steve Rakitin's new “Software Reliability Basics for EmbeddedSystems ” and Brian Schmidt's “SoftwareFault Tree Analysis ” classes promise to be fascinating andpacked with useful information for those interested in safer, morereliable code. I'm working on soliciting more of this sort of materialfor future conferences, since this subject will grow in importance.
Ten years ago Linux was barely on anyone's radar screen. Five yearsago it had no impact on embedded systems. Today 45% of 32 bit designsincorporate Linux, but the learning curve is steep. Companies continueto say “just toss Linux in, after all, it's free.” Free, maybe. Hard,for sure. Linux supporter Cygnus (since absorbed by Red Hat) used tosay “we make free software affordable.”
Classes in the Linux trackwill teach you how to select a distribution, and how to get Linuxrunning in your environment using the GNU toolchain. Bill Gatliff,probably one of the world's experts at using Linux in the embeddedenvironment, is giving five classes, including a full-day embeddedLinux jumpstart that's essential for anyone planning to transition tothis OS. He's offering a class about dealing with the nuances of opensource licenses (including the new GPL3) from a developer'sperspective, complemented by one from Edmund Walsh aimed more at thebosses who must make intelligent selection decisions. Edmund is an IPlawyer, not an engineer. I always advise companies to get counsel whenembedding OSS to avoid debacles like the one faced by Linksys when theywere outed for allegedly violating the GPL.
Both Bill and Michael Anderson will offer classes about debuggingembedded Linux applications, and Robert Day's 60 minute Shop Talk willbe a lively discussion about using Eclipse as the basis for atoolchain.
Debugging and test are hard. Inadequate strategies have led tonumerous disasters like the $500m Ariane failure. Worse, test gets leftto the project's end, so is the first thing trimmed in the desperaterace to ship. It's insane, but common. Classes in the Debugging, Verification, and Test track present alternatives and offer practical how-to demonstrations about different tools and techniques.
Dave Stewart (a hugely popular speaker) will dig deep into using alogic analyzer to find the really hard bugs. This class is essential,especially for folks just coming into the field.
I'm excited about David Kalinsky's class about static code analysis.A few companies, some of whom will be exhibiting at the show, offerstatic analyzers that deconstruct source files into graphs to findexecution-time bugs without executing the code. It's astonishing whatthese tools do find. There's little doubt in my mind that thistechnology is going to be critical in the future. After all, what wewant is a program that scans the source for bugs, and these are alreadya first approximation to that.
The agile methods movement has a lot of interesting things to say.One of the most important, in my opinion, is to focus early andconstantly on test, rather than leaving it till the end. James Grenningwill talk about Test-DrivenDevelopment , an agile method that integrates test and coding,and Brian Cruickshank's “KeepingAgile: Test-centric Software Development ” will offer anotheragile view of the subject.
The entire conference program is on-line.If you're attending, please stop me and say “hello!”
Jack G. Ganssle is a lecturer and consultant on embeddeddevelopment issues. He conducts seminars on embedded systems and helpscompanies with their embedded challenges. Contact him at . His website is .
Register here for ESC Boston track classes. The conference will be held September 18 to 21 at the Hynes Convention Center, Boston, MA. If you can't attend ESC Boston and are interested in these tracks, you can download track presentations for a fee from Embedded on Demand after the show.