From f0f6880c74c1994f407decc97151dfa0194d9eb7 Mon Sep 17 00:00:00 2001 From: Manuel Traut Date: Wed, 26 Jan 2011 17:11:06 +0100 Subject: middleware: add to new buildsys Signed-off-by: Manuel Traut --- frameworks/middleware/Makefile | 4 +- frameworks/middleware/handout_middleware.tex | 57 +++++++--------------------- frameworks/middleware/hints_middleware.tex | 8 ---- frameworks/middleware/pres_middleware.tex | 47 ++++------------------- 4 files changed, 23 insertions(+), 93 deletions(-) (limited to 'frameworks/middleware') diff --git a/frameworks/middleware/Makefile b/frameworks/middleware/Makefile index 4663d52..d641258 100644 --- a/frameworks/middleware/Makefile +++ b/frameworks/middleware/Makefile @@ -1,7 +1,7 @@ all: for pdf in `ls -1 *.tex` ; do \ - pdflatex $$pdf; \ - pdflatex $$pdf; \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ + TEXINPUTS=`pwd`/../..:.:..:$(TEXINPUTS) pdflatex $$pdf; \ done clean: diff --git a/frameworks/middleware/handout_middleware.tex b/frameworks/middleware/handout_middleware.tex index c11bc8d..44c75f7 100644 --- a/frameworks/middleware/handout_middleware.tex +++ b/frameworks/middleware/handout_middleware.tex @@ -1,32 +1,6 @@ -\documentclass{lxarticle} -%\usepackage{english} -\usepackage[utf8]{inputenc} -\usepackage{lxheaders} -\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} -} - -\begin{document} +\input{confighandout} -\section*{Middleware} +\subsection{Middleware} Distributed systems need to communicate with each other. Middleware assists the developer by delivering a communication framework. The developer doesn't need @@ -54,7 +28,7 @@ Also a middleware can provide different degrees of abstraction: \item Localization of Services \end{itemize} -\subsection*{D-Bus / Desktop Bus} +\subsubsection{D-Bus / Desktop Bus} D-Bus is designed for @@ -73,13 +47,11 @@ and used by several Desktop Environments \item \dots \end{itemize} -also \cmd{HAL} host its hardware info at D-Bus. - D-Bus is designed for local IPC only. It is a message based Middleware supporting 1:n publish/subscribe mechanism and 1:1 message passing. D-Bus has integrated datatype marschalling. -\subsubsection*{Architecture} +\paragraph{Architecture} \begin{figure} \centering @@ -116,7 +88,7 @@ possible one of these libraries should be used: \item .NET \end{itemize} -\paragraph{Terminology} +\subparagraph{Terminology} \begin{description} \item[bus address] is the name of ther underlying unix socket, e.g. \cmd{/tmp/dbus\_lx.socket} @@ -160,9 +132,9 @@ NM Applet and sends it to the D-Bus system bus. The NM daemon listens for the messages from the NM user daemon and configures the networking stack via system calls. -\subsubsection*{Tools} +\paragraph{Tools} -\paragraph{qdbusviewer} +\subparagraph{qdbusviewer} is a tool to browse through the hosted objects and call any method. (Figure \ref{img:qdbusviewer}) @@ -173,7 +145,7 @@ is a tool to browse through the hosted objects and call any method. (Figure \label{img:qdbusviewer} \end{figure} -\subsubsection*{Conclusion} +\paragraph{Conclusion} D-Bus is good for accessing System Infos and for IPC of Desktop Applications. Its small API has bindings for all common languages and frameworks and is easy @@ -185,7 +157,7 @@ to guarantee any real-time behaviour. There is even no message ordering. There is no guarantee which method returns first, if two methods are invoked around the same time. -\subsection*{CORBA} +\subsubsection{CORBA} CORBA is a middleware, which allows RPC\footnote{Remote Procedure Call}-based IPC\footnote{Inter Process Communication} between @@ -235,7 +207,7 @@ 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. -\subsubsection{Conclusion} +\paragraph{Conclusion} CORBA offers a wide variety of middleware communication methods. There is no limitation for a communication between different operating systems, even the @@ -243,7 +215,7 @@ network protocols can be exchanged. CORBA provides a Real-time extension. On the other hand, the framework is complex and difficult to learn. -\subsection*{Exercises} +\subsubsection{Exercises} An application should be created, to send a message to the 'server' with a variable payload, that the time needed for the call / return of the call can be @@ -252,7 +224,7 @@ measured in the client. The above described application will be implemented with ACE/TAO RTCORBA and the D-Bus glib bindings: -\subsubsection*{ACE/TAO RTCORBA} +\paragraph{ACE/TAO RTCORBA} First an IDL for the Ping interface will be created (\cmd{ping.idl}: @@ -683,10 +655,9 @@ To run the applications start them with: The order, which application is started first doesn't matter. Take care that the \cmd{dbus-daemon} is running. -\begin{thebibliography}{9}%use this if you have <=9 bib refs -%\begin{thebibliography}{99}%use this if you have >9 bib refs +\begin{thebibliography}{9} \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} +\input{tailhandout} diff --git a/frameworks/middleware/hints_middleware.tex b/frameworks/middleware/hints_middleware.tex index 50e0cca..140eed4 100644 --- a/frameworks/middleware/hints_middleware.tex +++ b/frameworks/middleware/hints_middleware.tex @@ -16,12 +16,4 @@ \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/pres_middleware.tex b/frameworks/middleware/pres_middleware.tex index fbb6131..2f4c462 100644 --- a/frameworks/middleware/pres_middleware.tex +++ b/frameworks/middleware/pres_middleware.tex @@ -1,40 +1,9 @@ -\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} +\input{configpres} +\title{\lq Middleware\rq} \maketitle -\section{DBUS} - +\subsection{DBUS} \begin{frame} \frametitle{DBUS Communication Framework} \begin{block}{Facts} @@ -92,8 +61,7 @@ Source: http://dbus.freedesktop.org Source: http://www.redhat.com \end{frame} -\section{CORBA} - +\subsection{CORBA} \begin{frame} \frametitle{Common Object Request Broker Architecture} \begin{block}{abstracts} @@ -141,12 +109,11 @@ Source: http://www.redhat.com \end{raggedright} \end{frame} -\subsection{ACE/TAO Framework} - +\subsubsection{ACE/TAO Framework} \begin{frame} \frametitle{ACE/TAO Software Architecture} \begin{center} -\includegraphics[height=0.7\textheight]{./images/ace.jpg} +\includegraphics[height=0.7\textheight]{images/ace.jpg} \end{center} \begin{raggedright} \scriptsize http://cs.wustl.edu/schmidt/ACE @@ -167,4 +134,4 @@ Source: http://www.redhat.com \end{block} \end{frame} -\end{document} +\input{tailpres} -- cgit v1.2.3