Middleware

Fraunhofer Institute for Integrated Circuits

OSGi

OSGi

OSGi – No Limits

OSGi is an abbreviation for Open Services Gateway Initiative. The OSGi Alliance was initiated in March 1999 by well-known companies. As a result of this cooperation a Java based standard was created, which enables the next generation of Internet Services. Typically this technology is inserted in automobiles, mobile devices and in the area of home automation. Based on the differently networked hardware platforms like set-top boxes, gateways, cable modems as well as telecommunication systems, OSGi enables the management of hardware independent services.
The OSGi-Framework provides an environment, on which online loadable services can be executed. In this context a service represents the smallest executable program unit. Several services are normally combined to a bundle. OSGi defines all mechanisms for dissolving dependences between individual services as well as for downloading the necessary program parts via Internet, other networks or a storage medium. This results in a functional software structure, which can be installed and also removed via Internet/Intranet on a embedded system hardware.
The OSGi technology is particularly suitable for systems, whose programming must be adapted to new conditions from time to time. The update procedure does not influence the running software. In addition the access of not authorized persons is prevented by different safety mechanisms.

 

Why OSGi?

OSGi – A Unique Integration Platform

The OSGi-Framework is an open, modular and scalable integration platform based on Java. It enables the networking of end devices, the distribution and installation of services, information, and contents. Therefore it allows to remotely control and maintenance of devices.
An OSGi solution offers an enormous potential of cost-savings by the reuse of modules and the reduction of development times. But OSGi – used as an universal integration platform – offers more:

  • Distributed applications and services using different networks
  • Supply of fundamental functions as system services
  • Management and maintenance of the installed applications/services
  • Definition of all mechanisms to resolve dependences between individual services; reload program components on demand as software and data containers via network (e.g. Internet)
  • The OSGi technology can also be implemented in embedded systems with limited resources
  • Manufacturer and platform independent implementation, enabling the use on virtually any platform operating system
  • Support of the continuous operation of devices without any interruption, even if new software components were installed
  • Dynamic update of the software at any time without a restart of the system
  • Local or remote system administration via network, including the visualization of information
  • Easy and fast reuse of existing software solutions, enabled by hardware independent implementation of software modules
  • Software modules are easily extendable due to the object oriented programming approach
  • Fail-safe and stable run-time behavior of the software
  • High stability and reliability of the system, due to the fact that active tests ensure a early recognition of exceptions
  • Additional extension of the system functionality extends the life-time of a system
  • Life-cycle management
  • Possibility to combine automation and web technology

 

OSGi – Powerful for Various Areas

The benefits of OSGi – used as a service and integration platform – are currently used in the following application areas:

  • Home and office applictions
  • Telecommunication
  • Automotive
  • Industrial automation
  • Telemedicine and healthcare
The residential gateway is one of the typical home and office applications, acting as an connecting bridge between in-house bus systems (e.g. EIB, LonWorks®) and the Internet as well as a service platform for Internet-based services in buildings. This enables the control and monitoring of facility management systems and the use of telemedicine services.
Applications in the field of telecommunication are tightly coupled with buildings and home. The ambition is the optimized usage of the home network access with a large bandwidth. The main emphasis in this application area is the distribution of audio and video information.
The usage of OSGi in the automotive area has satisfy two main aspects. The principal objective of the automotive industry is the reduction of costs during the warranty period, whereas drivers are mainly interested in location based services. OSGi enables both a fast and cost-efficient reaction to car defects, a situation-adapted navigation and the utilization of special information and multimedia services. Particularly the aspect of security is extremely important, because the access to car-specific data has to be restricted.
The benefits of using OSGi as an integration platform in industrial automation are obvious: It may realize interoperability between different field bus systems on small and cost-efficient control systems. For this purpose many small services have to be installed on the platform. These services monitor the individual logical connections between the field bus systems and transform the data to the characteristics of the respective filed bus system. With the possibility of installing individual small programs, complete control programs can be remotely loaded and activated. The OSGi-Framework allows also the control/observation of production lines via Internet/Intranet by using a web-browser. The framework also allows the insertion of application specific services (e.g. maintenance service). By that means cost-intensive failures of the production line can be avoided.
The networking between various medical systems is complicated, due to the extremely limited communication interfaces of the medical devices currently available. Usually the control and download of medical data are managed by the serial interfaces of the devices. In addition to that the access protocols are also proprietary. A solution for that is a medical gateway equipped with a multiplicity of serial interfaces and an OSGi-Framework, acting as a integration platform. In this way individual services communicate with the devices. Additional services combine measured data and offer completely new diagnostic capabilities. The whole system can be controlled via Internet/Intranet including the display of health data via HTML or Java applets within a web browser.

 

