\documentclass{lxarticle} \usepackage{german} \usepackage[utf8]{inputenc} \usepackage{lxheaders} \usepackage{lxextras} \begin{document} \section*{Middleware} \subsection*{DBUS} Text \subsection*{CORBA} CORBA is a middleware, which allows RPC\footnote{Remote Procedure Call}-based IPC\footnote{Inter Process Communication} between different operating systems and different programming languages (Figure \ref{img:orb}). The communication interfaces are defined in IDL\footnote{Interface Definition Language}. The IDL files are compiled into, e.g. c++, java, \dots, code which does the (de)serialization of the datatypes. The interface implementations (CORBA objects) are registered with language specific ORB\footnote{Object Request Broker}s. Each CORBA process owns one ORB, which handles the function requests and returns the calculated values. \begin{figure} \centering \includegraphics[width=0.8\textwidth]{images/orb.jpg} \caption{Object Request Broker} \label{img:orb} \end{figure} \begin{figure} \centering \includegraphics[width=0.8\textwidth]{images/rtcorbaext.jpg} \caption{Real-time Object Request Broker (source: [1])} \label{img:rtorb} \end{figure} As shown in figure \ref{img:rtorb}, a real-time capable ORB extends a standard ORB with the following features: locating objects in constant time, preallocation of resources, operating system independent priority handling, priority based scheduling. ACE is an open-source c++ framework for platform-independent system- and network-programming. TAO is a Real-time CORBA implementation build on top of ACE (Figure \ref{img:ace}). \begin{figure} \centering \includegraphics[width=0.8\textwidth]{images/ace.jpg} \caption{ACE Framework (source: [2])} \label{img:ace} \end{figure} The ACE/TAO package is available for all important operating systems. The framework can be trimmed for embedded systems: Each application described in this paper consumes less than 1 MByte of RAM. Also the consumed CPU time is suprisingly low. \subsection*{\"Ubungen} \subsection*{Quellen} \begin{thebibliography}{9}%use this if you have <=9 bib refs %\begin{thebibliography}{99}%use this if you have >9 bib refs \bibitem{paper1},{\it Real-time CORBA Specification},2005, {\sc OMG} \bibitem{paper2},{\it Overview of ACE},2007\\{\it http://www.cs.wustl.edu/schmidt/ACE-overview.html} \end{thebibliography} \end{document}