May 2007

AONews: Mission Critical Newsflash •

Technology Insight


Ada Eclipse Tools for Real-Time Developers

Today, real-time software developers demand an efficient development environment that gives them access to the tools they need in a ‘one-stop-shop’ framework.   Due to its flexible nature and adaptable plug-in capability, Eclipse has become the development environment of choice for these developers.

Eclipse offers a smart and functional environment for software development and other related tasks.  As a programming environment, Eclipse provides the essentials and the aesthetic appeal to satisfy most programmers’ needs, including visual shortcuts, dock-able windows, navigation techniques, hierarchical views of software objects, and more.  (See Figure 1).  But the Eclipse framework is more than just another IDE that you first see upon installation.  It can be extended to include integration with most of your favorite tools, including popular configuration management tools, web development tools, software modeling tools, compiler tools, and even your favorite text editors.

 

Figure 1: The Eclipse Environment, with AonixADT (Ada Development Tools) plug-in

 

Eclipse now offers valuable extensions for real-time developers such as integrations with Real-time OS tools, cross compilers, and other real-time tool suites.  An example of these extensions is in the Java arena.  Eclipse started out as an environment for use by Java developers for desktop and enterprise applications, but has now evolved to include support for real-time Java development as well. Tool suites supporting real-time Java developers, such Aonix’ PERC can now be plugged into Eclipse.  Similary, the ADT plug-ins from Aonix provides an Eclipse integration for Ada real-time development.  (See Figure 1).

Eclipse was developed originally by IBM and is now managed by the Eclipse Foundation, an independent not-for-profit consortium of software industry vendors.  It was originally popular as a Java IDE, but it soon evolved into much more than that.  Eclipse is based on an open-source extensible framework into which other software tools can be ‘plugged’ into.  ‘Plug-ins’ can be created by following a standard Eclipse protocol.  A common framework makes Eclipse plug-ins relatively easy to develop.  In the past, if an ada vendor, for example, wanted to add support for his tool within an environment, he had to spend a lot of energy to integrate it.  Most development environments were difficult and time consuming to integrate with.  At best, there were environment like CDE which were easier to integrate with but they were restrictive in platform availability.  Also, for the platforms that were available, the customer had to depend on a relationship between the platform vendor and the tool provider to maintain compatibility with new releases.  With Eclipse, life is made easier for all by providing a common framework.

Eclipse popularity can be attributed to its powerful built-in features and, most of all, its plug-in capability.  Hundreds of vendors and developers are contributing plug-ins, making Eclipse more powerful and more usable everyday.  There are now a myriad of Eclipse plug-ins available to satisfy developers’ needs.  These plug-ins are often free or available on a subscription basis.  As the Eclipse plug-in community grows, the excitement escalates.  Useful plug-ins quickly become popular as Eclipse users read ratings from colleagues on the web.

Real-time developers, too, are now benefiting by the growing Eclipse environment by leveraging integrations with popular RTOS tools and other needed tool-suites for real-time development.  One can essentially “build your own IDE” by choosing the tools you use on a daily basis under one integrated environment.  Whether the real-time development is in C/C++, Ada, or Java, Eclipse can integrate with the compiler technology and often with the RTOS tools’ control of the target, including downloading, running, debugging, and analyzing target processor activity and state … all from within the Eclipse environment.  In the case of PERC, Aonix’ real-time Java tool suite, the Eclipse plug-in includes integration with the Perc Shell for communication with the target board within Eclipse.

Although Eclipse is a powerful tool, there are some downfalls.   Eclipse runs on top of a Java Virtual Machine.  On the upside, this makes it platform independent, meaning it runs identically on any platform which support Java (JVM).   The tradeoff to this advantage is that the application is interpreted at runtime, which makes it slower to start up and also resource intensive once it’s running.  While running Eclipse, you might find that other large applications may not be able to acquire the resources they need to run simultaneously.  Additionally, it is not uncommon to experience non-critical error messages when exiting, relating to problems saving the Eclipse workspace.

Despite these fallbacks, Eclipse has secured its own future by providing an open framework design.  The open nature of the Eclipse framework has allowed the plug-in community to flourish.  And the continued success of Eclipse is ensured by this plug-in community.  Therefore, real-time developers can look forward to this flexible and ever improving Eclipse development environment well into the future.


Rhoda can be reached at rhoda.quate@aonix.com.


Author

Rhoda Quate
Field Application Engineer

Watch a Two-Part Video Presentation and Demonstration of Ada Eclipse Plugins


Part 1: ADT Overview (3:43)

Part 2: Product Demonstration (4:46)