Our OSGi Solution

The OSGi implementation developed by the Fraunhofer IIS is a unique, combined hardware and software solution. Established products usually require complex functions of an underlying operating system. In our solution, however, the software is layered and together with the interfaces optimized.
Modular architecture allows a simple adding of service bundles. So dynamic software updates will substantially extend the life-cycle of devices (life-cycle management).
This innovative OSGi solution is particularly suitable for highly integrated, cost- and performance optimized processor and micro controller systems and system-on-chip (SOC) solutions. Possible areas of application for this approach are:

  • Industrial automation
  • Automotive
  • Home and office automation
  • Telecommunication
  • Telemedicine und healthcare

 

Our Hardware Implementation

Our reference platform “OSGi Multi-Bus-Controller (OMBC)” enables the coupling and communication of different field bus systems.
The OMBC is a highly integrated control system in a top hat rail housing with interfaces for Ethernet, CAN network with CANopen and LonWorks®. Additionally, the system offers several digital and analog I/Os, to directly control corresponding automation components. Moreover the communication links to the connected field buses and superordinated systems can be parameterized, independent of manufacturers. The module can also be adapted to special customer requirements.
The module receives its necessary flexibility and stability by the use of Java and OSGi. This offers a fast, interoperable and reliable programming of the communication between the different bus systems. The OSGi Multi-Bus-Controller (OMBC) demonstrates the feasibility of integrating Java and OSGi into a standard housing used in control-engineering with minimized cost and resource requirements.

 

Structure of our Software

The software of the reference platforms consists of several layers. The lowest layer, an embedded real time operating system, directly acts on the hardware. This preemptive operating system enables a fast switching between the software processes, needing only a few hardware resources. For communication between the processes mailboxes are supported. Resource management of the hardware is done by semaphores. This operating system is supplemented by a FLASH file system and a TCP/IP stack, which supports the format of the Berkley Sockets as interface.
A small but efficient real time Java Virtual Machine (JVM) is completely adapted to the characteristics of the real time processing system. Thereby individual Java tasks can be prioritized. The garbage collector works as an own task and cannot interrupt the processes with higher priority, if prioritized accordingly. This behavior is possible by using Java threads, which are directly coupled to the tasks of the real time operating system. Due to the fact that a lightweight OSGi-Framework uses the attributes of the real time Java Virtual Machine, individual OSGi services can run as own independent tasks.
The device driver is located between the Virtual Machine and the real time processing system. Individual native drivers can be installed, managing the access of the respective reference system. Directly on the JVM typical standard APIs are developed, which enable the Java access to the TCP/IP sockets, the file system and the access to a LCD-controller by means of AWT-APIs. Prerequisite is the installation of a graphics subsystem on driver level.
There are several possibilities to link own programs to the system. Native program sections, running directly on the real time processing system, are translated as C-programs with a commercially available C-compiler or a open source GNU compiler. Java programs attached on the Virtual Machine are translated either with a standard Java compiler to a byte code or with the Jamaica JVM development tools to a native code. While the byte code runs without modification on each Virtual Machine, the native code runs only on the platform for which it was translated. Regarding the efficiency of the different possibilities, the code written in C is most efficiently, followed by the translated Java code and the interpreted byte code.

 

The Benefits of our OSGi Solution

Our OSGi implementation offers a stable and reliable service and integration platform, enabling the management of hardware independent services.

In addition to the general benefits resulting from the use of the OSGi technology, our OSGi solution offers:

  • Simple operating system
  • Easy port on new processors and micro controllers
  • Extremely small footprint
  • Integrated implementation of individual software components
  • Optimization of all system parts with respect to resource requirements (area or memory) and performance
  • Further use of proven processors – even less efficient ones - for new applications
  • Low clock speed for the overall system
  • No need for forced ventilation due to power dissipation; increased reliability and life-time

 

Our Services in Detail

For us system design, soft- and hardware development have equal priority. Therefore we are able to offer our customers a rare advantage: one-stop system conceptions and complete systems.
All components are accurately customized and well balanced. So incompatible hard- and software components will be a thing of the past. Above all we are independent of manufacturers and select components after their suitability, availability and the customer's preferences.

Our business activities include:

  • Consulting and support of:
    • Java and OSGi based embedded systems
    • System-on-chip solutions (SOC)
  • Conceptual design and development of OSGi-Bundles
  • Customized design
    • Powerful systems
    • Cost-efficient systems
  • Use of the latest design methodology
    • Layout of printed circuit board
    • Usage of complex programmable logic (FPGA, CPLD)
    • ASIC design and delivery (also in small volume)
  • Product development up to prototypes or pilot series
  • Possibility of CE-certification test, on request