Eclipse in the embedded systems development
An avionics point of view
Some of our software is closely related to the Eclipse framework. This paper should explain what Eclipse is and show some benefits especially for the avionics market.
What is Eclipse?
Eclipse is a framework that allows different tools cooperating in a harmonized GUI. It is much like a box that you can put the tools that you need inside.
It is platform independent for Windows, Solaris, Linux, MacOS, AIX, HP-UX and also covers 64-bit architectures. This is especially important for the long life-cycle avionics market since you can reuse software build on Eclipse while your IT environment changes and time passes by. This saves costs and time for migrations.
When did it start?
Eclipse was developed by IBM as a software development environment. It has been released as open source in 2001.
Due to its open architecture it is also used for many types of applications other than software development environments today. Tools for different purposes and from different vendors may be used inside the same application as so called "Plug-ins".
Who is behind the Eclipse Foundation?
There are a lot of international companies supporting Eclipse. Examples are:
- Wind River
- many more
Many of these companies do not only develop their own products based on Eclipse but actively share the development by contributing dedicated programmers to the development team of the open source core system.
The Eclipse framework is open source under the Eclipse public license. This is very business friendly and allows building commercial applications based on the framework.
There are many categories of tools that integrate in Eclipse. They cover almost every part of system / software development processes and supporting processes. Examples are:
- Architecture and Design (SysML, UML)
- Requirement management and traceability
- Configuration management
- Modeling tools
- Project management
- Coding and debugging
- Target management
- Code generation
- Static code analysis
- Code coverage analysis
Eclipse tools can share data with each other so tool chains can be created without the massive overhead to synchronize and transfer data between the tools.
Eclipse in the embedded industry
In 2008 the Bitkom (Association of German IT industry) has made a study about the importance of the embedded systems sector in Germany. Within that study they asked 66 companies of the embedded sector which tools they use The result can be seen below. The statistics was changed by our own research with a color coding to show how the tool integrates with Eclipse.
Statistics by Bitkom, taken from: "Studie zur Bedeutung des Sektors Embedded Systeme in Deutschland", 2008, Page 26
The statistics show that 58% of the embedded companies used Eclipse in 2008. The percentage will be much higher today.
Eclipse tool examples
Software development platforms for embedded software
Wind River changed its development platform from Tornado to the Wind River Workbench which is based on Eclipse. The first release was 2004.
Wind River is a global player that develops real time operating systems (VxWorks) that are often included in avionic systems.
TOPCASED is a platform for the development of critical embedded systems. It is Eclipse based and open source. It integrates tools for most parts of the system development process.
Participants in the project are:
- EADS Astrium
- Rockwell Collins
- Many more
OSEE is the "Open system engineering environment". Much similar to TOPCASED it offers tools along the development process for embedded systems. It has been initially developed to support the Apache AH-64 Attack Helicopter flight control software development. It is now open source and mainly supported by Boeing.
Most vendors provide plug-ins for their version control system in Eclipse. This means that all other Eclipse tools can version their file based state with a common user interface no matter which underlying system they use. Integrations exist for example for:
- IBM Clear Case
- MKS Integrity
- Many more
Summary of examples
These examples shall show the relevance of Eclipse in the avionics industry. It is also used in many other industries for many different applications. Tools developed in one area may be used in other areas too, sometimes with zero adaptation, sometimes with some integration work.
The automotive industry for instance has a project similar to TOPCASED and OSEE which is called ARTOP.
The examples also show that companies might use Eclipse "under cover", i.e. companies might already be using it without being too clear about it.
Eclipse Platform vs. RCP
When Eclipse is used, it can be used in two ways:
- As a container for plug-ins: Tools from different vendors run concurrently, build on each other or cooperate in the same environment. Everyone can build its own software against the programming interface and can extend its features.
- As "Rich Client Platform" (RCP): These applications are built with a fixed set of plug-ins. All features and GUI elements not related to the supported tasks are removed. An application like this is not necessarily recognized as an Eclipse application, nor does it require any understanding of Eclipse from the users.
For further information use the Eclipse website as a starting point.
Application in system integration test
- GSS100r uses the RCP version of Eclipse and is therefore dedicated just for bus testing without any additional Eclipse features. No Eclipse knowledge is required. No third party plug-ins can be integrated.
- GSS100e integrates bus testing into an existing Eclipse platform.