NICTA mobilises open source with L4
- 30 May, 2006 17:14
Government funded research organization, National ICT Australia (NICTA), is demonstrating how its version of open source Iguana and the L4 microkernel work in embedded mobile platforms at its annual technology expo in Sydney on Wednesday.
The L4 Microkernel works with its own open source operating system Iguana, which is specifically designed as a base for use in embedded systems.
Late last year Qualcomm announced it would use NICTA's versions of the L4 Microkernel and the Iguana operating system together with select versions of its Mobile Station Modem chipsets.
Leader of NICTA's Embedded, Real-Time, and Operating Systems (ERTOS) program, Professor Gernot Heiser, said his L4 microkernel solution is ready to commercialize. He has already had discussions with a large number of other mobile chipset vendors.
Most mobile chipsets are written using huge amounts of code, according to Heiser, and are more susceptible to bugs.
"The functionality provided by modern mobile phones requires a huge amount of software to implement, and this implies that the software contains a large number of faults, literally tens of thousands of bugs," he said.
"Those faults not only threaten the reliability of the device, but have the potential to introduce security problems that threaten to compromise the privacy of data held on the device. It also makes devices susceptible to attacks by viruses and worms."
The L4/Iguana system uses hardware-provided memory protection to provide isolation between system components, which allows manufacturers to contain the effects of faults and thus limit the damage they can cause.
According to Heiser, the L4 is one of the smallest kernels in existence that can provide such isolation.
Heiser's team is also working on providing a mathematical, machine-checked proof of the functional correctness of the L4 microkernel which will enable it to be used in systems where safety or security is paramount, such as in cars, aeroplanes, medical or military devices.
There are about 10 full time developers working with Heiser, and his team is part of a larger research program of more than 40 staff and PhD students, half of whom have significant experience with developing operating-system kernels.
Heiser said his team use open source to maximize impact and uptake.
"There are many embedded operating systems on the market, and in order to get people interested you need more than just better technology. In addition, there is a trend away from royalties on real-time operating systems. I see this as a global trend towards commoditization of the core software infrastructure," he said.
Reasons for this, he said, include the way open source commoditization reduces the cost for everyone.
"Why waste resources on doing the same thing everyone else does, without much chance to get a commercial edge from it, when instead you can eliminate most of the cost by contributing to something that is shared by everyone?" he asked.
"If you talk to a marketing guy, he will tell you all sorts of stuff, and by the time you find out that the product doesn't live up to the hype, you may have invested too much to back out. With us, the customer can (and does) check the product out for themselves before even talking to us."
Heiser's commercialization strategy is based on services, primarily consulting-type work on porting to customers' platforms to L4/Iguana and identifying and fixing performance problems. His team also provides any required training.
"In the short term the primary goal is to maximize uptake of our technology. Based on present experience, we have a real chance of becoming a de facto standard in a number of industry verticals," he said.
"We are also working on a number of models for the medium-term future. These include subscription models for services (such as those provided by Red Hat), or licensing income from dual-licensing models, as successfully used by TrollTech and SleepyCat (recently purchased by Oracle). The mathematical correctness proof will create enough added value that some customers will feel it is worth paying royalties for."
The basic implementation language Heiser's team use for the OS is C, some of it being a restricted subset of C++, with a reasonable amount of assembler thrown in to the performance-critical parts.
"We do use a lot of scripting for tools, predominantly Python. We also use the functional language Haskell for rapid prototyping and as a specification language. Its use greatly simplifies the mathematical reasoning required for the formal verification, even though the final product is not written in Haskell," he said.
"The use of Haskell has given one of our sub-projects (the evolution of the kernel API into something suitable for high-security applications) a significant edge over competing projects."