Ten million lines in 29 months:
model-driven development on the Chevy Volt
4/12/2011 11:45 AM EDT
IBM VP Meg Selfe describes the model-driven development that created the 10 million lines of code for the Chevy Volt.
One vital aspect of hybrid vehicles such as the Chevrolet Volt is easy for the non-technical public to overlook: these cars are massive embedded design projects. Perhaps no one outside the design team itself is more aware of this fact than IBM Vice President for Embedded and Complex Systems Meg Selfe. At the center of IBM’s effort to create an integrated, model-driven methodology for the Volt project—and herself a former GM powertrain engineer—the IBM executive had an insider’s viewing stand for what may be the auto industry’s most complex embedded software undertaking ever.
“I thought of fighter aircraft as complex software projects at four to six million lines of code,” Selfe related. “But the Volt has ten million lines. Our challenge was to join Chevrolet’s vehicle development program and incorporate new technology that would make the massive scale of the program manageable. We joined, Chevrolet engineers adopted a new methodology, and they created the code for the Volt in 29 months.”
Selfe points to a number of key changes that made this feat possible. “We brought tools, processes, and methodology from systems engineering into embedded design,” Selfe said. Interestingly, one of the results of this importation is often simplicity: fewer tools, and a single collaborative process in place of many tools and many loosely-coupled parallel processes. “One other client we’ve worked with had literally 1,000 different tools,” Selfe added.
The IBM approach begins long before development starts, Selfe explained, with requirements management—fundamental to design and test traceability. Next, the methodology encourages early modeling at abstract levels—in effect, moving from requirements to behavioral prototypes, and learning early in the flow how the proposed system will actually function when assembled and confronted with the real world.
This modeling activity then drives everything that happens down-stream: partitioning, implementation, and test. Not only does the model-driven flow assist with tracing hardware, code, and test elements back to specific requirements, but it enhances reuse. “Efficiency means the design team can focus on engineering, not on the process,” Selfe said.
The benefits of early modeling and model-driven design and test seem well-established over many years of system designs in the military and aerospace industries, where the practices are entrenched and often mandated. But even with proven success the methodology has been slow to spread into other parts of the embedded world. Design managers are always conservative in changing methodology, and perhaps they experience a bit of denial as their projects grow to a level of complexity where their existing approach begins to break down. And individual engineers rarely have the time to experiment with methodology changes, even between projects. “You are bumping up against a design culture,” Selfe said.
The executive explained that to enable this deep a change, IBM has used a multi-level approach that tends to lead with the technical. “You have to talk with individual designers to get to mutual understanding,” Selfe said. “Then you can start talking with executives about changing business processes–this does reach into business processes. Integration has to take place not just within, but outside your walls.”
Meg Selfe will discuss integrated, model-driven design and the Chevy Volt in her Day-2 keynote address on May 4, 2011, at Embedded Systems Conference Silicon Valley.
Ron Wilson is the editorial director of design publications at UBM Electronics, including EDN, ESD magazine, Embedded.com, the Embedded Systems Conferences, and EE Times’ DesignLines.You may reach him at [email protected]