The Open-Source Movement Yields The Best Software Of 2009

Dec. 4, 2009
The Open-Source Movement Yields The Best Software Of 2009

Development platforms and tools often take years to mature and gain general adoption and approval. Spotting these diamonds in the rough, though, can be very easy or incredibly difficult.

This year, the often-hyped open-source Android platform is the obvious choice for best software development. While it hasn’t been around long, its use in areas outside its original arena mark it as a significant platform for embedded developers. On the other end of the spectrum, there’s the Everyware platform from hardware company Eurotech. Everyware is built on a number of open-source systems, so it isn’t proprietary.

EMBEDDED ANDROID
Google started the open-source Android project as part of the Open Handset Alliance with an eye toward smart phones (Fig. 1). But Android is quickly becoming much more as it invades everything from set-top boxes to robots.

Based on Linux, Android’s middleware makes the difference, including the Dalvik virtual machine and integrated Web browser. It specifies SQLite for structured storage and Open GL graphics, and it supports a host of standard media formats from JPEG to H.264.

Android takes advantage of the Eclipse open-source development environment. It doesn’t specify the underlying hardware, allowing it to run on everything from an ARM to a MIPS processor. The core libraries run on the register-base Davlik virtual machine, providing portability. A Java virtual machine provides similar portability, but it is stack-based. Both support Java applications, though other programming languages can target both types of virtual machines.

Android middleware provides many services similar to those found in the OSGi f ramework. This flexibility will enable Android to find a home outside of the cellphone market.

OSGI IS EVERYWARE
Getting a new system up and running starting with a C-based board support package (BSP) is typical and time consuming. Likewise, Arlen Nipper, Eurotech’s president and CTO, has noted that customers often were reinventing the wheel with each new platform, developing services such as remote update management.

Eurotech’s Everyware addresses these issues (see “Everyware Everywhere”). It’s built around the Java-based OSGi framework, which is the basis for the open-source Eclipse integrated development environment (IDE). Also part of the puzzle is Wind River’s Linux, IBM’s Java virtual machine (JVM), and a host of general and hardware- specific “bundles.”

Bundles are Java packages (Fig. 2). Eurotech provides a collection of hardware-specific bundles for its boards plus a set of common bundles useful for embedded applications. It’s also possible to use many of the bundles developed for other platforms such as Web and mail servers.

C and C++ are still the mainstays for embedded developers. But even legacy code can be incorporated into an OSGi platform by utilizing the Java Native Interface (JNI).

One thing common to these two winners is the use of virtual machines. Portability and reliability are primary advantages, though performance and security are advantages that many designers overlook.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!