Embedded Software Engineering Report Nr. 31
|
|
- Emma Fried
- vor 8 Jahren
- Abrufe
Transkript
1 Architektur & Design Embedded Software Engineering Report Nr. 31 Inhalt: - Über den Unterschied zwischen Architekturentwurf und Design - Architekturentwurf und nichtfunktionale Anforderungen - Die Rolle von Muster und Normen im Architekturentwurf Über den Unterschied zwischen Architekturentwurf und Design Seit Jahrzehnten wird die Softwarearchitektur als wesentlicher Meilenstein auf dem Weg der Informatik zu einer erwachsenen Ingenieurs-Disziplin beschworen. Das planvolle Entwerfen und Bauen von Gebäuden und Brücken wird uns Softwareingenieuren als metaphorisches Zielbild für unser Tun aufgezeigt Aber wie nah sind wir wirklich unserem Ziel, in den erlauchten Kreis der echten Ingenieure aufgenommen zu werden? Thomas Janning 2012 Diese Worte entstammen dem Editorial der OBJECTspektrum Ausgabe 03/ 2012 mit dem Schwerpunktthema Architektur. Ich finde die Frage ist berechtigt. Wie auch Thomas Janning im weiteren Verlauf die Frage wieder relativiert, bin auch ich sicher, dass im Software Engineering heute hochgradige Ingenieurskunst geleistet wird. Aber das ändert nichts daran, dass wir Ingenieure im Bereich Software Architektur noch einige Hausaufgaben zu machen haben. Leider richtet sich die OBJECTspektrum im wesentlichen an das Software Engineering für so genannte Enterprise Software. Und die meisten Inhalte darin sind nicht übertragbar auf das Software Engineering für Embedded Systeme. Da das Thema aber auch in dieser Domäne nicht minder wichtig ist hat wieder eine Ausgabe des Embedded Software Engineering Reports das Thema Software Architektur. - Mit dem Hammer in der Hand sieht die Welt aus wie ein Nagel - Wie es besser geht - Architekturentwurf - Architektur-Implementation
2 Architekturentwurf und nichtfunktionale Anforderungen Ebenfalls in der OBJEKTspektrum lese ich den Artikel,Softwarearchitektur in agilen Projekten: von Kathedralen und IT-Systemen von Dr. Markus Voß. Und er führt noch einmal klar vor Augen, wie grundlegend wichtig es ist zwischen Architektur und Design zu trennen. Der architektonische Entwurf legt den Grundstein für das Software Design. Was ist nun der Unterschied zwischen Architekturentwurf und Design? Stellen Sie sich vor, sie sollten ein Regalsystem designen. Dann gibt es grundsätzlich die funktionalen Anforderungen zu berücksichtigen, als da wären: Höhe, Breite, Tiefe, Anzahl der Regalböden, aber auch Anforderungen an Haptik und Optik. Unser Regal soll zum Beispiel aus Massivholz bestehen. Funktionale Anforderungen wirken sich im wesentlichen auf das Design aus. Wenn wir nun das Regal produzieren möchten stellen sich uns weitere Fragen. Z.B. könnten wir das Regal aus einem großen Baumstamm aus dem,vollen fräsen. Sicher eine Ressourcen verschwendende und ineffiziente Vorgehensweise. Etwas eleganter wäre die Verwendung eines architektonischen Basis-Mechanismusses,Teile und Herrsche anzuwenden. Wir würden also den Baumstamm erst einmal in Bretter zersägen, um aus ihnen dann Seitenwände, Regalböden usw. aufzubauen. Entsprechend den Abmaßen der funktionalen Anforderungen könnten wir also die Bretter auf Maß zuschneiden. Nun stellt sich eine wesentliche Frage: Wie verbinden wir die Bretter zum Gesamtsystem,Regal? Wir können sie mit Leim und geeigneten Mustern z.b. einer Schwalbenschwanz-Verzahnung zusammenfügen. Hier sind wir beim Thema Architektur-Stil angelangt. Die Architektur hat starken Einfluss auf die Handhabbarkeit des Regals im so genannten Livecycle. Zum Beispiel im Fall eines Umzuges könnte das Regal nicht ab- und aufgebaut werden, es müsste ab dem Zeitpunkt der Produktion immer im Ganzen transportiert werden. Ebenso auf die Veränderbarkeit oder Erweiterbarkeit. Das nachträgliche Verändern der Höhe der Regalböden wäre nicht möglich. Würden wir das Regal auf Basis von Schrauben aufbauen, dann würden sich Handhabbarkeit oder Erweiterbarkeit schon sehr viel verbessern. Für die Befestigung der Regalböden spezielle Architekturmuster anzuwenden, z.b, vorgebohrte Löcher mit kleinen Stiften, würde Flexibilität und Handhabbarkeit noch einmal stark verbessern. Eventuell würden sich die Anwendung eines Architektur-Musters wiederum negativ auf die Gesamtstabilität des Regals auswirken. Was erkennen wir daraus: Nichtfunktionale Anforderungen (Wartbarkeit, Erweiterbarkeit, Robustheit...) zielen auf den Architekturentwurf eines Systems. Funktionale Anforderungen (Größe, Farbe, Funktion...) zielen auf das Design eines Systems.
3 Die Rolle von Muster und Normen im Architekturentwurf Bevor ich auf Architektur-Stile (Muster oder auch Pattern) im Software Engineering eingehe möchte ich noch etwas tiefer auf Muster an sich eingehen. Vor einiger Zeit habe ich einen Bauernkasten von 1807 (so werden die alten Schränke in der Steiermark genannt) von meinen Großeltern geerbt. Er besteht aus zwei Teilen, die mit 4 Holzschrauben und Muttern verbunden sind. Für den Transport nach Deutschland habe ich ihn auseinander geschraubt. Als ich ihn dann, zuhause angekommen, wieder zusammen bauen wollte, stellte ich mit Erstaunen fest, dass jeweils nur eine Mutter auf genau eine Schraube passte. Die Gewinde waren noch von Hand erstellt. Als Grundprinzip einer leicht lösbaren Verbindung, lässt sich schon an der 200 Jahre alten Schraube, das Muster (Pattern) des Gewindes erkennen. Heute sehen Schrauben etwas anders aus, etwa wie in nebenstehender Abbildung zu sehen. Das Konzept des Gewindes ist gleichgeblieben, was ist dazu gekommen? Die Norm für metrische Gewinde. Der Einsatz von so genannten Mustern erhöht die Effizienz im Engineering enorm. Verbunden mit Normen wird diese noch einmal potenziert. Muster in Kombination mit Normen ermöglichen hoch effizientes Outsourcing. Heute ist es egal, wo auf der Welt Sie eine Mutter kaufen und wo diese Mutter hergestellt wurde. Wenn sie ein metrisches Gewinde und ein metrisches Schlüsselmaß hat, passt sie auf jede Schraube und das Werkzeug mit dem Schraube und Mutter genutzt werden passt auch. Ohne Muster in Verbindung mit Normen wäre der Maschinenbau nicht dort wo er heute ist. Produktion und Wartung heutiger Produkte in allen Industrien (Automitive, Aerospace, Railway...) wären nicht denkbar. Das Software Engineering steckt in dieser Beziehung noch in den Kinderschuhen. Oder etwa nicht? Muster, Halbzeuge, Normen und Werkzeuge im Software Engineering Muster (Pattern) werden im Software Engineering bereits seit Jahrzehnten eingesetzt, z.b. in Form von Scheduling Pattern. Eines der meist eingesetzten Muster in der Embedded Software ist sicher die,main() Loop. Leistungsfähigere Scheduling Pattern können in Form von Halbzeugen als RTOS eingekauft werden. OSEK OS oder UML liefern uns die Standardisierung in der Anwendung dieser Muster. Wir sehen also noch einmal mehr, Muster und Normen liefern die Basis für die Umsetzung der nichtfunktionalen Anforderungen, Wartbarkeit, Erweiterbarkeit, Robustheit... vor allem auch bezogen auf den Lebenszyklus. Abbildung Nr. 2: von oben nach unten a,b,c,d
4 Mit dem Hammer in der Hand sieht die Welt aus wie ein Nagel Würde ein großer schwedischer Möbelhersteller seine Regalsysteme mit einem Schraubenset ausliefern, wie in Abbildung Nr. 2d zu sehen, dann würde die Parodie auf seine Werbung,Schraubst du noch oder wohnst du schon? eine ganz andere Bedeutung bekommen. Außerdem würde das mitzuliefernde Werkzeugset verglichen mit einem einzelnen Imbus-Schlüssel ganz andere Kosten verursachen. Haben Sie schon einmal eine Kreuzschlitzschraube mit einem Schlitzschraubenzieher losgeschraubt? Das kann gut gehen, aber die Gefahr dabei Werkzeug oder Halbzeug zu zerstören ist groß. Leider treffe ich im Software Engineering oft auf ähnliche Situationen. Tools, Vorgehen und Muster werden in einer Kombination angewandt, wo nichts wirklich zueinander passt. Wenn sich dann die gewünschte Effizienz nicht einstellt werden Werkzeug, Notation oder Methode die Schuld gegeben. Ich möchte hier exemplarisch eine immer wieder anzutreffende Kombination und die damit verbundenen Probleme aufzeigen. Ein Basis-Muster, das jeder Embedded Applikation zu Grunde liegt ist der Scheduling Mechanismus. Im simpelsten Fall ist es die so genannte main() Loop. Grundsätzlich unterscheiden wir in der Charakteristik zwischen einer zeitkontinuierlichen Architektur auf Basis eines zeitgetriebenem Scheduling oder einer zeitdiskreten Architektur auf Basis eines ereignisorientierten Scheduling. (Siehe auch Embedded Software Engineering Report Nr. 27) In den meisten mir bekannten Applikationen wird derzeit mit zeitgetriebenem Scheduling (Zeitscheiben) gearbeitet. Nun ist die Modellierung auf Basis von Zustandsmaschinen (MATLAB Stateflow oder UML Werkzeugen) stark in Mode gekommen. In Zustandsmaschinen gibt es Zustandsübergänge und im ursprünglichen Sinn (State Transition Diagrams nach David Harel 1987) basieren die Zustandsübergänge auf Ereignissen. Hier ergibt sich ein Zustands-Diagramm wie in Abbildung Nr. 3 links oben zu sehen ist. In einer zeitgetriebenen Architektur werden in der Regel jedoch keine Ereignisse sondern Signale (z.b. in Form von Variablen) verwendet. Abbildung Nr. 3: Zustandsmaschinen auf Basis von Ereignissen und Guards aus zeitlicher Sicht
5 Um auch in diesen Architekturen auf Basis von Zustandsmaschinen modellieren zu können ermöglichen heute die meisten Werkzeuge auch einen Zustandswechsel auf Basis eines so genannten,guard (Überprüfung einer Variablen auf einen Inhalt) durchzuführen. Solch eine Zustandsmaschine sehen Sie in der Abbildung Nr. 3 rechts oben. Beide Zustandsmaschinen scheinen, bezogen auf ihr logisches Verhalten, erst einmal Identisch zu sein. Betrachten wir jedoch das dynamische Verhalten in grenzwertigen Situationen aus zeitlicher Sicht, dann ergibt sich ein ganz andere Bild. Mit großer Wahrscheinlichkeit wird unsere CPU neben diesem Verhalten noch andere so genannte Nebenläufigkeiten ausführen müssen. Aus Sicht unserer jeweiligen Zustandsmaschine würde die Zeit, in denen sich die CPU anderen Aufgaben widmet, wie eine Austastlücke erscheinen. (Siehe Abbildung Nr. 3 unten) Ändern sich nun in dieser Austastlücke zwei Signale oder treten zwei Ereignisse auf, dann ist das Verhalten beider Zustandsmaschinen unterschiedlich. Die ereignisgetriebene Zustandsmaschine besitzt ein Gedächtnis in Form der Event Queue, in der die Reihenfolge der Ereignisse gespeichert sind. Die zeitgetriebene Zustandsmaschine hingegen kann die Reihenfolge der Änderungen nicht nachvollziehen. Nun ist es in dieser Logik, in der auf Basis von 3 Tastern Lautstärke oder Helligkeit erhöht oder verringert werden kann ein Unterschied. Mit der Mode Taste kann zwischen Helligkeit und Lautstärke geschaltet werden, mit der Plus oder Minus Taste wird dann entweder Helligkeit oder Lautstärke verändert. Steht also unser Mode in Helligkeit und wir möchten die Lautstärke erhöhen, dann würden wie zuerst die,mode Taste drücken und danach die,plus Taste. Die umgekehrte Reihenfolge würde anstelle dessen die Helligkeit erhöhen. In der Praxis ereignen sich derartige Effekte immer wieder, wenn z.b. Jitter kurzzeitig Zeitverschiebungen verursachen. Das Finden derartiger Fehler ist in der Regel extrem zeitaufwändig, da die daraus resultierenden Fehler nur selten reproduzierbar sind. (Auch hier gilt das Nyquist-Shannon Abtasttheorem.) Die Antwort auf dieses Problem in 90% der praktischen Fälle sehen Sie in Abbildung Nr. 4a. Hier ist eine Zustandsmaschine mit zeitgetriebener Architektur so modelliert, dass sie auch aus zeitlicher Sicht immer ein deterministisches Verhalten liefert. Aber, wie sieht es jetzt mit der Verstehbarkeit aus? Auch wenn nun MATLAB Stateflow Anwender evtl. anmerken, dass in Stateflow, die in diesem Diagramm auf Basis von Conditions definierten Reihenfolgen, direkt innerhalb von Zuständen angegeben werden können. Damit ist die überlagerte Logik nur weggeblendet. Die damit verbundene Komplexität im Verhalten aber trotzdem vorhanden. (Ich persönlich halte das für noch gefährlicher) Abbildung Nr. 4: von oben nach unten a,b,c,d
6 Was hier schief läuft erkennen wir, wenn wir die Zustandsmaschine in Abbildung Nr. 4b in die Betrachtung einbeziehen. Hier ist die gleiche Logik ebenfalls aus zeitlicher Sicht deterministisch modelliert, jedoch mit einem ganz anderen gedanklichen Ansatz. Woher dieser Ansatz kommt wird sofort klar, wenn wir das Aktivitätsdiagramm in Abbildung Nr. 4c betrachten. Ähnlichkeiten sind sicher nicht zu verleugnen. In zeitgetriebenen Systemen mit Kommunikation auf Basis von Signalen kennen Nebenläufigkeiten (Prozesse) nach einem Scheduling ihre Vergangenheit nicht mehr. Es gibt keine Hinweise darauf welche Signale sich in der Austastlücke geändert haben, aus diesem Grund muss jedes Signal abgefragt werden. Das ist in einem Ablaufdiagramm (Aktivitätsdiagramm oder Flussdiagramm) sehr viel eleganter zu modellieren, als in einem Zustandsdiagramm. Grundsätzlich gilt: In zeitgetriebenen (zeitkontinuierlichen) Architekturen mit Signalen lässt sich Verhalten wesentliche eleganter mit ablauforientierten Diagrammen modellieren. In ereignisgetriebenen (zeitdiskreten) Architekturen mit Ereignissen lassen sich Verhalten wesentlich eleganter mit Zustandsautomaten modellieren. Das wird noch einmal richtig deutlich, wenn wir einen Blick auf den generierten Code aus den verschiedenen Lösungsansätzen werfen. (Abbildung Nr. 4 unten) In diesen Beispielen stehen ca. 250 Zeilen C-Code 30 Zeilen C-Code gegenüber. Leider treffe ich sehr häufig auf Projekte, in denen symbolisch ausgedrückt Schrauben mit dem Hammer eingeschlagen werden und wenn das Resultat dann nicht den Vorstellungen entspricht werden Notation, Vorgehen oder Werkzeug die Schuld dafür gegeben. Obiges Beispiel ist nur stellvertretend zu sehen. In der Praxis erlebe ich gerade im Bereich der Architektur historisch gewachsene, verkrustete Strukturen, die sich natürlich negativ auf die Software Qualitätsattribute auswirken. Wie es besser geht Ich möchte Ihnen nun einen Architekturentwurf vorstellen, der vielen Applikationen auf die ich in der Praxis stoße ansatzweise gerecht wird. Natürlich hat jede Applikation ihre individuellen nichtfunktionalen Anforderungen. Also sehen Sie folgendes Beispiel nicht als den Eierlegenden Wollmilchsau-Ansatz für eine Architektur, auch wenn es den Eindruck erwecken könnte. Eine Architektur sollte grundsätzlich so einfach wie möglich gehalten werden und nur so komplex wie notwendig. Preemptives Scheduling zum Beispiel erhöht nicht nur die Komplexität des Scheduling, sondern damit verbunden auch die Latenzzeiten der Taskwechsel erheblich. Wo es nicht benötigt wird sollte es auch nicht eingesetzt werden. Auf der anderen Seite kann Preemptives Scheduling dort wo es sinnvoll ist das Systemdesign wesentlich vereinfachen. Aus Angst vor preemptivem Scheduling, die Komplexität in das Design zu verlagern, wäre genau so falsch. Wie wird eine Architektur entwickelt? Nichts ist einfacher als das Komplizieren. Georges Elgozy ( Politiker und Autor, ) Die meisten Embedded Systeme entsprechen heute in ihrem Basis-Verhalten einem reaktiven System. Die Logiken von reaktiven Systemen wiederum lassen sich sehr elegant auf Basis von Zustandsmaschinen, und diese wiederum auf Basis von grafischen Zustandsdiagrammen z.b. nach David Harel (UML) modellieren. Unterhalb der Steuerungen und logischen Verhalten befinden sich bei technischen Systemen häufig noch zeitgetriebene Funktionen (Operationen) wie z.b. Regler, Motorsteuerungen u.s.w.
7 Sehr häufig wird auf Grund der zeitgetriebenen Anforderungen dieser Operationen die Gesamtarchitektur eines Systems laufzeitorientiert (Zeitgetriebenes Scheduling) organisiert. Wie wir oben gesehen haben lassen sich Zustandsmaschinen mit einer zeitgetriebenen Laufzeitarchitektur nur sehr ineffizient kombinieren. Nun muss aber nicht grundsätzlich auf die Modellierung auf Basis von Zustandsmaschinen verzichtet werden. Natürlich können verschiedene Architektur-Muster mit Modellierungsansätzen kombiniert werden, ohne das Wildwuchs entsteht. Hier ein Beispiel: Die Anforderungen Zu Beginn möchte ich ein paar Anforderungen definieren, die unsere Architektur erfüllen soll. Ich orientiere mich dabei an den Anforderungen, auf die ich in realen Projekten häufig stoße. Unser fiktives System besitzt eine, in den Jahren immer komplexer gewordene, Systemebene. Diese muss auf Basis unterschiedlichster Betriebsmodi, situationsbedingt mit mehr oder weniger komplexen Abläufen auf Veränderungen in seiner Umwelt reagieren. Die meisten dieser Veränderungen haben aus äußerer Sicht den Charakter von Ereignissen. Es gibt aber auch Signale, die abgetastet werden müssen und auf die mit Regelzyklen reagiert werden muss. Die Regelzyklen wiederum sind von den Betriebsmodi und Situationen abhängig und werden durch die Systemebene parametrisiert. Parallel zu diesen Regelungen muss weitere Sensorik und Aktorik bedient werden. Typische Reaktionszeiten auf der Systemebene liegen in der Größenordnung von Millisekunden (ms). Typische Abtastraten und Reaktionszeiten der Regler und der Bedienung der Sensorik und Aktorik liegen in der Größenordnung von Mikrosekunden (µs). Fehler des Systems, die im Betrieb auftreten, können bei den Anwendern zu finanziellen Schäden führen. Die aktuelle Produktlinie ist für Ihre Robustheit im Feld bekannt und das ist eines der Hauptverkaufsargumente. Das neue System soll dieser Robustheit entsprechen, darf aber nicht teurer sein als das derzeitige System. Wenn möglich sollen die Hardware-Kosten reduziert werden. Das derzeitige System ist, auf Grund der seit der Einführung vor 12 Jahren stetig gestiegenen Anforderungen, nicht mehr effizient änderbar. Kleine Änderungen müssen mit hohem Testaufwand geprüft werden, damit die von den Kunden gewohnte Qualität weiterhin gesichert ist. Das neue System soll in dieser Hinsicht effizienter an neue Anforderungen angepasst und um neue Funktionalität erweitert werden können. Der Lebenszyklus wird wie beim aktuellen System auf mindestens 8 Jahre geplant. Über diesen Zeitraum soll die Pflege und Weiterentwicklung effizient und ohne Qualitätsverlust gewährleistet sein. Wenn Sie obige Anforderungen betrachten, was fällt Ihnen auf? Ich habe ausschließlich nichtfunktionale Anforderungen definiert. Wie wir oben gesehen haben liefern die nichtfunktionalen Anforderungen die wesentlichen Aspekte zum Entwurf der Architektur. Und aus diesem Grund wird im Architektur-Entwurf auch der Grundstein für die Qualitätsattribute gelegt. Die Steuerungs- oder Systemebene Betrachten wir übliche Systeme, dann besitzen diese, wie unser Beispiel, in der Regel eine Steuerungs- oder Systemebene. Hier befindet sich in der Regel die eigentliche Komplexität, die üblicherweise über die Jahre gewachsen ist. Die Steuerungen der Systemebene müssen auf Basis unterschiedlichster Betriebsmodi, situationsbedingt mit mehr oder weniger komplexen Abläufen auf Veränderungen der Umwelt reagieren. Die meisten dieser Veränderungen haben den Charakter von Ereignissen. In dieser Ebene finden im Verlauf des Lebenszyklus die meisten Änderungen statt, die durch die stetig steigende Komplexität zunehmend ineffizient durchgeführt werden können. Mit Hilfe von Zustandsautomaten auf Basis von Zustandsdiagrammen kann größere Komplexität implementiert und gewartet werden. UML Modellierungs-Werkzeuge, MATLAB Stateflow, IAR VisualSTATE und andere Werkzeuge erfreuen sich aus diesem Grund wachsender Beliebtheit.
8 Auch in unserem Fall möchten wir Verhaltensanteile auf der Systemebene auf Basis von Zustandsmaschinen modellieren. Daraus lässt sich folgende Anforderung an die Architektur ableiten. 1. Anforderung an die Architektur: Die Laufzeitarchitektur auf der Systemebene ist ereignisgetrieben. Die Interruptebene Aber unser System beinhaltet auch Regler. Nun lassen sich wiederum Regler auf Basis einer ereignisgetriebenen Laufzeitarchitektur nicht effizient abbilden. Ebenso haben wir Signale abzutasten, was für eine zeitgetriebene Architektur prädestiniert ist. Die Reaktionszeiten dieser Anteile von Systemen sind in der Regel wesentlich schneller, als die auf der Systemebene. So auch in unserem Fall. Auf der Systemebene liegen die Reaktionszeiten im Bereich von ms die Abtastung bzw. Generierung der Signale der Aktorik und Sensorik und die Zykluszeiten der Regler liegen im Bereich von µs. Aus diesem Grund bietet es sich an unterhalb der Systemebene zum Beispiel auf Basis des Interrupt Systems eine zeitgetriebene Laufzeitarchitektur zu realisieren. Da sich das Zeitverhalten z.b. von Reglern direkt auf die Regeleigenschaft auswirkt, kommt es auf dieser Ebene auf ein sehr exaktes Zeitverhalten an. Bereits sehr kleine Jitter können die Genauigkeit von Reglern stark beeinflussen. Bezüglich der beiden Ebenen können folgende Anforderungen definiert werden: 2. Anforderung an die Architektur: Unterhalb der Systemebene gibt es eine zeitgetriebene Laufzeitarchitektur auf der Interruptebene. Diese hat hohe Anforderungen an das Echtzeitverhalten. Reaktionen in µs mit geringst möglichem Jitter. Grundsätzlich lässt sich nun folgendes zur Laufzeitarchitektur festhalten. Es gibt zwei Ebenen mit den jeweiligen folgenden grundsätzlichen Anforderungen: Anforderung an die Systemebene Große Komplexität, vergleichsweise geringe Zeitanforderungen Steuert über die Interruptebene die Aktorik Bekommt von der Interruptebene Veränderungen der Umwelt mitgeteilt Anforderung an die Interrupt Ebene Geringe Komplexität, vergleichsweise hohe Zeitanforderungen Reagiert auf Steuerungsanweisungen aus der Systemebene Scannt Signale und gibt signifikante Änderungen an die Systemebene weiter Regelungen auf dieser Ebene reagieren direkt auf Signale Die Kommunikation Nun gelten bezüglich der Architekturmuster in zeitgetriebenen und ereignisgetriebenen Architekturen ganz spezielle Anforderungen an die Kommunikation. Grundsätzlich kann angenommen werden, dass die Verwendung von Ereignissen in zeitgetriebenen Systemen ungünstig ist und die Verwendung von Signalen in ereignisgetriebenen Systemen. (Siehe auch Embedded Software Engineering Report Nr. 27) Das bedeutet für unseren Architekturentwurf folgende weitere Anforderungen: 3. Anforderung an die Architektur: Auf der Systemebene werden zur Kommunikation ausschließlich Ereignisse eingesetzt. 4. Anforderung an die Architektur: Auf der zeitgetriebenen Interruptebene werden zur Kommunikation ausschließlich Signale eingesetzt. Zwischen diesen beiden Ebenen gibt es einen Datenfluss. Zum Beispiel wird das Verhalten der Regler abhängig von Systemzuständen durch die Systemebene parametrisiert. Hierfür muss die Systemebene den Reglern auf der Interruptebene Daten liefern.
9 Umgekehrt empfängt die Interruptebene von der Sensorik Daten, die in der Systemebene benötigt werden. Die Interruptebene muss also Daten an die Systemebene liefern können. In Kombination mit obigen Anforderungen ergeben sich folgende weitere Anforderungen: 5. Anforderung an die Architektur: Zur Kommunikation von der Interruptebene zur Systemebene müssen Signale in Ereignisse konvertiert werden. 6. Anforderung an die Architektur: Zur Kommunikation von der Systemebene zur Interruptebene müssen Ereignisse in Signale konvertiert werden. Da die Interrupt Ebene zeitlich schneller reagieren muss, als die Systemebene muss diese die Systemebene preemptiv unterbrechen. In unserer Architektur werden wir dem, durch die Nutzung von Interrupts, gerecht. Preemptives Verhalten hat nun wieder Anforderungen an die Kommunikation. Will z.b. eine Nebenläufigkeit auf der Systemebene, beispielsweise die Parametrisierung der Regler, die Daten für einen Regler auf der Interruptebene schreiben, kann diese durch den Regler selbst dabei unterbrochen werden. Dieses würde dann zu inkonsistenten Daten führen. Es muss also sicher gestellt werden, dass bei Unterbrechungen keine inkonsistenden Daten entstehen. Hierfür ist es üblich die Daten auf Basis von Semaphoren zu schützen. Diese haben aber einen großen Nachteil: sie agieren auf der Zeitebene. In unserem Fall würde das bedeuten, die Routine zur Reglerparametrisierung setzt vor dem Schreibvorgang ein Semaphor (i.d.r. in Form eine Interrupt-Sperre). Damit würde für den eigentlichen Regler ein Jitter in der Länge des Schreibvorganges erzeugt werden. Damit würden wir unserer Anforderung Nr. 2 widersprechen. Jedes Semaphor auf der Systemebene birgt die Gefahr das Zeitverhalten der Interruptebene zu verletzen. Es ergibt sich also eine weitere Anforderung: 7. Anforderung an die Architektur: Das Schreiben der Daten auf der Systemebene darf keine zeitlichen Auswirkungen auf der Interrupt Ebene haben. Nun steht in obigen nichtfunktionalen Anforderungen, dass die größte Anzahl der Änderungen auf der Systemebene zu erwarten sind und diese effizient durchzuführen sind. Weiterhin gibt die 5. Anforderung vor, dass von der Interruptebene auf Basis von Ereignissen in die Systemebene kommuniziert werden, soll. Dafür muss die Adresse des Empfängers auf der Systemebene bekannt sein. Ändert sich diese, z.b. in einer neuen Variante, dann folgert dieses auch eine Änderung im Code der Interruptebene, was einer leichten Änderbarkeit der Systemebene entgegensteht. Hier gibt es den Architektur Pattern Publisher Subscriber, der es ermöglicht, dass der Sender von Daten den Empfänger nicht explizit kennen muss, woraus sich die folgende Anforderung ergibt. 8. Anforderung an die Architektur: Sender auf der Interruptebene müssen die Adressen der Empfänger nicht kennen. Im folgenden möchte ich nun eine Architektur und ihre Muster vorstellen, die obigen Anforderungen entspricht. Workshop Termine: Stuttgart München Lüneburg Anmeldung:
10 Der Architektur Entwurf In der folgenden Abbildung Nr. 5 ist ein Architektur-Entwurf mit zwei Ebenen dargestellt. Die obere Systemebene folgt den Anforderungen entsprechend dem zeitdiskreten Paradigma mit ereignisorientiertem Scheduling und Ereignissen zur Kommunikation zwischen Nebenläufigkeiten und zu anderen Ebenen. Auf dieser Ebene wird das Verhalten auf Basis von Zustandsautomaten modelliert. Die untere Interruptebene folgt den Anforderungen entsprechend dem zeitkontinuierlichen Paradigma. Auf Basis eines oder mehrerer Timer-Interrupts wird ein zeitgetriebenes Scheduling organisiert. Zur Kommunikation zwischen Nebenläufigkeiten und in andere Ebenen werden Signale verwendet. Auf Grund des zeitkontinuierlichen Paradigma wird das Verhalten der Nebenläufigkeiten NICHT auf Basis von Zustandsmaschinen, sondern ausschließlich ablauforientiert in C programmiert oder auf Basis von Aktivitätsdiagrammen oder Flowcharts modelliert. 1. Anforderung an die Architektur: Die Laufzeitarchitektur auf der Systemebene ist ereignisgetrieben. Nichtfunktionale Anforderung: Mit Hilfe von Zustandsautomaten auf Basis von Zustandsdiagrammen können hier größere Komplexitäten implementiert und gewartet werden. 3. Anforderung an die Architektur: Auf der Systemebene werden zur Kommunikation ausschließlich Ereignisse eingesetzt. 5. Anforderung an die Architektur: Zur Kommunikation von der Interruptebene zur Systemebene müssen Signale in Ereignisse konvertiert werden. 2. Anforderung an die Architektur: Unterhalb der Systemebene gibt es eine zeitgetriebene Laufzeitarchitektur auf der Interruptebene. Diese hat hohe Anforderungen an das Echtzeitverhalten. Reaktionen in µs mit geringst möglichem Jitter. 4. Anforderung an die Architektur: Auf der zeitgetriebenen Interruptebene werden zur Kommunikation ausschließlich Signale eingesetzt. 6. Anforderung an die Architektur: Zur Kommunikation von der Systemebene zur Interruptebene müssen Ereignisse in Signale konvertiert werden. Abbildung Nr. 5: Architektur Entwurf Schichtenmodell Nun fehlen uns noch die 7. und 8. Anforderung an die Architektur. Sie wirken sich auf die Kommunikations-Schnittstelle zwischen der System- und Interruptebene aus. Wie genau die Transformation der Kommunikation von Ereignissen zu Signalen und umgekehrt aussehen kann, vor allem in Form einer losen Kopplung, um den Architektur-Anforderungen 7 und 8 gerecht zu werden, werden wir im folgenden genauer betrachten.
11 Transformation der Kommunikation und lose Kopplung Die Transformation der Ereignisse zu Signalen muss auf Basis von loser Kopplung auf der Zeitebene geschehen. Da die Systemebene keine Jitter auf der Interruptebene erzeugen soll. Das wird durch zwei Datenbereiche ermöglicht. Einer steht zum Schreiben von neuen Daten bereit. Erst wenn der Schreibvorgang abgeschlossen ist und die Daten gültig sind wird mit einem Pointer der Zugriff umgeschaltet. Dieser Vorgang kann atomar in einem CPU Zyklus durchgeführt werden und kommt ohne Interrupt-Sperren aus. 7. Anforderung an die Architektur: Das Schreiben der Daten auf der Systemebene darf keine zeitlichen Auswirkungen auf der Interruptebene haben. 8. Anforderung an die Architektur: Sender auf der Interruptebene müssen die Adressen der Empfänger nicht kennen. Die Transformation der Signale in Ereignisse auf Basis von loser Kopplung auf der Datenebene. Um der Forderung der einfachen Änderbarkeit und Erweiterbarkeit der Systemebene gerecht zu werden benötigen wir eine lose Kopplung auf der Systemebene. Hierfür bietet sich die Anwendung des Publisher Supscriber Pattern an. In nebenstehender Abbildung Nr. 7 sehen wir eine grafische Darstellung. Lieferanten von Daten können bei einem Broker bekanntgeben, welche Daten sie liefern. Auf der anderen Seite können sich Konsumenten auf diese Daten beim Broker abonnieren. (Subscriben). Der Sender (Systemebene) muss also nicht die Adressen der Empfänger kennen. Er liefert die Daten an den Broker, und dieser versendet die Daten an die Konsumenten. (siehe auch Techletter 1 + 2) Architektur Implementation Abbildung 7 Die reale Implementation solch einer Architektur, zum Beispiel auf Basis eines UML Modells mit eingebundenen MATLAB Regler, finden Sie in der Techletter Nr. 2 beschrieben. Passend dazu liegt auf der Homepage von Willert Software Tools ( ein Rhapsody-Modell und in Kürze hoffentlich auch ein Enterprise Architekt-Modell. Haben Sie noch Fragen? Dann schreiben Sie doch einfach eine an awillert@willert.de oder besuchen Sie unseren Workshop,Software Architektur für Embedded Systeme.
12 Andreas Willert live zu den Themen: Architektur, das Fundament der Software Embedded World Nürnberg Weitere Ausgaben vom EMBEDDED SOFTWARE ENGINEERING REPORT UND DEM TECHLETTER finden sie unter: Trainings und Schulungen bei Willert: EMBEDDED UML START-UP TRAININGS 1. Hands-on exercises based on Rational Rhapsody in C 2. Hands-on exercises based on SPARX Systems Enterprise Architect REQUIREMENT ENGINEERING START-UP TRAININGS 1. Hands-on exercises based on Rational DOORS 2. Hands-on exercises based on Polarion SOFTWARE ARCHITEKTUR & DESIGN für Embedded Systeme / Workshop Autor: ANDREAS WILLERT Herausgeber: WILLERT SOFTWARE TOOLS GMBH Hannoversche Straße Bückeburg info@willert.de Tel.:
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren
Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als
MehrONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele
ONLINE-AKADEMIE Ziele Wenn man von Menschen hört, die etwas Großartiges in ihrem Leben geleistet haben, erfahren wir oft, dass diese ihr Ziel über Jahre verfolgt haben oder diesen Wunsch schon bereits
MehrAnleitung über den Umgang mit Schildern
Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder
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
MehrPersönliche Zukunftsplanung mit Menschen, denen nicht zugetraut wird, dass sie für sich selbst sprechen können Von Susanne Göbel und Josef Ströbl
Persönliche Zukunftsplanung mit Menschen, denen nicht zugetraut Von Susanne Göbel und Josef Ströbl Die Ideen der Persönlichen Zukunftsplanung stammen aus Nordamerika. Dort werden Zukunftsplanungen schon
MehrWas meinen die Leute eigentlich mit: Grexit?
Was meinen die Leute eigentlich mit: Grexit? Grexit sind eigentlich 2 Wörter. 1. Griechenland 2. Exit Exit ist ein englisches Wort. Es bedeutet: Ausgang. Aber was haben diese 2 Sachen mit-einander zu tun?
MehrEs gilt das gesprochene Wort. Anrede
Sperrfrist: 28. November 2007, 13.00 Uhr Es gilt das gesprochene Wort Statement des Staatssekretärs im Bayerischen Staatsministerium für Unterricht und Kultus, Karl Freller, anlässlich des Pressegesprächs
MehrAdobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost
Adobe Photoshop Lightroom 5 für Einsteiger Bilder verwalten und entwickeln Sam Jost Kapitel 2 Der erste Start 2.1 Mitmachen beim Lesen....................... 22 2.2 Für Apple-Anwender.........................
MehrDay-Trading. Ich zeige Ihnen hier an einem Beispiel wie das aussieht.
Day-Trading Das Day-Trading, der Handel innerhalb eines Tages, wird von den meisten Tradern angestrebt. Das stelle ich auch immer wieder bei meinen Schülern in den Seminaren fest. Sie kleben förmlich vor
MehrDas Leitbild vom Verein WIR
Das Leitbild vom Verein WIR Dieses Zeichen ist ein Gütesiegel. Texte mit diesem Gütesiegel sind leicht verständlich. Leicht Lesen gibt es in drei Stufen. B1: leicht verständlich A2: noch leichter verständlich
Mehr40-Tage-Wunder- Kurs. Umarme, was Du nicht ändern kannst.
40-Tage-Wunder- Kurs Umarme, was Du nicht ändern kannst. Das sagt Wikipedia: Als Wunder (griechisch thauma) gilt umgangssprachlich ein Ereignis, dessen Zustandekommen man sich nicht erklären kann, so dass
MehrNina. 2. Ninas Mutter lebt nicht mit Nina und der Familie zusammen. Warum könnte das so sein? Vermute. Vielleicht ist sie. Möglicherweise.
Seite 1 von 6 1. Hier siehst du Bilder von Nina und den Personen, mit denen Nina zusammenwohnt. Schau dir die Szene an und versuche, die Zitate im Kasten den Bildern zuzuordnen. Zu jedem Bild gehören zwei
MehrGesprächsführung für Sicherheitsbeauftragte Gesetzliche Unfallversicherung
Ihre Unfallversicherung informiert Gesprächsführung für Sicherheitsbeauftragte Gesetzliche Unfallversicherung Weshalb Gesprächsführung für Sicherheitsbeauftragte? 1 Als Sicherheitsbeauftragter haben Sie
MehrBeschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung
Outlook Weiterleitungen & Abwesenheitsmeldungen Seite 1 von 6 Beschreibung E-Mail Regeln z.b. Abwesenheitsmeldung und Weiterleitung Erstellt: Quelle: 3.12.09/MM \\rsiag-s3aad\install\vnc\email Weiterleitung
Mehr1. Einführung 2. 2. Erstellung einer Teillieferung 2. 3. Erstellung einer Teilrechnung 6
Inhalt 1. Einführung 2 2. Erstellung einer Teillieferung 2 3. Erstellung einer Teilrechnung 6 4. Erstellung einer Sammellieferung/ Mehrere Aufträge zu einem Lieferschein zusammenfassen 11 5. Besonderheiten
MehrMind Mapping am PC. für Präsentationen, Vorträge, Selbstmanagement. von Isolde Kommer, Helmut Reinke. 1. Auflage. Hanser München 1999
Mind Mapping am PC für Präsentationen, Vorträge, Selbstmanagement von Isolde Kommer, Helmut Reinke 1. Auflage Hanser München 1999 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21222 0 schnell
MehrRohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009
MikeC.Kock Rohstoffanalyse - COT Daten - Gold, Fleischmärkte, Orangensaft, Crude Oil, US Zinsen, S&P500 - KW 07/2009 Zwei Märkte stehen seit Wochen im Mittelpunkt aller Marktteilnehmer? Gold und Crude
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
Mehr50 Fragen, um Dir das Rauchen abzugewöhnen 1/6
50 Fragen, um Dir das Rauchen abzugewöhnen 1/6 Name:....................................... Datum:............... Dieser Fragebogen kann und wird Dir dabei helfen, in Zukunft ohne Zigaretten auszukommen
Mehrinfach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock
infach Ihr Weg zum finanzellen Erfolg Geld Florian Mock FBV Die Grundlagen für finanziellen Erfolg Denn Sie müssten anschließend wieder vom Gehaltskonto Rückzahlungen in Höhe der Entnahmen vornehmen, um
MehrZeichen bei Zahlen entschlüsseln
Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren
MehrOffen für Neues. Glas im Innenbereich.
Offen für Neues. Glas im Innenbereich. Leichtigkeit durch Transparenz. Innovative Glasanwendungen im Innenbereich Glas ist einzigartig. Denn kein anderes Material ist in der Lage, Räume mit Licht zu gestalten
MehrUmgekehrte Kurvendiskussion
Umgekehrte Kurvendiskussion Bei einer Kurvendiskussion haben wir eine Funktionsgleichung vorgegeben und versuchen ihre 'Besonderheiten' herauszufinden: Nullstellen, Extremwerte, Wendepunkte, Polstellen
Mehr4. BEZIEHUNGEN ZWISCHEN TABELLEN
4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe
MehrErstellen einer digitalen Signatur für Adobe-Formulare
Erstellen einer digitalen Signatur für Adobe-Formulare (Hubert Straub 24.07.13) Die beiden Probleme beim Versenden digitaler Dokumente sind einmal die Prüfung der Authentizität des Absenders (was meist
MehrFotostammtisch-Schaumburg
Der Anfang zur Benutzung der Web Seite! Alles ums Anmelden und Registrieren 1. Startseite 2. Registrieren 2.1 Registrieren als Mitglied unser Stammtischseite Wie im Bild markiert jetzt auf das Rote Register
MehrLineare Gleichungssysteme
Lineare Gleichungssysteme 1 Zwei Gleichungen mit zwei Unbekannten Es kommt häufig vor, dass man nicht mit einer Variablen alleine auskommt, um ein Problem zu lösen. Das folgende Beispiel soll dies verdeutlichen
MehrSchritt 1. Anmelden. Klicken Sie auf die Schaltfläche Anmelden
Schritt 1 Anmelden Klicken Sie auf die Schaltfläche Anmelden Schritt 1 Anmelden Tippen Sie Ihren Benutzernamen und Ihr Passwort ein Tipp: Nutzen Sie die Hilfe Passwort vergessen? wenn Sie sich nicht mehr
MehrProjektmanagement in der Spieleentwicklung
Projektmanagement in der Spieleentwicklung Inhalt 1. Warum brauche ich ein Projekt-Management? 2. Die Charaktere des Projektmanagement - Mastermind - Producer - Projektleiter 3. Schnittstellen definieren
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
MehrDer Kalender im ipad
Der Kalender im ipad Wir haben im ipad, dem ipod Touch und dem iphone, sowie auf dem PC in der Cloud einen Kalender. Die App ist voreingestellt, man braucht sie nicht laden. So macht es das ipad leicht,
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
MehrComputeria Rorschach Mit Excel Diagramme erstellen
Mit Excel Diagramme erstellen 25.12.2010 Roland Liebing Mit Excel Diagramme erstellen Diagramme können Zahlenwerte veranschaulichen, das heisst, mit Hilfe eines Diagramms können Zahlen besser miteinander
Mehr20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte
MehrEvangelisieren warum eigentlich?
Predigtreihe zum Jahresthema 1/12 Evangelisieren warum eigentlich? Ich evangelisiere aus Überzeugung Gründe, warum wir nicht evangelisieren - Festes Bild von Evangelisation - Negative Erfahrungen von und
MehrNicht kopieren. Der neue Report von: Stefan Ploberger. 1. Ausgabe 2003
Nicht kopieren Der neue Report von: Stefan Ploberger 1. Ausgabe 2003 Herausgeber: Verlag Ploberger & Partner 2003 by: Stefan Ploberger Verlag Ploberger & Partner, Postfach 11 46, D-82065 Baierbrunn Tel.
MehrSich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon.
www.blogger.com Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. www.blogger.com ist einer davon. Sie müssen sich dort nur ein Konto anlegen. Dafür gehen Sie auf
MehrAGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b
AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität
MehrWir machen uns stark! Parlament der Ausgegrenzten 20.-22.9.2013
Wir machen uns stark! Parlament der Ausgegrenzten 20.-22.9.2013 Die Armutskonferenz Einladung zum Parlament der Ausgegrenzten 20.-22. September 2013 Was ist das Parlament der Ausgegrenzten? Das Parlament
MehrLernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation
Lernerfolge sichern - Ein wichtiger Beitrag zu mehr Motivation Einführung Mit welchen Erwartungen gehen Jugendliche eigentlich in ihre Ausbildung? Wir haben zu dieser Frage einmal die Meinungen von Auszubildenden
MehrZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN. Der Zauberwürfel-Roboter. Paul Giese. Schule: Wilhelm-Raabe-Schule
ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht BREMERHAVEN Der Zauberwürfel-Roboter Paul Giese Schule: Wilhelm-Raabe-Schule Jugend forscht 2013 Kurzfassung Regionalwettbewerb Bremerhaven
MehrEva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit
Eva Douma: Die Vorteile und Nachteile der Ökonomisierung in der Sozialen Arbeit Frau Dr. Eva Douma ist Organisations-Beraterin in Frankfurt am Main Das ist eine Zusammen-Fassung des Vortrages: Busines
MehrAlle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.
Gentlemen", bitte zur Kasse! Ravensburger Spiele Nr. 01 264 0 Autoren: Wolfgang Kramer und Jürgen P. K. Grunau Grafik: Erhard Dietl Ein Gaunerspiel für 3-6 Gentlemen" ab 10 Jahren Inhalt: 35 Tresor-Karten
Mehr1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer - 08.09.2010 19:00 Uhr
1: 9. Hamburger Gründerpreis - Kategorie Existenzgründer - Sehr geehrter Herr Bürgermeister, sehr geehrter Herr Dr. Vogelsang, sehr geehrter Herr Strunz, und meine sehr geehrte Damen und Herren, meine
MehrAgile Enterprise Development. Sind Sie bereit für den nächsten Schritt?
Agile Enterprise Development Sind Sie bereit für den nächsten Schritt? Steigern Sie noch immer die Wirtschaftlichkeit Ihres Unternehmens alleine durch Kostensenkung? Im Projektportfolio steckt das Potenzial
Mehrgeben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen
geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Vollständigkeit halber aufgeführt. Gehen wir einmal davon aus, dass die von uns angenommenen 70% im Beispiel exakt berechnet sind. Was würde
MehrKaufkräftige Zielgruppen gewinnen
Kaufkräftige Zielgruppen gewinnen Wie Sie Besucher auf Ihre Webseite locken, die hochgradig an Ihrem Angebot interessiert sind 2014 David Unzicker, alle Rechte vorbehalten Hallo, mein Name ist David Unzicker
MehrDas Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server
Hallo Leute Das Festkomitee hat die Abi-Seite neu konzipiert, die nun auf einem (gemieteten) Share Point Server (= echtes - zeug ) liegt! Die neue Form hat insbesondere folgende Vorteile: Du bekommst einen
MehrWie halte ich Ordnung auf meiner Festplatte?
Wie halte ich Ordnung auf meiner Festplatte? Was hältst du von folgender Ordnung? Du hast zu Hause einen Schrank. Alles was dir im Wege ist, Zeitungen, Briefe, schmutzige Wäsche, Essensreste, Küchenabfälle,
MehrWeb-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter
Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................
Mehr! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006
!"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst
MehrMeet the Germans. Lerntipp zur Schulung der Fertigkeit des Sprechens. Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten
Meet the Germans Lerntipp zur Schulung der Fertigkeit des Sprechens Lerntipp und Redemittel zur Präsentation oder einen Vortrag halten Handreichungen für die Kursleitung Seite 2, Meet the Germans 2. Lerntipp
MehrDow Jones am 13.06.08 im 1-min Chat
Dow Jones am 13.06.08 im 1-min Chat Dieser Ausschnitt ist eine Formation: Wechselstäbe am unteren Bollinger Band mit Punkt d über dem 20-er GD nach 3 tieferen Hoch s. Wenn ich einen Ausbruch aus Wechselstäben
Mehr1. Was ihr in dieser Anleitung
Leseprobe 1. Was ihr in dieser Anleitung erfahren könnt 2 Liebe Musiker, in diesem PDF erhaltet ihr eine Anleitung, wie ihr eure Musik online kostenlos per Werbevideo bewerben könnt, ohne dabei Geld für
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrL10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016
L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016 Referentin: Dr. Kelly Neudorfer Universität Hohenheim Was wir jetzt besprechen werden ist eine Frage, mit denen viele
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
MehrEinrichtung des Cisco VPN Clients (IPSEC) in Windows7
Einrichtung des Cisco VPN Clients (IPSEC) in Windows7 Diese Verbindung muss einmalig eingerichtet werden und wird benötigt, um den Zugriff vom privaten Rechner oder der Workstation im Home Office über
MehrSo funktioniert das online-bestellsystem GIMA-direkt
So funktioniert das online-bestellsystem GIMA-direkt Loggen Sie sich mit Ihren Anmeldedaten, die Sie von GIMA erhalten haben, in das Bestellsystem ein. Sollten Sie noch keine Anmeldedaten haben und Für
MehrContent Management System mit INTREXX 2002.
Content Management System mit INTREXX 2002. Welche Vorteile hat ein CM-System mit INTREXX? Sie haben bereits INTREXX im Einsatz? Dann liegt es auf der Hand, dass Sie ein CM-System zur Pflege Ihrer Webseite,
MehrKrippenspiel für das Jahr 2058
Ev.-Luth. Landeskirche Sachsens Spielen & Gestalten Krippenspiel für das Jahr 2058 Krippenspiel für das Jahr 2058 K 125 Impressum Weihnachtsspielangebot 2009 Krippenspiel für das Jahr 2058 K 125 Die Aufführungsrechte
MehrJeunesse Autopiloten
Anleitung für Jeunesse Partner! Wie Du Dir mit dem Stiforp-Power Tool Deinen eigenen Jeunesse Autopiloten erstellst! Vorwort: Mit dem Stiforp Power Tool, kannst Du Dir für nahezu jedes Business einen Autopiloten
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
MehrAnleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung
Anleitung zur Daten zur Datensicherung und Datenrücksicherung Datensicherung Es gibt drei Möglichkeiten der Datensicherung. Zwei davon sind in Ges eingebaut, die dritte ist eine manuelle Möglichkeit. In
MehrDas Persönliche Budget in verständlicher Sprache
Das Persönliche Budget in verständlicher Sprache Das Persönliche Budget mehr Selbstbestimmung, mehr Selbstständigkeit, mehr Selbstbewusstsein! Dieser Text soll den behinderten Menschen in Westfalen-Lippe,
MehrSehr geehrte Damen und Herren, liebe Eltern, Freunde,
Sehr geehrte Damen und Herren, liebe Eltern, Freunde, wenn ich mir die vergangenen zwei Jahre so vor Augen führe, dann bildete die Aufnahmezeremonie immer den Höhepunkt des ganzen Jahres. Euch heute, stellvertretend
MehrWann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt?
DGSV-Kongress 2009 Wann ist eine Software in Medizinprodukte- Aufbereitungsabteilungen ein Medizinprodukt? Sybille Andrée Betriebswirtin für und Sozialmanagement (FH-SRH) Prokuristin HSD Händschke Software
Mehr2.1 Erstellung einer Gutschrift über den vollen Rechnungsbetrag
1. Einführung Manchmal ist es notwendig, dem Kunden eine Gutschrift zu einer bestimmten Rechnung, über einzelne Positionen oder auch völlig frei von einer Basis-Rechnung zu erstellen. Die verschiedenen
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
MehrHohe Kontraste zwischen Himmel und Landschaft abmildern
PhotoLine-Bildbearbeitung Erstellt mit Version 16.11 In diesem Beispiel möchte ich zeigen, wie ich zur Zeit Landschaftsbilder mit hohen Kontrasten bearbeite. "Zur Zeit" deshalb, weil sich das natürlich
Mehr1. TEIL (3 5 Fragen) Freizeit, Unterhaltung 2,5 Min.
EINFÜHRUNG 0,5 Min. THEMEN: Freizeit, Unterhaltung (T1), Einkaufen (T2), Ausbildung, Beruf (T3), Multikulturelle Gesellschaft (T4) Hallo/Guten Tag. (Nehmen Sie bitte Platz. Können Sie mir bitte die Nummer
MehrProfessionelle Seminare im Bereich MS-Office
Serienbrief aus Outlook heraus Schritt 1 Zuerst sollten Sie die Kontakte einblenden, damit Ihnen der Seriendruck zur Verfügung steht. Schritt 2 Danach wählen Sie bitte Gerhard Grünholz 1 Schritt 3 Es öffnet
MehrInternationales Altkatholisches Laienforum
Internationales Altkatholisches Laienforum Schritt für Schritt Anleitung für die Einrichtung eines Accounts auf admin.laienforum.info Hier erklären wir, wie ein Account im registrierten Bereich eingerichtet
MehrHerzlich Willkommen beim Webinar: Was verkaufen wir eigentlich?
Herzlich Willkommen beim Webinar: Was verkaufen wir eigentlich? Was verkaufen wir eigentlich? Provokativ gefragt! Ein Hotel Marketing Konzept Was ist das? Keine Webseite, kein SEO, kein Paket,. Was verkaufen
MehrBewertung des Blattes
Bewertung des Blattes Es besteht immer die Schwierigkeit, sein Blatt richtig einzuschätzen. Im folgenden werden einige Anhaltspunkte gegeben. Man unterscheidet: Figurenpunkte Verteilungspunkte Längenpunkte
MehrLeichte-Sprache-Bilder
Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen
MehrGeld Verdienen im Internet leicht gemacht
Geld Verdienen im Internet leicht gemacht Hallo, Sie haben sich dieses E-book wahrscheinlich herunter geladen, weil Sie gerne lernen würden wie sie im Internet Geld verdienen können, oder? Denn genau das
MehrWir machen neue Politik für Baden-Württemberg
Wir machen neue Politik für Baden-Württemberg Am 27. März 2011 haben die Menschen in Baden-Württemberg gewählt. Sie wollten eine andere Politik als vorher. Die Menschen haben die GRÜNEN und die SPD in
MehrGutes Leben was ist das?
Lukas Bayer Jahrgangsstufe 12 Im Hirschgarten 1 67435 Neustadt Kurfürst-Ruprecht-Gymnasium Landwehrstraße22 67433 Neustadt a. d. Weinstraße Gutes Leben was ist das? Gutes Leben für alle was genau ist das
MehrOutlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang
sysplus.ch outlook - mail-grundlagen Seite 1/8 Outlook Mail-Grundlagen Posteingang Es gibt verschiedene Möglichkeiten, um zum Posteingang zu gelangen. Man kann links im Outlook-Fenster auf die Schaltfläche
MehrGEVITAS Farben-Reaktionstest
GEVITAS Farben-Reaktionstest GEVITAS Farben-Reaktionstest Inhalt 1. Allgemeines... 1 2. Funktionsweise der Tests... 2 3. Die Ruhetaste und die Auslösetaste... 2 4. Starten der App Hauptmenü... 3 5. Auswahl
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrPflegende Angehörige Online Ihre Plattform im Internet
Pflegende Angehörige Online Ihre Plattform im Internet Wissen Wichtiges Wissen rund um Pflege Unterstützung Professionelle Beratung Austausch und Kontakt Erfahrungen & Rat mit anderen Angehörigen austauschen
MehrCatherina Lange, Heimbeiräte und Werkstatträte-Tagung, November 2013 1
Catherina Lange, Heimbeiräte und Werkstatträte-Tagung, November 2013 1 Darum geht es heute: Was ist das Persönliche Geld? Was kann man damit alles machen? Wie hoch ist es? Wo kann man das Persönliche Geld
MehrStellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster
Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.
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
MehrSchritt 1 - Registrierung und Anmeldung
Schritt 1 - Registrierung und Anmeldung Anmeldung: Ihre Zugangsdaten haben Sie per EMail erhalten, bitte melden Sie sich mit diesen auf www.inthega-datenbank.de an. Bitte merken Sie sich die Zugangsdaten
MehrKleines Handbuch zur Fotogalerie der Pixel AG
1 1. Anmelden an der Galerie Um mit der Galerie arbeiten zu können muss man sich zuerst anmelden. Aufrufen der Galerie entweder über die Homepage (www.pixel-ag-bottwartal.de) oder über den direkten Link
Mehr1. Einführung. 2. Archivierung alter Datensätze
1. Einführung Mit wachsender Datenmenge und je nach Konfiguration, kann orgamax mit der Zeit langsamer werden. Es gibt aber diverse Möglichkeiten, die Software wieder so zu beschleunigen, als würden Sie
MehrPapa - was ist American Dream?
Papa - was ist American Dream? Das heißt Amerikanischer Traum. Ja, das weiß ich, aber was heißt das? Der [wpseo]amerikanische Traum[/wpseo] heißt, dass jeder Mensch allein durch harte Arbeit und Willenskraft
MehrTevalo Handbuch v 1.1 vom 10.11.2011
Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche
MehrTREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel
von Ricardo Gantschew btk Berlin Dozent / Till Nagel 01 IDEE Einige kennen vielleicht GoogleTrends. Hierbei handelt es sich um eine Anwendung, bei der man verschiedenste Begriffe auf die Häufigkeit ihrer
MehrErklärung zu den Internet-Seiten von www.bmas.de
Erklärung zu den Internet-Seiten von www.bmas.de Herzlich willkommen! Sie sind auf der Internet-Seite vom Bundes-Ministerium für Arbeit und Soziales. Die Abkürzung ist: BMAS. Darum heißt die Seite auch
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
MehrWas man mit dem Computer alles machen kann
Was man mit dem Computer alles machen kann Wie komme ich ins Internet? Wenn Sie einen Computer zu Hause haben. Wenn Sie das Internet benutzen möchten, dann brauchen Sie ein eigenes Programm dafür. Dieses
MehrDER SELBST-CHECK FÜR IHR PROJEKT
DER SELBST-CHECK FÜR IHR PROJEKT In 30 Fragen und 5 Tipps zum erfolgreichen Projekt! Beantworten Sie die wichtigsten Fragen rund um Ihr Projekt für Ihren Erfolg und für Ihre Unterstützer. IHR LEITFADEN
MehrZIELE erreichen WERTSTROM. IDEEN entwickeln. KULTUR leben. optimieren. KVP und Lean Management:
KVP und Lean Management: Damit machen wir Ihre Prozesse robuster, schneller und kostengünstiger. ZIELE erreichen WERTSTROM optimieren IDEEN entwickeln KULTUR leben 1 Lean Management Teil 1: Das Geheimnis
Mehr