Middleware zur Realisierung offener Steuerungssoftware für hochdynamische Prozesse
|
|
- Edmund Hermann
- vor 8 Jahren
- Abrufe
Transkript
1 it 1/2004 Middleware zur Realisierung offener Steuerungssoftware für hochdynamische Prozesse Realizing Open Control Software for High Dynamic Processes with a Middleware Karsten Diethers, Bernd Finkemeyer, Nnamdi Kohn, TU Braunschweig Zusammenfassung Middlewarelösungen haben sich in der Praxis bewährt, da sie einen transparenten Softwareentwurf und einen dynamischen Austausch von Softwarekomponenten ermöglichen. Bisherige Ansätze sind für viele Echtzeitanwendungen zu aufwändig und können nicht den Datendurchsatz von hochdynamischen Anwendungen leisten. Daher wird hier mit MiRPA eine leichtgewichtige, echtzeitfähige Middleware vorgestellt, die entsprechend hohe Datenraten erlaubt. Kernstück der Kommunikationsarchitektur ist ein Object Server, der Kommunikationsdienste, wie Nachrichten und kontrollierten Zugriff auf Shared Memory, bereitstellt. Ein auf IEEE1394-Standard (Firewire) aufsetzendes echtzeitfähiges Hochgeschwindigkeitsprotokoll (IAP) erlaubt den Zugriff auf verteilte Komponenten. MiRPA wurde insbesondere für den Einsatz innerhalb von Robotersteuerungen konzipiert und implementiert. Summary Middleware concepts have proven practical relevance. The possibility of a transparent software design and a dynamic exchange of components are beneficial for software design and application. Anyway, due to their general applicability standard middleware approaches tend to be too sophisticated for hard real-time applications. So the performance requirements of a high dynamic robot control system described here are not met. In this article a lightweight realtime middleware, MiRPA, is introduced. The core of MiRPA s communication architecture is an object server, which implements communication services. A high speed communication protocol (IAP) based on the IEEE1394-standard (Firewire) enables data exchange with distributed components. MiRPA is designed and implemented especially for the requirements of high-dynamic robot controls. KEYWORDS C.4 [Performance Assistance] Middleware, Kommunikationsprotokoll, Robotersteuerung, IEEE Einleitung Modularisierung von technischen Systemen bringt Vorteile mit sich. Funktionskomponenten können leicht ausgetauscht und in anderen Anwendungen übernommen werden. Erweiterungen sind leicht realisierbar. So ist es zum Beispiel selbstverständlich, dass die PC-Hardware den Bedürfnissen des Anwenders durch das Einsetzen entsprechender Buskarten angepasst werden kann. Auch im Bereich der Software gibt es Bestrebungen zur Modularisierung. Mit der Einführung der objektorientierten Programmierung ist ein wesentlicher Schritt zur Realisierung modularer Software gemacht worden. Fertige Module bzw. Klassen können ausgetauscht werden. Die Modularität dieses Programmierkonzeptes ist aber noch sehr eingeschränkt. Die Schwierigkeit liegt in der Kommunikation der Sofwaremodule untereinander. Es kommt zu einem Netzwerk von Client/Server-Interaktionen. Dieses nimmt häufig komplexe Ausmaße an. Die Systemübersicht ist dadurch eingeschränkt. Ein einfacher Austausch von Softwaremodulen ist nicht ohne weiteres möglich, da das gesamte Systemverhalten inklusive der zeitlichen Kommunikationsabläufe berücksichtigt werden müsste. Dies kann bei umfangreichen Systemen nicht gewährleistet werden. Daher ist auch die Erweiterung it Information Technology 46 (2004) 1 Oldenbourg Verlag 39
2 des Systems schwierig: Kommunikationsschnittstellen müssen zuerst geschaffen werden. Dies führt zu Änderungen an den übrigen Modulen. Daher schafft allein die Unterteilung eines Systems in unterschiedliche Module noch keine wirkliche Modularität. Abhilfe schafft hier die Verwendung einer Middleware. Sie hat die Aufgabe, die verfügbaren Server eines Systems zu verwalten, zu organisieren und deren Dienste für Clients bereitzuhalten. Diese können dann über die Middleware Kontakt zum Server aufnehmen. Hierbei werden alle notwendigen Kommunikationsschritte von der Middleware erledigt. Das hat den Vorteil, dass die Serverimplementierung, die verwendete Hardware und die Kommunikationsart für den Client verborgen bleiben. Die Dienste können von ihm über das Komunikationsinterface der verwendeten Middleware einfach genutzt werden. Der Vorteil liegt auf der Hand: Die installierten Module eines Systems können über ein standardisiertes Interface angesprochen werden. Bild 1 zeigt die Realisierung einer Robotersteuerung bei der Verwendung der Middleware MiRPA. Alle Module kommunizieren dabei über die Middleware. Es gibt inzwischen eine Vielzahl von Middlewarelösungen. Die Bild 1 Struktur einer auf MiRPA basierenden Steuerung. bekanntesten Entwicklungen sind: DCE der Open Software Foundation [12], DIS/HLA des US-Militärs, DCOM von Microsoft [5] und CORBA der Object Management Group (OMG) [3; 11; 13]. Diese Middlewarelösungen wurden für ein breites Anwendungsspektrum konzipiert und versuchen, diesem und dessen Randbedingungen gerecht zu werden. Dies führt aber zu einem enormen Overhead, den sich Echtzeitsysteme, bei denen die Zeitkonstanten in Mikro- bis Millisekundenbereich liegen, nicht leisten können. Zudem führt der Overhead oft zu einer aufwändigen Handhabung der Middleware, was den praktischen Einsatz erschwert. Auch im Bereich der Steuerungstechnik gibt es Bestrebungen der Vereinheitlichung und Modularisierung der Steuerungssoftware. Zu diesem Zweck wurde das OSACA-Projekt mit dem Ziel der Entwicklung einer offenen und modularen Steuerungsplattform ins Leben gerufen. An diesem Projekt waren industrielle und öffentliche Forschungseinrichtungen beteiligt. Herausgekommen ist ein Steuerungskonzept basierend auf einer Middleware. Deren Anwendung beschränkt sich auf die High- Level -Funktionalitäten einer Steuerung [14; 16] und erfüllt nicht die geforderten Echtzeitanforderungen. In der Literatur findet man inzwischen Ansätze, die oben genannte Middlewarelösungen im Bereich der Steuerungstechnik einzusetzen. In [9] wird z. B. ein Telerobotik-System basierend auf CORBA vorgestellt. Diese Anwendungen müssen aber keinen harten Echtzeitanforderungen genügen. Im Bereich der Realzeitsoftware mit Zykluszeiten von einigen Mikro- bis wenigen Millisekunden haben Middlewarelösungen bis heute keine praktische Anwendung gefunden. Hier werden nach wie vor die Kommunikationswege zwischen den Softwaremodulen direkt festgelegt. Der Grund hierfür liegt in der Gefahr, die zeitlichen Randbedingungen zu verletzen. Bei festen Kommunikationsstrukturen ist die QoS (Quality of Service) leichter zu garantieren. Dies führt aber wie oben beschrieben zu unflexibler Realzeitsoftware. Auch die Echtzeiterweiterungen der bekannten Middlewarelösungen, wie z. B. die echtzeitfähige CORBA Version TAO [15], schafften hier bisher keine befriedigende Abhilfe. Sie erfüllt nur annähernd die gewünschten Echtzeitanforderungen und ist für Systeme mit Zeitkonstanten im unteren Mikrosekundenbereich nicht geeignet. Zudem ist sie sehr statisch und erlaubt nicht den flexiblen Austausch von Softwaremodulen zur Systemlaufzeit. Auch die einfache Definition von Broadcastnachrichten ist nicht möglich. Der enorme Speicheraufwand vieler auf CORBA basierender Middlewarelösungen macht den Einsatz im Embedded Bereich schwierig. Um bis hin zur Treiberebene Modularität und Offenheit zu garantieren, wurde von uns die hier vorgestellte offene Steuerungsarchitektur MiRPA (Middleware for Robotic and Process Control Applications) konzipiert und implementiert [6; 7]. Hierbei wurde viel Wert auf Einfachheit und leichte Bedienbarkeit gelegt. Dabei wurde so wenig wie möglich und soviel wie notwendig an Diensten und Funktionalitäten implemen- 40
3 MiRPA Middleware für Echtzeitsysteme tiert. Das bringt Geschwindigkeitsvorteile und leichte Erlernbarkeit mit sich. Trotz der Einfachheit umfasst das System Dienste wie zentrale Deadlockvermeidung, Watchdog, Serververwaltung und Diagnosetools. 2 MiRPA-Konzept In diesem Kapitel werden die wesentlichen Konzepte der Middleware MiRPA vorgestellt. MiRPA wurde als single-threaded Version auf einem zentralen Rechner unter dem Echtzeitbetriebssystem QNX implementiert. Dabei kann MiRPA auf verteilte Komponenten zugreifen. Der Verteilungsmechanismus für MiRPA selbst, der auch eine multi-threaded Version von MiRPA umfasst, ist spezifiziert, jedoch noch nicht vollständig implementiert. Als Programmiermodell wird von einem Softwaresystem bestehend aus kommunizierenden Komponenten ausgegangen, die als eigene Prozesse realisiert werden. Zur Implementierung der Kommunikation zwischen Prozessen kann auf eine MiRPA-API zurückgegriffen werden. 2.1 Nachrichtenübermittlung Die Modulkommunikation kann bei MiRPA auf unterschiedlichen Kommunikationsmechanismen beruhen. Sowohl QNX-Nachrichten als auch der Datenaustausch über Shared Memory oder TCP/IP für nicht echtzeitfähige Netzwerkzugriffe werden unterstützt. MiRPA überwacht dabei die gewählte Kommunikationsart. Für die echtzeitfähige Kommunikation über ein Netzwerk wurde das publisher-subscriber Kommunikationsprotokoll IAP (Industrial Automation Protocol) konzipiert. Dessen Leistungsumfang wird im Abschnitt 3 vorgestellt. Zur echtzeitfähigen Prozess-Synchronisation auf dem zentralen Rechner wird über MiRPA ein Token-Passing-Mechanismus angeboten. Dieser arbeitet unabhängig und parallel zur asynchronen Kommunikation, ist ihr aber in der Priorität übergeordnet. 2.2 Anmeldephase Beim Start eines auf MiRPA basierenden Sofwaresystems muss als erstes der MiRPA-Kern, der Object Server, gestartet werden. Damit stehen dem Benutzer die grundlegenden Dienste der Middleware zur Verfügung. Sie können über spezielle Kommandonachrichten aktiviert werden. Dazu gehört z. B. das Auflisten der im System bereitgestellten Dienste. Der Benutzer oder ein schon gestarteter MiRPA-Prozess kann daraufhin entscheiden, ob noch weitere Dienste durch entsprechendes Starten von Prozessen bereitgestellt werden müssen. In einer Initialisierungsdatei kann der Anwender bestimmten Nachrichten auch Betriebssystemkommandos zuordnen. Der Benutzer kann somit über die MiRPA-Schnittstelle auf Dienste des Betriebssystems zurückgreifen. Ein neu gestarteter Prozess muss seine Dienste zunächst beim Object Server anmelden. Dabei werden in einer Serverliste die angemeldeten Dienste (bzw. Nachrichtennamen) einem Servermodul zugeordnet. 2.3 Betriebsphase Während des Betriebs senden die Softwaremodule ihre Nachrichten direkt an den Object Server. Wenn z. B. der Trajectory-Planner aus Bild 1 eine neue Position berechnet hat, schickt er eine Nachricht mit dem Namen POSITION. Der Object Server prüft daraufhin, ob ein Server diese Nachricht angemeldet hatte. Falls das der Fall ist, bestätigt er die Weiterleitung. Ansonsten wird eine Fehlermeldung zurückgesendet. Im nächsten Schritt wird die Nachricht an den ermittelten Server weitergeleitet. Wurden mehrere Server für die Nachricht gefunden, wird sie an alle gesendet. Somit ist auch die Definition von Broadcastnachrichten möglich. Bisher wurde nur der Versand von Nachrichten vom Client zum Server beschrieben. Dabei wurden keine Antworten vom Server erwartet. Es sind aber auch Request Mechanismen möglich, die eine Antwort erwarten. Sie funktionieren sehr ähnlich. Ein Request bietet die Möglichkeit, Daten von anderen Komponenten zu erfragen. Der Objekt Server bestätigt die Anfrage und leitet sie automatisch an den zugehörigen Server weiter. Die Kommunikation mit ihm wird aber sofort nach der Weiterleitung beendet. Damit ist der Object Server für andere Module wieder einsatzbereit. Ein langsamer Serverprozess blockiert somit nicht mit langen Antwortzeiten das gesamte System. Der Object Server verwaltet den Request in einer Requestliste und vergibt für ihn eine eindeutige Request-ID. Diese wird dem Client in der Bestätigung zurückgesendet. In der Requestliste merkt sich der Object Server alle noch nicht beantworteten Requests. Der Client ist nach dem Empfang der Bestätigung nicht mehr blockiert und kann andere Aufgaben bearbeiten. Dies könnte z. B. der Versand weiterer Requests an andere Server sein. Auf diese Weise könnten für einen Client mehrere Anfragen parallel bearbeitet werden. Sobald die Ergebnisse benötigt werden, kann der Client die Antwort beim Object Server abrufen. Dieser prüft dann, ob der zugehörige Server bereits geantwortet hat. Liegt eine Antwort vor, wird sie sofort an den Client gesendet. Im anderen Fall gibt es für den Client zwei Möglichkeiten: Er kann blockierend auf die Antwort warten oder er erfragt sie erneut zu einem späteren Zeitpunkt. Der Server antwortet mit einer speziellen Antwortnachricht. Sobald nun der Object Server eine solche Nachricht empfängt, sucht er den zugehörigen Client in der Requestliste und leitet die Antwort an ihn weiter oder hält sie für ihn bereit. Dieses Requestprotokoll ist in dem Bild 2 als Sequenzdiagramm dargestellt. Mit der Requestliste wird verhindert, dass ein Prozess gleichzeitig als Client und Server agieren kann. Ein Request wird nur weitergeleitet, wenn der angesprochene Server zu dem Zeitpunkt nicht auf eine Antwort wartet. Zyklische Blockaden 41
4 Bild 2 Sequenzdiagramm für Request: Client blockiert. Client stellt Request Client erfragt Antwort und blockiert CL:Client Blocked werden verhindert. Vor der Weiterleitung eines Nachrichtenobjektes wird der Zustand des Empfängers überprüft. Dadurch wird verhindert, dass der Object Server durch Sendeversuche an nicht empfangsbereite Prozesse blockiert wird. Die Nachrichten werden in solchen Fällen zunächst gepuffert und später weitergeleitet. Die Aktivität des Object Servers wird von einem Watch-dog überwacht. Falls das Weiterleiten einer Nachricht zu viel Zeit in Anspruch nimmt, wird das Senden abgebrochen und die Nachricht ebenfalls gepuffert. Es sei an dieser Stelle angemerkt, dass die erwähnten Wartezeiten hier im Mikrosekundenbereich liegen und sich allenfalls als kleines Jittern bemerkbar machen. Sie wurden in installierten MiRPA- Systemen empirisch untersucht. Die Ergebnisse werden in Abschnitt 5 vorgestellt. 2.4 Abmeldephase Bei der Beendigung eines Serverprozesses muss sich dieser beim Object Server abmelden. Dieser löscht dann automatisch alle für den beendeten Server registrierten Objekte aus der Serverliste. Die weitere versehentliche und damit fehlerhafte Nutzung wird dadurch verhindert. Das Anund Abmelden von Kommunikationsobjekten kann zu jedem Zeitpunkt auch während der Laufzeit geschehen. Das bedeutet, dass sich eine auf MiRPA basierende Steuerung während des Betriebs an neue Gegebenheiten anpassen kann. Beispielsweise kann sich ein mobiler MsgSend(REQ) MsgReply(OK) MsgReceive MsgSend(ANS) Objektsrv MsgSend(REQ) MsgReply(OK) MsgSend(ANS) MsgReply(OK) SV:Server Objektsrv leitet Request weiter Server antwortet Roboter bei einem stationären Manipulator an- und abmelden. Die Manipulatorsteuerung kann so die Ressourcen des mobilen Kollegen nutzen und so eventuell dessen Stellung korrigieren. 3 MiRPA und verteilte Systeme In zentral organisierten steuerungstechnischen Applikationen, wie sie z. B. in der Robotertechnik existieren, besteht die Notwendigkeit, auch dezentral verteilte Systemkomponenten, wie z. B. intelligente Antriebe oder Sensoren anzukoppeln. Gerade bei Anwendungen, die Nutzdaten echtzeitfähig berechnen und verteilen, sind konstante Zykluszeiten unabhängig vom tatsächlichen Datenumfang einzuhalten. Ein Kommunikationssystem muss diese Anforderungen ebenfalls erfüllen. Es existieren einige serielle Bussysteme, die in der industriellen Kommunikation (z. B. SERCOS, MACRO, Industrial Ethernet), speziell in der Automobilindustrie (z. B. CAN und TTP) oder aber im Multimedia-Bereich (z. B. USB und IEEE1394) zur Übertragung von Nutzdaten in Echtzeit-Anwendung eingesetzt werden. Jedoch sind entweder die zur Verfügung stehende Bandbreite oder der Determinismus für echtzeitfähige Anwendungen mit Zykluszeiten im Bereich weniger hundert Mikrosekunden nicht ausreichend, oder aber es existiert noch kein industrietaugliches Übertragungsprotokoll. Neben einer TCP/IP-Verbindung als eine Form der externen, seriellen Kommunikation wird darum ein zusätzliches echtzeitfähiges Kommunikationssystem benötigt. Bild 3 zeigt die verschiedenen Kommunikationsmechanismen, die MiRPA derzeit auszeichnen. Als Beispiele sind hier das QNX-Message-Passing, welches zur asynchronen Kommunikation innerhalb eines lokalen Rechners genutzt wird, eine TCP/IP Verbindung für externe asynchrone Daten und das IAP für externe echtzeitfähige Nutzdaten aufgeführt. Letztere werden allerdings nicht mittels asynchroner Mechanismen von MiRPA an die entsprechenden lokalen Prozesse übertragen, sondern nutzen geschützte Shared Memory Bereiche, die zyklus-synchron gelesen bzw. geschrieben werden. Im Folgenden soll anhand des IAP gezeigt werden, wie MiRPA durch modulare Erweiterungen auch in verteilten Systemen eingesetzt werden kann. In Bild 4 sind noch einmal die wichtigsten Anforderungen an ein echtzeitfähiges Kommunikationssystem dargestellt. Sie ergeben sich aus den regelungstechnischen Erfordernissen bei Antriebsmoment- Regelung über den Kommunikationsbus. Je größer die Anforderung, desto weiter außen befindet sich der jeweilige Schnittpunkt der Anforderungsfläche mit den Kriterienachsen. In Bild 4 sind die Anforderungen mit einem Hochgeschwindigkeits-Kommunikationssystem in Deckung gebracht wor- Externe Datenübertragungsmöglichkei- Bild 3 ten. 42
5 MiRPA Middleware für Echtzeitsysteme Bild 4 Netzdiagramm zur Beurteilung des Firewire Standards. den. Die schwarzen Linien bezeichnen die Übereinstimmungen mit den beiden separat aufgeführten Versionen des IEEE1394-Standards (Firewire) [2; 8]. Dieser Kommunikationsstandard schien bezüglich der Anforderungen hinsichtlich Bandbreite, Determinismus und Synchronität am besten geeignet. 3.1 Das Industrial Automation Protocol Das IAP [4] ermöglicht nun den effizienten Einsatz des IEEE1394- Standards für Aufgaben, die ein besonderes Maß an Taktsynchronität, Datenquerverkehr und einen hohen Datendurchsatz erfordern. Erst durch die Kombination des IEEE1394-Standards mit dem IAP wird dieses Kommunikationssystem für den industriellen Bereich sinnvoll nutzbar. Die folgenden Erweiterungen werden für die Kommunikation im IAP definiert: Teilnehmerklassen und deren Funktionalitäten. Aufteilung zyklischer Kanäle für Sollwerte, Istwerte und zyklische Datenquerverkehrbeziehungen. Protokollbezogene Interpretation der Telegrammblöcke. Nutzung der asynchronen Datenübertragung. Definition eines Netzwerkmanagements zur Zustandssteuerung jedes Teilnehmers. Zusammenfassung der Teilnehmerparameter in einem Objektverzeichnis. Definition von Parametern für einen hochgenauen, synchronen Betrieb der Netzwerkteilnehmer. Möglichkeiten zur Funktionsüberwachung des Applikationsmasters und der Slaves. Unterstützung von Teilnehmern mit eingeschränktem Funktionsumfang. Möglichkeiten zur Begrenzung der Teilnehmerbelastung durch den zyklischen Datenstrom. Ein vollständiger Übertragungszyklus des IAP ist in Bild 5 darge- Bild 5 Übertragungszyklus und Zeitparameter des IAP. stellt. Jeder Zyklus ist genau 125 µs lang, der Zyklusstart wird über ein CST (Cycle Start Telegram) signalisiert. Das IAP definiert und überträgt in seinem zyklischen Prozess- Datenkanal zwei Telegramm-Typen auf dem Bus: Ein MDT (Master Data Telegramm) hierin werden die neuen Sollwerte von der zentralen Steuerung zu den verteilten Teilnehmern in Form eines zusammenhängenden Datentelegramms übertragen. Mehrere DDT (Device Data Telegramme) hierin werden die Istwerte der verschiedenen Teilnehmer zurück an die zentrale Steuerung übertragen. Zusätzlich wird ein Datenkanal für den Austausch von Steuerdaten innerhalb des Netzwerkes definiert. Eine wesentliche Eigenschaft des IAP ist das Ermöglichen von netzwerkweit taktsynchronen Anwendungen. Dies wird durch globale zyklusbezogene Zeitparameter realisiert (Bild 5). Die auf dem Bus übertragenen Telegramme werden zu festgelegten Zeiten, relativ zum Start eines jeden Zyklus, als gelesen vorausgesetzt. So ergeben sich 43
6 feste Zeitpunkte zum Lesen der Eingänge und Setzen der Ausgänge in den Teilnehmern, aber auch zum Triggern der Applikation im Master. Istwerterfassung, Übertragung und Sollwertvorgabesinddamittaktsynchron zum Regler. 4 Modellierung und formale Analyse Der Object Server von MiPRA nimmt eine zentrale Rolle innerhalb eines Softwaresystems ein. Wird der Object Server beispielsweise für eine Bewegungssteuerung eines Roboters eingesetzt, führen Fehlfunktionen zum sofortigen Ausfall der Steuerung mit drohenden Schäden an der mechanischen Struktur. Die Entwicklung sicherheitskritischer Softwarekomponenten verbunden mit harten Echtzeitbedingungen ist eine große Herausforderung. In den letzten Jahren wurde in der Softwaretechnik die Entwicklung von Methoden vorangetrieben, um das Risiko einer Fehlfunktion zu minimieren. Bei der Entwicklung des Object Servers wurden zwei Vorgehensweisen angewendet, um das Risiko von Spezifikationsfehlern zu reduzieren. Einerseits wurde die Unified Modeling Language (UML) für eine standardisierte Softwarespezifikation eingesetzt. UML ist eine Notation zur objektorientierten Beschreibung von Software. Innerhalb der UML werden informelle und halbformale Diagrammarten gemischt, um Analyse und Design auf verschiedenen Abstraktionsebenen zu unterstützen. Andererseits wurden formale Verifikationstechniken angewendet, um Spezifikationsfehler zu ermitteln, die aus komplexen Abläufen resultieren. Dabei wurde auf die in anderen Projekten erfolgreich angewendete Technik der Modellüberprüfung (Model Checking) zurückgegriffen. 4.1 Modellierung mit UML Die Spezifikation des Object Servers wurde mit Hilfe der UML erstellt. Da der Object Server als generische Kommunikationsplattform eingesetzt werden soll, ist eine DokumentationinstandardisierterNotation notwendig. Die UML Spezifikation enthält vor allem eine Beschreibung des Programmier-Interfaces und des Protokolls von Kommunikationsdiensten mit Hilfe von Szenarien und Zustandsdiagrammen. Eine derartige Spezifikation macht den Entwurf transparent und schafft die Voraussetzung für eine weitergehende Analyse. 4.2 Verifikation Reaktive Systeme erzeugen oft einen gewaltigen Zustandsraum. Unter einem Zustand wird hier die Belegung aller Variabeln, der Zeit, usw. verstanden. Ist kontinuierliche Zeit für das Systemverhalten wichtig, ist der Zustandsraum sogar unendlich, allerdings existieren hier Techniken, Zeitintervalle zu diskreten Regionen zusammenzufassen [1]. Fehler treten oft nur in sehr speziellen Konfigurationen des Systems auf. Ziel einer formalen Analyse ist, die Fehlerkonfigurationen aufzuspüren. Testen kann effizient Fehler mit hoher Auftrittswahrscheinlichkeit aufspüren, aber keine Fehlerfreiheit in der Spezikation garantieren, da sich Zustandsräume von realen Systemen selten vollständig testen lassen. Daher wurde der Object Server mit Hilfe von Model Checking verifiziert. Model Checking überprüft, ob ein formales Modell des zu entwerfenden Systems Eigenschaften erfüllt, die durch Ausdrücke einer geeigneten Logik beschrieben werden. Es gibt derzeit verschiedene Model Checker, die jeweils unterschiedliche Beschreibungssprachen unterstützen und sich durch die Mächtigkeit der unterstützten Logik zur Definition von zu analysierenden Eigenschaften unterscheiden. Wir haben uns zur Modellierung mit Timed Automata entschieden. 4.3 Timed Automata Da ein Schwerpunkt der Analyse auf Zeitaspekten lag, wurde ein Formalismus ausgewählt, der Möglichkeiten zur Modellierung von Zeit bietet. Weiterhin wird Werkzeugunterstützung zur Analyse benötigt. Daher wurden Timed Automata und das Werkzeug UPPAAL für die formale Analyse ausgewählt [10]. Timed Automata wurden von Alur und Dill als formale Beschreibungssprache für Echtzeitsysteme eingeführt. Hier beziehen wir uns auf die Variante, die in UPPAAL implementiert wurde. Wie endliche Automaten enthalten sie Zustände und beschriftete Transitionen und erweitern sie um kontinuierliche Uhren, die zur Modellierung von zeitlichen Aspekten genutzt werden können. Diese werden in Form von Clock- Variablen eingeführt, deren Werte zurückgesetzt oder in Bedingungen von Transitionen benutzt werden können. Kommunizierende Komponenten werden als Netzwerk von Timed Automata modelliert. Kommuniziert wird über globale Variablen oder über komplementär markierte Transitionen, die gleichzeitig schalten (synchrone Kommunikation). Bild 6 zeigt eine Komponente des formalen Modells, das in UP- PAAL erstellt wurde. Zeit vergeht nur in den Zuständen des Modells. Werden Zustände als committed (c) gekennzeichnet, müssen sie sofort verlassen werden. Transitionen schalten zeitlos. Zeitvariablen, deren Werte als sich kontinuierlich erhöhend angenommen werden, dienen zur Spezifikation zeitlicher Zusammenhänge. Sie können zurückgesetzt werden, um eine neue Zeitmessung zu starten oder um an Zuständen zeitliche Invarianten zu definieren. Weiterhin können sie wie einfache Integervariablen in Guards benutzt werden. Zuweisungen an Variablen sind auf einfache Ausdrücke beschränkt. Kommuniziert wird über synchrone Aktionen (msg[rec]! sendet eine Nachricht an andere Komponeten, msg[self]? empfängt eine Nachricht). Einfache Daten können prozessübergreifend über globale Variablen ausgetauscht werden. Details finden sich in [10]. Eigenschaften, die verifiziert werden sollen, werden in Form von temporaler Logik spezifiziert. Typi- 44
7 MiRPA Middleware für Echtzeitsysteme Bild 6 MiRPA- Komponente in UPPAAL. Bild 7 Visualisierung des Analyseergebnisses. lichst umfassende Überprüfung der Funktionalität wurden generische Benutzerprozesse modelliert. Diese Prozesse enthalten nichtdeterministische Verzweigungen; die Modellierung von MiRPA selbst ist deterministisch gehalten. Bild 8 zeigt einen Ausschnitt der manuellen Modellierung von MiRPA mit Timed Automata. Das vollständige System besteht aus mehreren parallelen Komponenten. Mit Hilfe von UPPAAL konnte nachgewiesen werden, dass das formale Modell der MiRPA-Spezifikation keine Deadlocks enthält. Der korrekte Empfang von Commands und Requests kann garantiert werden 1. In MiRPA werden Nachrichten gepuffert, wenn ein Server nicht unmittelbar verfügbar ist. Wenn die Serverkapazität in Folge eines Entwurfsfehlers des Gesamtsystems zu klein gewählt wurde, lässt sich ein Überlauf des Puffers nicht vermeiden. Innerhalb des formalen Modells können Ausführungszeiten berücksichtigt werden, um eine Prognose für einen Pufferüberlauf zu treffen. Dazu ist allerdings eine formale Modellierung des Kontextes notwendig, in dem MiRPA eingesetzt wird. sche Eigenschaften sind beispielsweise Gibt es einen Ausführungspfad des Systems, der in einem unerwünschten Zustand endet? oder Erreicht das System eine Konfiguration mit einem Deadlock?.WirdvomModel Checker ein Ausführungspfad zu einem Fehlerzustand entdeckt, kann er mit Hilfe des Simulators schrittweise untersucht werden. Weiterhin ist eine Darstellung des Fehlerpfades als Sequenzdiagramm verfügbar (siehe Bild 7). 4.4 Formale Modellierung Für eine Verifikation von MiRPA wird das gesamte geschlossene System benötigt, d. h. es reicht nicht, nur den Object Server zu modellieren, sondern es wird auch ein Modell seiner Umgebung benötigt. In diesem Fall müssen Prozesse, die über MiRPA kommunizieren, modelliert werden. Für eine mög- 5 Experimentelle Untersuchung der MiRPA-Performance Die MiRPA-Performance wurde experimentell untersucht. Dabei wurde die Verzögerungszeit vom 1 Fehler der Hardware oder Implementierungsfehler können selbstverständlich nicht ausgeschlossen werden. Bild 8 SIMULINK-Modell mit Zugriffen auf MiRPA. 45
8 Versand bis zum Empfang einer Nachricht und deren Jittern bestimmt. Für die Messungen wurden spezielle Testclients und Testserver entwickelt. Der Testclient setzt vor dem Senden einer Nachricht einen digitalen I/O-Port auf low. Der Server setzt beim Empfang der Nachricht den I/O-Port wieder auf high. Diese Schaltvorgänge wurden mit einem Oszilloskop zur Messung der Schaltzeiten sichtbar gemacht. Das Experiment wurde auf einem Rechner mit AMP XP Prozessor, der mit einer Frequenz von 1466 MHz getaktet wurde, durchgeführt. Auf ihm liefen neben der Middleware MiRPA und den beiden Messprozessen die komplette grafische QNX Benutzeroberfläche Photon, drei Eingabeshells, I/O-Gerätetreiber für serielle, parallele und Ethernet-Schnittstelle, Internetdaemon und weitere Systemprozesse. Die Gesamtzahl der zusätzlich laufenden Prozesse belief sich auf 40. Die Priorität der Messprozesse wurde hoch gewählt. Dabei kam heraus, dass der I/O-Port für ca. 20,88 µs auf Low-Pegel ist. Dies bedeutet, dass der Versand einer Nachricht nur 20,88 µs benötigte. Interessant ist nun, wie stark die Streuung dieser Zeit ist. Dieses Jittern wurde ebenfalls messtechnisch ermittelt. Bei dieser Konfiguration kam dabei ein maximaler Wert von 1,44 µs heraus. Es befindet sich daher für praktische Steuerungsaufgaben in einem akzeptablen Rahmen. Die Messung wurde für verschiedene Rechner- und Softwarekonfigurationen wiederholt. Zusammenfassend ergibt sich, dass im Mittel für den Versand einer Nachricht über die Middleware MiRPA 30 µs benötigt werden. Das maximale Jittern betrug bei ungünstiger Wahl der Prozessprioritäten akzeptable 12 µs. Diese Messergebnisse zeigen, dass MiRPA gut für Steuerungszwecke einsetzbar ist. Der Einsatz ist auch bei einem nicht optimierten System möglich und hat sich bei Robotersteuerungen im Labor praktisch bewährt. 6 Anwendungsbeispiele Es wurde eine auf MiRPA basierende Robotersteuerung realisiert. Als Rechnerhardware kam ein 800 MHz Pentium III zum Einsatz. Dank der modularen Softwarekonzeption und der Middleware MiRPA ließ sich diese Robotersteuerung einfach durch weitere Module wie einer DLR-Spacemouse, mit der sich der Roboter leicht in die gewünschte Position bewegen lässt, erweitern. Die Steuerungssoftware und deren Verwendung von MiRPA wird in [6; 7] ausführlich beschrieben. Durch die Verwendung von MiRPA ist es ebenfalls möglich, die bestehende Software durch Module numerischer Mathematikprogramme wie MATLAB/SIMULINK zu erweitern. Diese Werkzeuge werden für viele numerische Simulationen eingesetzt. Durch Erweiterung mit dem Realtime Workshop können die Simulationen auch in Echtzeitsysteme eingesetzt werden. Der kanadische Softwarehersteller Opal hat mit der Software RT-Lab ein Werkzeug geschaffen, SIMULINK-Modelle auf einem QNX-Zielrechner zu betreiben. Dieser ist über Ethernet mit einem Windows-Hostrechner verbunden. Von dort aus wird das Zielsystem aus der gewohnten SIMULINK-Umgebung heraus bedient. Das RT-Lab übernimmt dabei die Synchronisation der beiden Rechner. Diese Entwicklungsumgebung wurde nun durch eine Schnittstelle zu MiRPA erweitert. Damit ist es leicht möglich, auf MiRPA basierte Realzeitsoftware durch SIMU- LINK-Modelle zu erweitern. Bild 8 zeigt ein Beispiel dieser Anwendung. Die mit MiRPA beschrifteten Blöcke bilden die Schnittstelle zur Middleware. Die Signale, die in diesen Block führen, werden an MiRPA gesendet und von dort entsprechend an die anderen Softwaremodule weitergeleitet. Ebenso führen die Signalleitungen aus diesem Block kommende Signale von MiRPA an das SIMULINK-Modell. Damit steht ein komfortables Rapid-Prototyping-Werkzeug zur Verfügung. In der implementierten Steuerung kann z. B. das Modul Position Controller durch einen SIMULINK-Regler ersetzt werden. Dieser wird somit in der realen Steuerungsumgebung getestet. 7 Zusammenfassung Es wurde mit MiRPA eine echtzeitfähige Middleware vorgestellt. Anders als bei existierenden Ansätzen wurde der Schwerpunkt bei der Entwicklung auf Datendurchsatz, leichte Handhabung und Kompaktheit gelegt. Dadurch ist MiRPA für den Einsatz in Steuerungs- und Echtzeitanwendungen gut geeignet. Da MiRPA allen Softwarekomponenten eine einheitliche Kommunikationsschnittstelle bietet und alle Nachrichten zentral über einen Object Server verwaltet werden, schafft dieser Ansatz mehr Transparenz beim Entwurf von Software. Zudem können integrierte Sicherheitsmechanismen zur Laufzeit kritische Kommunikationsfehler abfangen. Das vorgestellte Kommunikationsprotokoll IAP ermöglicht echtzeitfähigen Datenaustausch über ein Netzwerk. Damit sind zusammen mit MiRPA auch verteilte hochdynamische Steuerungsarchitekturen realisierbar. Danksagung Dank gilt der DFG, die Teile der Arbeit innerhalb des SFB 562 Robotersysteme für Handhabung und Montage unterstützt hat. Literatur [1] R. Alur, D. Dill: A Theory of Timed Automata. Theoretical Computer Science, Vol. 26, pp , [2] D. Anderson: FireWire System Architecture. Addison-Wesley, [3] Balen, Henry: Distributed Object Architectures with CORBA, Cambridge, [4] G. Beckmann: Ein Hochgeschwindigkeits-Kommunikationssystem für die industrielle Automation. Dissertation, TU Braunschweig, [5] P.E. Chung, Y. Huang, S. Yajnik, D. Liang, J. Shih, C. Wang und Y. Wang: 46
9 MiRPA Middleware für Echtzeitsysteme DCOM and CORBA Side by Side, Step by Step, and Layer by Layer. Webdokument, emerald/dcom-corba/ Paper.html, [6] B. Finkemeyer, M. Borchard, and F.M. Wahl: Robot Control Architecture Based on an Object Server. IASTED Int l Conf. Robotics and Manufacturing, Cancun Mexiko, 2001, pp [7] B. Finkemeyer, M. Borchard: MiRPA: A Middleware for Open Robot Control Systems. Robotik 2002, Ludwigsburg, Germany, pp , [8] IEEE Std , Draft Standard for a High Performance Serial Bus. [9] S.Jia,K.Takase:Internet-Based Robotic Systm Using CORBA as Communication Architecture. Journal of Intelligent and Robotic Systems, 34, pp , [10] K. Larsen, P. Pettersson, W. Yi: UPPAAL in a Nutshell. Int l Journal on Software Tools for Technology Transfer, Vol. 1, Springer-Verlag, [11] Object Management Group, http.// [12] The Open Group: Distributed Computing Environment. Webdokument, dec., [13] Orfali, Harkey, Edwards: Instant CORBA. Addison-Wesley, [14] Final Report OSACA I + II: os2fin4.pdf, [15] Douglas C. Schmidt, David L. Lewine and Sumedh Mungee: The Design of the Tao Real-time Object Request Borker. Computer Communications, Elsivier Science, Volume 21, pp , No 4, [16] W. Sperling und P. Lutz: Enabling Open Control Systems An Introductin to the OSACA System Platform. Robotics and Manufacturing, Vol. 6 ISRAM 97 Montpellier/France, ASME Press New York Dipl.-Inform. Karsten Diethers studierte Informatik an der Universität Hildesheim. Seit 1999 ist er wissenschaftlicher Mitarbeiter bei Prof. Dr. Goltz am Institut für Software der TU Braunschweig, Abt. Programmierung und befasst sich dort mit der Modellierung und Verifikation von Echtzeitsystemen. Adresse: TU Braunschweig, Inst. f. Software, Abt. Programmierung, Mühlenpfordtstr. 23, Braunschweig, Diethers@ips.cs.tu-bs.de 2 Dipl.-Ing. Bernd Finkemeyer studierte Elektrotechnik an der TU Braunschweig. Seit Ende 1998 ist er wissenschaftlicher Mitarbeiter bei Prof. Dr. F. M. Wahl am Institut für Robotik und Prozessinformatik der TU Braunschweig. Dort befasst er sich mit der Entwicklung modularer Steuerungskonzepte. Adresse: TU Braunschweig, Institut für Robotik und Prozessinformatik, Mühlenpfordtstr. 23, Braunschweig, B.Finkemeyer@tu-bs.de 3 Dipl.-Ing. Nnamdi Kohn studierte Messund Regelungstechnik an der TU Braunschweig. Seit 2000 ist er wissenschaftlicher Mitarbeiter bei Prof. Dr.-Ing. J.-Uwe Varchmin am Institut für Elektrische Messtechnik und Grundlagen der Elektrotechnik. Dort befasst er sich mit Kommunikations-Konzepten für echtzeitfähige verteilte Systeme. Adresse: TU Braunschweig, Inst. für Elektrische Messtechnik, Hans-Sommer-Str. 66, Braunschweig, Nnamdi.Kohn@tu-bs.de 47
SWT II Projekt. Chat - Anwendung. Pflichtenheft 2000 SWT
SWT II Projekt Chat - Anwendung Pflichtenheft 2000 SWT i Versionen Datum Version Beschreibung Autor 3.11.2000 1.0 erste Version Dietmar Matthes ii Inhaltsverzeichnis 1. ZWECK... 1 1.1. RAHMEN... 1 1.2.
MehrIntegration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.
Integration mit Die Integration der AristaFlow Business Process Management Suite (BPM) mit dem Enterprise Information Management System FILERO (EIMS) bildet die optimale Basis für flexible Optimierung
MehrLizenzierung von System Center 2012
Lizenzierung von System Center 2012 Mit den Microsoft System Center-Produkten lassen sich Endgeräte wie Server, Clients und mobile Geräte mit unterschiedlichen Betriebssystemen verwalten. Verwalten im
MehrBeschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.
www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks
MehrAnleitung zur Nutzung des SharePort Utility
Anleitung zur Nutzung des SharePort Utility Um die am USB Port des Routers angeschlossenen Geräte wie Drucker, Speicherstick oder Festplatte am Rechner zu nutzen, muss das SharePort Utility auf jedem Rechner
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
Mehr2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:
2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Configuring Terminal Services o Configure Windows Server 2008 Terminal Services RemoteApp (TS RemoteApp) o Configure Terminal Services Gateway
MehrEasyWk DAS Schwimmwettkampfprogramm
EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage
MehrUrlaubsregel in David
Urlaubsregel in David Inhaltsverzeichnis KlickDown Beitrag von Tobit...3 Präambel...3 Benachrichtigung externer Absender...3 Erstellen oder Anpassen des Anworttextes...3 Erstellen oder Anpassen der Auto-Reply-Regel...5
MehrMan liest sich: POP3/IMAP
Man liest sich: POP3/IMAP Gliederung 1. Einführung 1.1 Allgemeiner Nachrichtenfluss beim Versenden von E-Mails 1.2 Client und Server 1.2.1 Client 1.2.2 Server 2. POP3 2.1 Definition 2.2 Geschichte und
MehrSANDBOXIE konfigurieren
SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:
MehrRegistrierung am Elterninformationssysytem: ClaXss Infoline
elektronisches ElternInformationsSystem (EIS) Klicken Sie auf das Logo oder geben Sie in Ihrem Browser folgende Adresse ein: https://kommunalersprien.schule-eltern.info/infoline/claxss Diese Anleitung
MehrWichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge
Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge Ab der Version forma 5.5 handelt es sich bei den Orientierungshilfen der Architekten-/Objektplanerverträge nicht
MehrLizenzen auschecken. Was ist zu tun?
Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.
MehrLabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN
LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration Arbeitsblatt und Demonstration A. Rost 1. Steuerung eines VI über LAN Eine Möglichkeit zur Steuerung virtueller Instrumente
MehrInternet online Update (Internet Explorer)
Um Ihr Consoir Beta immer schnell und umkompliziert auf den aktuellsten Stand zu bringen, bieten wir allen Kunden ein Internet Update an. Öffnen Sie Ihren Internetexplorer und gehen auf unsere Internetseite:
MehrLeitfaden zur Einrichtung za-mail mit IMAP auf dem iphone
Dieser Leitfaden zeigt die einzelnen Schritte der Konfiguration des iphones für die Abfrage von Emails bei der za-internet GmbH. Grundsätzlich gelten diese Schritte auch für andere Geräte, wie dem ipod
MehrGuide DynDNS und Portforwarding
Guide DynDNS und Portforwarding Allgemein Um Geräte im lokalen Netzwerk von überall aus über das Internet erreichen zu können, kommt man um die Themen Dynamik DNS (kurz DynDNS) und Portweiterleitung(auch
MehrDatenübernahme easyjob 3.0 zu easyjob 4.0
Datenübernahme easyjob 3.0 zu easyjob 4.0 Einführung...3 Systemanforderung easyjob 4.0...3 Vorgehensweise zur Umstellung zu easyjob 4.0...4 Installation easyjob 4.0 auf dem Server und Arbeitsstationen...4
Mehr[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL
[Customer Service by KCS.net] KEEPING CUSTOMERS SUCCESSFUL Was bedeutet Customer Service by KCS.net? Mit der Einführung von Microsoft Dynamics AX ist der erste wichtige Schritt für viele Unternehmen abgeschlossen.
MehrMotivation. Motivation
Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten
MehrFrontDoor/Monitor mehr sehen von FrontDoor
FrontDoor/Monitor mehr sehen von FrontDoor BYTEBAR.EU NEHMEN SIE SICH MEHR HERAUS Haben Sie schon einmal mit Ihrem Laptop direkt den Massenspeicher ausgelesen? FrontDoor/Monitor macht dies noch angenehmer.
MehrLocal Control Network Technische Dokumentation
Steuerung von Hifi-Anlagen mit der LCN-GVS Häufig wird der Wunsch geäußert, eine Hi-Fi-Anlage in die Steuerung der LCN-GVS einzubinden. Auch das ist realisierbar. Für die hier gezeigte Lösung müssen wenige
MehrKonfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014
Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...
MehrKurzanleitung So geht s
Kurzanleitung So geht s MDT IP Interface SCN IP000.01 MDT IP Router SCN IP100.01 IP Interface IP Router einrichten Es wurden keine Einträge für das Inhaltsverzeichnis gefunden.falls Sie Basis Informationen
Mehretermin Einbindung in Outlook
etermin Einbindung in Outlook 1. Einführung Über etermin gebuchte Termine können bei Bedarf auch mit externen Terminkalendern, wie zum Beispiel Outlook, ical oder Google synchronisiert werden. Dieses Dokument
MehrInbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:
Verwendete Komponenten im Beispiel: Siemens: CPU: 416F-3 PN/DP FW 5.2 STEP7: 5.4 + SP4 Primary Setup Tool: 4.0 Lenze: 9400: Highline V 7 TA: Stellantrieb Drehzahl FW 3.0.3 Profinet Modul 1.30 MM330 und
MehrInstallation der SAS Foundation Software auf Windows
Installation der SAS Foundation Software auf Windows Der installierende Benutzer unter Windows muss Mitglied der lokalen Gruppe Administratoren / Administrators sein und damit das Recht besitzen, Software
MehrSuche schlecht beschriftete Bilder mit Eigenen Abfragen
Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere
MehrHerzlich Willkommen bei der nfon GmbH
efax Handbuch Herzlich Willkommen bei der nfon GmbH Wir freuen uns, Ihnen unser efax vorstellen zu dürfen. Mit dem efax können Sie zu jeder Zeit mit Ihrem Rechner Faxe empfangen. Sie bekommen diese dann
MehrRT Request Tracker. Benutzerhandbuch V2.0. Inhalte
RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4
MehrEasy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform
Easy-Monitoring Universelle Sensor Kommunikations und Monitoring Plattform Eberhard Baur Informatik Schützenstraße 24 78315 Radolfzell Germany Tel. +49 (0)7732 9459330 Fax. +49 (0)7732 9459332 Email: mail@eb-i.de
MehrInformationen zum neuen Studmail häufige Fragen
1 Stand: 15.01.2013 Informationen zum neuen Studmail häufige Fragen (Dokument wird bei Bedarf laufend erweitert) Problem: Einloggen funktioniert, aber der Browser lädt dann ewig und zeigt nichts an Lösung:
MehrAblaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole
Lavid-F.I.S. Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der Lavid Software GmbH Dauner Straße 12, D-41236 Mönchengladbach http://www.lavid-software.net Support:
MehrEr musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt
Inhaltsverzeichnis Aufgabe... 1 Allgemein... 1 Active Directory... 1 Konfiguration... 2 Benutzer erstellen... 3 Eigenes Verzeichnis erstellen... 3 Benutzerkonto erstellen... 3 Profil einrichten... 5 Berechtigungen
MehrOLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98
OLXTeamOutlook 1.5 für Outlook 2003, 2002/XP, 2000 und 97/98 Neue Version: Outlook-Termine, Kontakte, Mails usw. ohne Exchange-Server auf mehreren Rechnern nutzen! Mit der neuesten Generation intelligenter
MehrInstallation SQL- Server 2012 Single Node
Installation SQL- Server 2012 Single Node Dies ist eine Installationsanleitung für den neuen SQL Server 2012. Es beschreibt eine Single Node Installation auf einem virtuellen Windows Server 2008 R2 mit
MehrFormular»Fragenkatalog BIM-Server«
Formular»Fragenkatalog BIM-Server«Um Ihnen so schnell wie möglich zu helfen, benötigen wir Ihre Mithilfe. Nur Sie vor Ort kennen Ihr Problem, und Ihre Installationsumgebung. Bitte füllen Sie dieses Dokument
MehrAutorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente
Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung
MehrGeoPilot (Android) die App
GeoPilot (Android) die App Mit der neuen Rademacher GeoPilot App machen Sie Ihr Android Smartphone zum Sensor und steuern beliebige Szenen über den HomePilot. Die App beinhaltet zwei Funktionen, zum einen
MehrTapps mit XP-Mode unter Windows 7 64 bit (V2.0)
Tapps mit XP-Mode unter Windows 7 64 bit (V2.0) 1 Einleitung... 2 2 Download und Installation... 3 2.1 Installation von WindowsXPMode_de-de.exe... 4 2.2 Installation von Windows6.1-KB958559-x64.msu...
MehrAufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS
Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS Oktober 2015 Tipp der Woche vom 28. Oktober 2015 Aufruf der Weboberfläche des HPM-Wärmepumpenmanagers aus dem Internet Der Panasonic
MehrDie integrierte Zeiterfassung. Das innovative Softwarekonzept
Die integrierte Zeiterfassung Das innovative Softwarekonzept projekt - ein komplexes Programm mit Zusatzmodulen, die einzeln oder in ihrer individuellen Zusammenstellung, die gesamte Abwicklung in Ihrem
MehrLOG-FT BAG Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung
Filetransfer zum Austausch mit dem Bundesamt für Güterverkehr (BAG) Kurzanleitung VERSION 8.0 FEBRUAR 2013 Logics Software GmbH Schwanthalerstr. 9 80336 München Tel.: +49 (89) 55 24 04-0 Fax +49 (89) 55
Mehrmeta.crm meta.relations
meta.crm meta.relations Einleitung Mit meta.crm können wir Ihnen eine web-basierte und leicht zu bedienende Kommunikationsdatenbank für Media- und Investor Relations anbieten, mit deren Hilfe Sie Ihre
MehrT est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series
T est of 1GBit/s Fiber optical communication interfaces based on FlexRIO R Series Inhalt 1. Einführung... 2 2. Anforderungen... 2 3. Komponenten... 3 3.1. PXI 7952R... 3 3.2. Fiber Optical Interface Module
MehrMatrix42. Use Case - Sicherung und Rücksicherung persönlicher Einstellungen über Personal Backup. Version 1.0.0. 23. September 2015 - 1 -
Matrix42 Use Case - Sicherung und Rücksicherung persönlicher Version 1.0.0 23. September 2015-1 - Inhaltsverzeichnis 1 Einleitung 3 1.1 Beschreibung 3 1.2 Vorbereitung 3 1.3 Ziel 3 2 Use Case 4-2 - 1 Einleitung
MehrNeue Kennwortfunktionalität. Kurzanleitung. 2012 GM Academy. v1.0
Neue Kennwortfunktionalität Kurzanleitung 2012 GM Academy v1.0 Neue Kennwortfunktionalität Diese Kurzanleitung soll erläutern, wie die neue Kennwort Regelung funktionieren wird. Die GM Academy führt eine
MehrMetaQuotes Empfehlungen zum Gebrauch von
MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden
MehrDie Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet
Die Verbindung für Ihre Produkte zum Internet mit dem LAING CLOUD INTERFACE. Bedienen Überwachen Konfigurieren über das Internet Laing Cloud Interface Verbindungen zum Internet gibt es viele, aber vermutlich
MehrPowermanager Server- Client- Installation
Client A Server Client B Die Server- Client- Funktion ermöglicht es ein zentrales Powermanager Projekt von verschiedenen Client Rechnern aus zu bedienen. 1.0 Benötigte Voraussetzungen 1.1 Sowohl am Server
MehrStammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing
Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing Finanzbuchhaltung Wenn Sie Fragen haben, dann rufen Sie uns an, wir helfen Ihnen gerne weiter - mit Ihrem Wartungsvertrag
MehrSDD System Design Document
SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen
MehrAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was
MehrVersion smarter mobile(zu finden unter Einstellungen, Siehe Bild) : Gerät/Typ(z.B. Panasonic Toughbook, Ipad Air, Handy Samsung S1):
Supportanfrage ESN Bitte füllen Sie zu jeder Supportanfrage diese Vorlage aus. Sie helfen uns damit, Ihre Anfrage kompetent und schnell beantworten zu können. Verwenden Sie für jedes einzelne Thema jeweils
MehrLizenzierung von Windows Server 2012
Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung
MehrPrimzahlen und RSA-Verschlüsselung
Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also
MehrMulticast Security Group Key Management Architecture (MSEC GKMArch)
Multicast Security Group Key Management Architecture (MSEC GKMArch) draft-ietf-msec-gkmarch-07.txt Internet Security Tobias Engelbrecht Einführung Bei diversen Internetanwendungen, wie zum Beispiel Telefonkonferenzen
MehrAbwesenheitsnotiz im Exchangeserver 2010
Abwesenheitsnotiz im Exchangeserver 2010 Richten sie die Abwesenheitsnotiz in Outlook 2010 ein und definieren sie, dass nur Absender eine Nachricht bekommen, die ihnen direkt eine Mail gesendet haben.
MehrSchnittstelle DIGI-Zeiterfassung
P.A.P.A. die kaufmännische Softwarelösung Schnittstelle DIGI-Zeiterfassung Inhalt Einleitung... 2 Eingeben der Daten... 2 Datenabgleich... 3 Zusammenfassung... 5 Es gelten ausschließlich unsere Allgemeinen
MehrStep by Step Webserver unter Windows Server 2003. von Christian Bartl
Step by Step Webserver unter Windows Server 2003 von Webserver unter Windows Server 2003 Um den WWW-Server-Dienst IIS (Internet Information Service) zu nutzen muss dieser zunächst installiert werden (wird
MehrDatensicherung. Beschreibung der Datensicherung
Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten
MehrGrundlagen verteilter Systeme
Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 3 12.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: a)
MehrBenutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.
Benutzerhandbuch Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer. 1 Startseite Wenn Sie die Anwendung starten, können Sie zwischen zwei Möglichkeiten wählen 1) Sie können eine Datei für
MehrFTP-Leitfaden RZ. Benutzerleitfaden
FTP-Leitfaden RZ Benutzerleitfaden Version 1.4 Stand 08.03.2012 Inhaltsverzeichnis 1 Einleitung... 3 1.1 Zeitaufwand... 3 2 Beschaffung der Software... 3 3 Installation... 3 4 Auswahl des Verbindungstyps...
MehrTeamSpeak3 Einrichten
TeamSpeak3 Einrichten Version 1.0.3 24. April 2012 StreamPlus UG Es ist untersagt dieses Dokument ohne eine schriftliche Genehmigung der StreamPlus UG vollständig oder auszugsweise zu reproduzieren, vervielfältigen
MehrSoftware zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN)
Software zur Anbindung Ihrer Maschinen über Wireless- (GPRS/EDGE) und Breitbandanbindungen (DSL, LAN) Definition Was ist Talk2M? Talk2M ist eine kostenlose Software welche eine Verbindung zu Ihren Anlagen
MehrLizenz-Server überwachen
Einsteiger Fortgeschrittene Profis markus.meinl@m-quest.ch Version 1.0 Voraussetzungen für diesen Workshop 1. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Das Produkt M-Lock
Mehr2. Die eigenen Benutzerdaten aus orgamax müssen bekannt sein
Einrichtung von orgamax-mobil Um die App orgamax Heute auf Ihrem Smartphone nutzen zu können, ist eine einmalige Einrichtung auf Ihrem orgamax Rechner (bei Einzelplatz) oder Ihrem orgamax Server (Mehrplatz)
MehrFolgende Einstellungen sind notwendig, damit die Kommunikation zwischen Server und Client funktioniert:
Firewall für Lexware professional konfigurieren Inhaltsverzeichnis: 1. Allgemein... 1 2. Einstellungen... 1 3. Windows XP SP2 und Windows 2003 Server SP1 Firewall...1 4. Bitdefender 9... 5 5. Norton Personal
MehrWeb Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen
9 3 Web Services 3.1 Überblick Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen mit Hilfe von XML über das Internet ermöglicht (siehe Abb.
MehrNutzung von GiS BasePac 8 im Netzwerk
Allgemeines Grundsätzlich kann das GiS BasePac Programm in allen Netzwerken eingesetzt werden, die Verbindungen als Laufwerk zu lassen (alle WINDOWS Versionen). Die GiS Software unterstützt nur den Zugriff
MehrUpdate und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten
Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten Der Konfigurations-Assistent wurde entwickelt, um die unterschiedlichen ANTLOG-Anwendungen auf den verschiedensten Umgebungen automatisiert
Mehrpro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9
Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer
MehrPCC Outlook Integration Installationsleitfaden
PCC Outlook Integration Installationsleitfaden Kjell Guntermann, bdf solutions gmbh PCC Outlook Integration... 3 1. Einführung... 3 2. Installationsvorraussetzung... 3 3. Outlook Integration... 3 3.1.
MehrAnlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010
1 von 6 Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010 ci solution GmbH 2010 Whitepaper Draft Anleitung Deutsch Verfasser: ci solution GmbH 2010 Manfred Büttner 16. September
Mehr1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten
AVM GmbH Alt-Moabit 95 D-10559 Berlin Faxversand mit dem FRITZ! LAN Assistenten Mit dem FRITZ! LAN Assistenten können Sie einen Computer als FRITZ!fax Server einrichten, über den dann Faxe von anderen
MehrBüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen
BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen Stand: 13.12.2010 Die BüroWARE SoftENGINE ist ab Version 5.42.000-060 in der Lage mit einem Microsoft Exchange Server ab Version 2007 SP1
MehrFernzugriff auf Kundensysteme. Bedienungsanleitung für Kunden
inquiero Fernzugriff auf Kundensysteme Bedienungsanleitung für Kunden Bahnhofstrasse 1, CH-8304 Wallisellen Tel.: +41 (0)44 205 84 00, Fax: +41 (0)44 205 84 01 E-Mail: info@elray-group.com, www.elray-group.com
MehrKlassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java
Objektorientierte Programmierung mit Java Eine praxisnahe Einführung mit BlueJ Klassenentwurf Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? 1.0 Zentrale Konzepte
MehrClient-Server mit Socket und API von Berkeley
Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................
MehrKurzanleitung zum Einrichten eines POP3-Mail-Kontos unter Outlook 2013
23.10.2013 Kurzanleitung zum Einrichten eines POP3-Mail-Kontos unter Outlook 2013 za-internet GmbH Einrichtung eines E-Mail-Accounts unter Microsoft Outlook 2013 mit der POP3-Funktion 1. Voraussetzungen
MehrDas große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten
Das große x -4 Alles über das Wer kann beantragen? Generell kann jeder beantragen! Eltern (Mütter UND Väter), die schon während ihrer Elternzeit wieder in Teilzeit arbeiten möchten. Eltern, die während
MehrInhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER
AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...
MehrNovell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar 2015. ZID Dezentrale Systeme
Novell Client Anleitung zur Verfügung gestellt durch: ZID Dezentrale Systeme Februar 2015 Seite 2 von 8 Mit der Einführung von Windows 7 hat sich die Novell-Anmeldung sehr stark verändert. Der Novell Client
MehrAnwendungshinweis Nr. 12. Wie konfiguriere ich redundante Serververbindungen
Anwendungshinweis Nr. 12 Produkt: Schlüsselworte: Problem: Softing OPC Easy Connect OPC Server, Redundanz Wie konfiguriere ich redundante Lösung: Ausgangssituation: Eine OPC Client-Anwendung ist mit mehreren
MehrCode wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015
Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015 CODESYS a trademark of 3S-Smart Software Solutions GmbH Agenda 1 Warum
MehrKurzanleitung zur Softwareverteilung von BitDefender Produkten...2
Kurzanleitung zur Softwareverteilung von Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2 I. BitDefender Management Agenten Verteilung...2 1.1. Allgemeine Bedingungen:... 2 1.2. Erste
MehrSharePoint Demonstration
SharePoint Demonstration Was zeigt die Demonstration? Diese Demonstration soll den modernen Zugriff auf Daten und Informationen veranschaulichen und zeigen welche Vorteile sich dadurch in der Zusammenarbeit
MehrStep by Step Remotedesktopfreigabe unter Windows Server 2003. von Christian Bartl
Step by Step Remotedesktopfreigabe unter Windows Server 2003 von Remotedesktopfreigabe unter Windows Server 2003 Um die Remotedesktopfreigabe zu nutzen muss diese am Server aktiviert werden. Außerdem ist
MehrInformationsblatt Induktionsbeweis
Sommer 015 Informationsblatt Induktionsbeweis 31. März 015 Motivation Die vollständige Induktion ist ein wichtiges Beweisverfahren in der Informatik. Sie wird häufig dazu gebraucht, um mathematische Formeln
MehrProf. Dr. Uwe Schmidt. 21. August 2007. Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252)
Prof. Dr. Uwe Schmidt 21. August 2007 Aufgaben zur Klausur Objektorientierte Programmierung im SS 2007 (IA 252) Zeit: 75 Minuten erlaubte Hilfsmittel: keine Bitte tragen Sie Ihre Antworten und fertigen
MehrAnleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren
Anleitung zum Computercheck Windows Firewall aktivieren oder eine kostenlose Firewall installieren Ziel der Anleitung Sie möchten ein modernes Firewallprogramm für Ihren Computer installieren, um gegen
MehrInstallation des Authorware Webplayers für den Internet Explorer unter Windows Vista
Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista Allgemeines: Bitte lesen Sie sich diese Anleitung zuerst einmal komplett durch. Am Besten, Sie drucken sich diese Anleitung
MehrInhaltsverzeichnis. Handbuch zur Installation der Software für die Bürgerkarte
Inhaltsverzeichnis Haftungsausschlussklausel... 3 Einführung... 4 Anforderungen und Hinweise... 5 Herunterladen der Software... 6 Installation der Software... 7 Schritt 1 Sprache auswählen... 7 Schritt
MehrAUF LETZTER SEITE DIESER ANLEITUNG!!!
BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm
MehrMicrosoft SharePoint 2013 Designer
Microsoft SharePoint 2013 Designer Was ist SharePoint? SharePoint Designer 2013 Vorteile SharePoint Designer Funktionen.Net 4.0 Workflow Infrastruktur Integration von Stages Visuelle Designer Copy & Paste
MehrTechnisches Datenblatt
Technisches Datenblatt Moxa iologik E1212 - HMI Technisches Datenblatt Seite 1 von 6 Version 1.0, Stand: 21. November 2015 1. Allgemeines Copyright 2015 by Holsten Systems GmbH Alle Rechte vorbehalten.
Mehr