11 October 2010

Build, buy or open source?

  • John Carbone, Express Logic
  • embedded software development
  • Jim Douglas, Wind River
  • Dave Kleidermacher, Green  Hills Software
  • Yi Zheng, QNX Software

As software takes the lion's share of project time, which option should developers take?

As mcus become more capable, particularly with the appearance of multicore devices, less functionality needs to be implemented in discrete hardware. The flip side of this is that more capable hardware often brings an increase in software complexity. Because of this, today's projects can see software representing 70% of the development effort; not long ago, that would have been 70% hardware.
Software development has long been regarded as a time consuming element, so with time to market an important factor, what is the best starting point for embedded software development today: build, buy or open source?
With design complexity increasing, what proportion of the product development process is now software? John Carbone, vice president of marketing for Express Logic, said: "Our customers tell us that up to 75% of a product's development is now software. This represents a significant shift from just a few years ago." David Kleidermacher, Green Hill Software's cto, said software can represent up to 90% of some projects. Meanwhile, Yi Zheng, product manager with QNX Software Systems, pointed out: "A large percentage of our customers do not develop, or no longer develop, their own hardware. Typically, they choose their hardware at the beginning of a project and focus mainly on software. This is a cost effective approach, supported by a highly consolidated and fiercely competitive hardware market."
How has the embedded software development task changed? Carbone said embedded software developers today use more highly integrated hardware, rather than trying to implement all of a product's functions themselves. "Overall, new software development tools enable increased productivity," he said, "and commercial rtos and middleware offerings, coupled with highly integrated mcus, save software developers huge amounts of time in getting new products to market."
Kleidermacher pointed out that greater software content/complexity has forced embedded designers to focus on how to optimise software development. "How to minimise software bugs early in the process, how to increase software reliability through process controls and how to minimise software integration time."
Robert Day, vp of marketing with LynuxWorks, added: "Embedded developers have to deal with the growing availability of multicore processors, which is changing the software development process to be more system orientated in its approach."
What has brought about this change? Zheng said several things came to mind. "First, rapid advances in hardware make it possible to support a sophisticated software system. Second, the pressure to lower the Bill of Materials through hardware consolidation is forcing developers to fit more and more functionality onto a single board or processor. And let's not forget customer expectations: customers invariably want more, not fewer, features."
Jim Douglas, senior vp of marketing with Wind River, noted: "Open source has changed the software development process. But it's not trivial to take a bunch of components and integrate them; you can't get, for example, open source carrier grade Linux."
Day added: "A major trend is the expectation that embedded systems of all kinds will be 'connected' – which adds extra complexity to the system, and increases the protection mechanisms required to ensure that devices remain secure from external tampering."
So what challenges does increased complexity mean for developers and for suppliers to the market alike?
"For developers," said Carbone, "the challenge is to select the best technology for the job: it is easy for them to be misled into using a product whose features or speed might not be relevant to the success of the product they are developing. In a sense, 'less' is often 'more' and developers should be careful not to get caught up in 'feature envy'. For suppliers, the challenge is providing developers with tools that actually help them reduce time to market, rather than simply making something faster or more functionally robust."
Douglas contended: "While multicore processors are being adopted, software isn't being written to take advantage of them. The big challenge for the industry is to help people to implement processes, educate them and get them to the point where they're productive. And tool providers should also be aggregators, building vertical solutions."
Kleidermacher: "Developers must embrace modern methods for managing software complexity, including new debugging techniques and new run time environments, in order to keep pace and prevent the software schedule from getting out of hand."
Zheng said software suppliers must decide which hardware to support, and to what extent. "At the same time, they must decide how long to keep supporting older hardware. Striking the right balance is a mixture of art, science, and experience: suppliers must understand what customers need today and anticipate what they will need in the future."
What are the relative benefits of building software, buying it in and accessing open source software?
Douglas: "Embedded mobile needs an OS, middleware and something for the application space. It's not all available from open source and therefore it will require integration. While we won't go back to the days of pure vertical integration, there are pieces of core technology needed to differentiate products."
Carbone believes building with open source software often makes software development more costly, error prone and slower to market. "Buying software offers faster time to market, portability to other hardware platforms, integrated components and the availability of support from the supplier. A proven solution with a strong track record of adoption and successful use can reduce risk of failure, just as using modern mcus saves time and reduces hardware cost."
Kleidermacher said it depends on many factors. "A small amount of open source code can be managed by a small set of developers. A large amount of open source code must be managed by an exponentially larger team.
Also, there are varying levels of software quality, varying levels of licensing/IP concerns and varying levels of technical support. In short, the decision to incorporate open source software into an end product must not be taken lightly. That being said, open source has the potential to bring dramatic gains in functionality relative to cost and time to market, if incorporated properly."
Day claimed building software will always have a place: "Without it, there is no differentiation. Using open source is often a cost driven decision; you don't have to pay for the software, but you will have to pay to support and modify it. Whether or not the economics are attractive really does vary on a case by case basis."
Final thoughts from the experts? Carbone: "Follow best practices related to the selection of the tools and solutions. By avoiding the 'reinvent the wheel' process associated with DIY software, developers can eliminate large elements of project time and open up more time for the addition of differentiating features."
Kleidermacher: "Bring in the experts; it's really as simple as that."
Day: "Alongside 'don't reinvent the wheel', I'd like to inscribe the words 'don't lock yourself in' on every embedded developer's screen saver."
Zheng: "Choose your hardware prudently; 'bleeding edge' may not be the best option. And focus on good software design practice."
Douglas: "Set up your process so you have a scalable system that meets customer expectations."

