summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel Traut <manut@linutronix.de>2009-06-23 14:47:59 +0100
committerManuel Traut <manut@linutronix.de>2009-06-23 14:47:59 +0100
commit561ab506c46435031693d4f161690e6e83f586cd (patch)
treed448e90b8e20a805c6517948f4a4ae76f33d631f
parente3849ae97e163f9a4c83dbb45f623cb5d79b5b25 (diff)
middleware: added corba content
Signed-off-by: Manuel Traut <manut@linutronix.de>
-rw-r--r--frameworks/middleware/handout_middleware.tex75
-rw-r--r--frameworks/middleware/hints_middleware.tex27
-rwxr-xr-xframeworks/middleware/images/ace.jpgbin0 -> 125173 bytes
-rwxr-xr-xframeworks/middleware/images/orb.jpgbin0 -> 60770 bytes
-rwxr-xr-xframeworks/middleware/images/rtcorbaext.jpgbin0 -> 35352 bytes
-rw-r--r--frameworks/middleware/linutronix-left.pngbin0 -> 17432 bytes
-rw-r--r--frameworks/middleware/linutronix-right.pngbin0 -> 5559 bytes
-rw-r--r--frameworks/middleware/linutronix.pngbin0 -> 24712 bytes
-rw-r--r--frameworks/middleware/pres_middleware.tex111
9 files changed, 213 insertions, 0 deletions
diff --git a/frameworks/middleware/handout_middleware.tex b/frameworks/middleware/handout_middleware.tex
new file mode 100644
index 0000000..f708883
--- /dev/null
+++ b/frameworks/middleware/handout_middleware.tex
@@ -0,0 +1,75 @@
+\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}
diff --git a/frameworks/middleware/hints_middleware.tex b/frameworks/middleware/hints_middleware.tex
new file mode 100644
index 0000000..50e0cca
--- /dev/null
+++ b/frameworks/middleware/hints_middleware.tex
@@ -0,0 +1,27 @@
+\documentclass{lxarticle}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+\usepackage{lxheaders}
+\usepackage{lxextras}
+
+\begin{document}
+
+\section*{Block \lq Middleware\rq}
+
+\subsection*{Lernziele}
+\begin{itemize}
+\item F\"ur was wird Middleware ben\"otigt
+\item DBUS Basics
+\item CORBA Basics
+\item Grundlegende Unterschiede zwischen DBUS und CORBA
+\end{itemize}
+
+\subsection*{Unterrichts-Ablauf}
+
+Hinweise zur Präsentation, Zeitplanung, etc.
+
+\subsection*{Übungen bei vorhandener Hardware}
+
+Hinweise zu Übungen, Zeitlimit dazu.
+
+\end{document}
diff --git a/frameworks/middleware/images/ace.jpg b/frameworks/middleware/images/ace.jpg
new file mode 100755
index 0000000..9479e23
--- /dev/null
+++ b/frameworks/middleware/images/ace.jpg
Binary files differ
diff --git a/frameworks/middleware/images/orb.jpg b/frameworks/middleware/images/orb.jpg
new file mode 100755
index 0000000..2f3390a
--- /dev/null
+++ b/frameworks/middleware/images/orb.jpg
Binary files differ
diff --git a/frameworks/middleware/images/rtcorbaext.jpg b/frameworks/middleware/images/rtcorbaext.jpg
new file mode 100755
index 0000000..71b8cc4
--- /dev/null
+++ b/frameworks/middleware/images/rtcorbaext.jpg
Binary files differ
diff --git a/frameworks/middleware/linutronix-left.png b/frameworks/middleware/linutronix-left.png
new file mode 100644
index 0000000..c9864c8
--- /dev/null
+++ b/frameworks/middleware/linutronix-left.png
Binary files differ
diff --git a/frameworks/middleware/linutronix-right.png b/frameworks/middleware/linutronix-right.png
new file mode 100644
index 0000000..136f35d
--- /dev/null
+++ b/frameworks/middleware/linutronix-right.png
Binary files differ
diff --git a/frameworks/middleware/linutronix.png b/frameworks/middleware/linutronix.png
new file mode 100644
index 0000000..0c0e706
--- /dev/null
+++ b/frameworks/middleware/linutronix.png
Binary files differ
diff --git a/frameworks/middleware/pres_middleware.tex b/frameworks/middleware/pres_middleware.tex
new file mode 100644
index 0000000..4ceb79b
--- /dev/null
+++ b/frameworks/middleware/pres_middleware.tex
@@ -0,0 +1,111 @@
+\documentclass{beamer}
+\usetheme{linutronix}
+\usepackage{german}
+\usepackage[utf8]{inputenc}
+\usepackage{pgf}
+\usepackage{graphicx}
+\usepackage{lxextras}
+
+\lstset{
+ language=C++,
+ numbers=left,
+ stepnumber=1,
+ numbersep=5pt,
+ numberstyle=\tiny,
+ breaklines=true,
+ breakautoindent=true,
+ postbreak=\space,
+ tabsize=2,
+ basicstyle=\ttfamily\footnotesize,
+ showspaces=false,
+ showstringspaces=false,
+ extendedchars=true,
+ backgroundcolor=\color{lbcolor},
+ keywordstyle=\bf ,
+ commentstyle=\color{green},
+ stringstyle=\color{red}
+}
+
+\title{Block \lq Middleware\rq}
+\institute{Linutronix GmbH}
+
+\begin{document}
+
+\maketitle
+
+\section{CORBA}
+
+\begin{frame}
+\frametitle{Common Object Request Broker Architecture}
+\begin{block}{abstracts}
+\begin{itemize}
+\item operating systems
+\item programming language
+\item transport protocol
+\end{itemize}
+\end{block}
+\end{frame}
+
+\begin{frame}
+\frametitle{Functional principle}
+\begin{center}
+\includegraphics[height=0.8\textheight]{images/orb.jpg}
+\end{center}
+\end{frame}
+
+\begin{frame}
+\frametitle{Functional principle}
+\begin{block}{CORBA Services}
+\begin{itemize}
+\item Naming Service
+\begin{itemize}
+\item Task A: bind object ior with name to Naming Service
+\item Task B: resolve object ior by name from Naming Service
+\end{itemize}
+\item Messaging Service
+\begin{itemize}
+\item Task A: send messages to Messaging Service (Publisher)
+\item Task B: subscribe for messages, e.g. filtered by topic, from the
+ Messaging Service
+\end{itemize}
+\end{itemize}
+\end{block}
+\end{frame}
+
+\begin{frame}
+\frametitle{Real-time CORBA extensions}
+\begin{center}
+\includegraphics[height=0.7\textheight]{images/rtcorbaext.jpg}
+\end{center}
+\begin{raggedright}
+%\scriptsize OMG Real-time CORBA speccification
+\end{raggedright}
+\end{frame}
+
+\subsection{ACE/TAO framework}
+
+\begin{frame}
+\frametitle{Software architecture}
+\begin{center}
+\includegraphics[height=0.7\textheight]{./images/ace.jpg}
+\end{center}
+\begin{raggedright}
+\scriptsize http://cs.wustl.edu/schmidt/ACE
+\end{raggedright}
+\end{frame}
+
+\begin{frame}
+\frametitle{TAO, real-time CORBA distribution}
+\begin{block}{Facts}
+\begin{itemize}
+\item c++ implementation
+\item based on ACE (operating system independent)
+\item RTCORBA specification implemented
+\item open source software
+\item commercial support
+\item widely used
+\end{itemize}
+\end{block}
+\end{frame}
+
+\end{document}