Cummins's experience in developing a software product line architecture for real-time embedded diesel engine controls

Over six years ago, Cummins Engine Company established a software product line for its real-time embedded diesel engine controls. The engine controls product line requirements domain is very complex. As the world’s largest manufacturer of diesel engines over 200 horsepower, Cummins makes engines for a large, world-wide variety of applications, customers, original equipment manufacturers (OEMs), engine sizes, and engine configurations. The software product line program slashed development costs and cycle time across these highly varying products and launched many successful products over the past four years. Over these years, Cummins has crossed many hurdles and gained a great deal of experience developing, documenting and maintaining a software product line architecture. This paper describes the experience. It focuses on the development process and covers topics such as domain analysis, architectural views, and use of the Software Engineering Institute (SEI) practices and literature to guide the development approach. Also described are the architecture development process, the organizational challenges faced, and the lessons learned.