Author
Graham Pitcher

Supporting Information

Downloads
28415\P23-24.pdf

Websites
http://www.ghs.com
http://www.lynuxworks.com
http://www.qnx.com
http://www.rtos.com
http://www.windriver.com

Companies
Express Logic Inc
Green Hills Software Ltd
Lynuxworks Inc
QNX Software Systems Ltd
Wind River UK Ltd

This material is protected by Findlay Media copyright
See Terms and Conditions.
One-off usage is permitted but bulk copying is not.
For multiple copies contact the sales team.

Do you have any comments about this article?

Add your comments

Name
 
Email
 
Comments
 

Your comments/feedback may be edited prior to publishing. Not all entries will be published.
Please view our Terms and Conditions before leaving a comment.

 

Related Articles

AMD launches R series

AMD has extended its embedded systems product range with the announcement of ...

MIPS unveils three cpu cores

Microprocessor core developer MIPS Technologies has launched the Aptiv ...

Toshiba launches starter kit

Toshiba has announced an evaluation and development platform for embedded ...

Efficient GPGPU programming

Today's graphics processors are highly programmable, massively parallel compute ...

Putting a trace on bugs

When developers start a new microprocessor based project, they are faced with a ...

Embedded Power roundtable

While power supply design is becoming increasingly important, knowledge is ...

High speed board design

Istvan Nagy, electronics design engineer at Blue Chip Technology, a leading UK ...

Software development paper

The white paper illustrates, by way of a practical example, how a modular ...

Cross platform middleware

The 2nd generation Intel Core processor family brings huge improvements in ...

Embedded World: Mitsubishi unv

Mitsubishi Electric has announced new 8.4in SVGA (AA084SC01), 10.4in SVGA ...

Embedded World: Mitsubishi

Mitsubishi Electric is launching new 8.4in VGA and 10.4in VGA colour TFT lcd ...

Embedded World: Rutronik

Rutronik will be presenting application specific solutions for the lighting, ...

Engineering Design Show 2012

10th-11th October 2012, Jaguar Exhibition Hall, Ricoh Arena, Coventry, UK

Android 4.0 Ice Cream Sandwich

Are you ready to get started with the Android operating system's latest ...

Ask the Expert: Henry Wiechman

How is Code Composer Studio integrated development environment (IDE) v5 ...

Ask the Expert: Henry Wiechman

What is TI's StarterWare software suite, and how does it make TI's ARM® ...

FPGA market developments

The programmable logic market is notable not only for its products, but also ...

Software developers' lives

A friend once asked me what software developers do when they're not creating ...

Design reuse

It's become a cliché in news or science reports. A water treatment plant ...

Cyrille Comar, AdaCore Europe

Cyrille Comar, co founder and managing director of AdaCore Europe, speaks to ...

Aurelius Wosylus, AMD

Chris Shaw discusses AMD's latest low power processors with Aurelius Wosylus.

Rick Clemmer, ceo, NXP

Rick Clemmer believes high performance mixed signal is just one of the sectors ...