6.7 KiB
Einführung
Anwendungsgebiete
- ES werden in unterschiedlichen Bereichen verwendet: ** Autos ** Flugzeuge ** Züge ** Mobiltelefone ** Gesundheitssektor ** Sicherheit ** TVs ** Fabriken ** Intelligente Gebäude ** Logistik (RFID) - Tracking von Objekten ** Robotik
Wichtige Eigenschaften
- dependable ** Reliability - Probability that system will not fail ** Maintainability - Probability that failing system can be repaired within certain timeframe ** Availability - Probability that system is available ** Safety - System will not cause any harm ** Security - confidential data remains confidential and authentic communication is guaranteed
- efficient ** Energie ** Laufzeiteffizienz ** Codegröße ** Gewicht/Masse der Hardware ** Kosten
ES müssen oftmals Echtzeitbedingungen umsetzen. Zwei Arten:
- harte Bedingungen - Nicht-Einhalten führt zu Katastrophe
- weiche Bedingungen - alle anderen Zeitbedingungen
weitere Eigenschaften
- reaktiv
- hybrid - analoge und digitale Bestandteile
- DUI - dedicated user interface
Herausforderungen im Design von ES
- Software muss auf Hardware abgestimmt werden
- ¬funktionale Bedingungen müssen eingehalten werden ** Echtzeitbedingungen ** Energieeffizienz ** Dependability - Verlässlichkeit
- Zeitmanagement ist eine der größten Herausforderungen
- Concurrency (Nebenläufigkeit) ist essentiell
- Kombinieren von Komponenten ist wichtig für Design
- traditionelle sequentielle Prog.Sprachen sind nicht ideal
Designflow
-
rounded boxes - stored info
-
rectangles - transformations on data
-
application knowledge -> specification -> HW components -> system software => design repository -> design -> [test] | | [application mapping]
-
[optimization]
-
[evaluation & validation]
-
[test]
-
Figure 1.6 page 13
Spezifikationen und Modellierung
Bedingungen
- Model: Simplification of another entity, which can be a physical thing or another model. The model contains exactly those characteristics and properties of the modeled entity that are relevant for a given task. A model is minimal with respect to a task if it does not contain any other characteristics than those relevant for the task.
Modelle werden in Sprachen beschrieben. Sprachen sollten folgende Eigenschaften aufweisen (Wunschliste):
- Hierarchie ** Verhaltshierarchien - enthalten für Beschreibung des Systemverhaltens notwendige Objekte, z.B. Zustände, Events ** Strukturhierarchien - beschreiben physische Komponenten des Systems
- Komponenten-basiertes Design - Verhalten des Systems muss von Verhalten der Komponenten ableitbar sein
- Nebenläufigkeit
- Synchronisation und Kommunikation
- Zeitverhalten (timing behavior) ** elapsed time (vergangene Zeit) seit X ** Verzögern von Prozessen für spezifizierte Zeit ** being able to specify timeouts ** Fähigkeit Deadlines und Schedules zu spezifizieren
- Zustandorientiertes Verhalten
- Eventhandling
- Ausnahmeorientiertes Verhalten
- Vorhandensein von Programmierelementen
- Ausführbarkeit
- Support für Design großer Systeme
- Support für Anwendungsdomain
- Lesbarkeit
- Portabilität und Flexibilität
- Termination - feasible to identify processes which will terminate from the specification
- Support für ¬Standard I/O-Devices
- ¬funktionale Eigenschaften
- Support für Design von verlässlichen (dependable) Systemen
- keine Hindernisse für Generierung effizienter Implementierungen
- angemessenes MoC (Model of Computation)
Models of computation (Berechnungsmodelle)
- MoCs definieren: ** Komponenten ** Kommunikationsprotokolle
Beziehungen zwischen diesen Punkten können in Graphen festgehalten werden.
Models of Communication:
- shared memory
- message passing ** async message passing - non-blocking communication ** sync message passing - blocking communication, rendez-vous based communication ** extended rendez-vous, remote invocation
Organisation von Berechnungen innerhalb der Komponenten
- Von-Neumann Modell
- discrete event model
- endliche Automaten
- Differentialgleichungen
Kombinierte Modelle: Tatsächliche Sprachen kombinieren normalerweise ein Kommunikationsmodell mit einer Organisation von Berechnungen innerhalb der Komponenten.
Beispiele:
- StateChart - kombiniert endliche Automaten mit shared memory
- SDL - kombiniert asynchrones message passing with endlichen Automaten
- ADA, CSP - kombinieren von-Neumann mit synchronem message passing
Figure 2.7 page 34
Hardware
Input
Sensoren:
- Beschleunigungssensoren
- Regensensoren
- Bildsensoren (charge-coupled devices und CMOS)
- biometrische Sensoren
- künstliche Augen
- RFID
- andere Sensoren
Sensoren erzeugen Signale.
Diskretisierung von Zeit: Sample-and-hold circuits
- messen eines Wertes aus dem kontinuierlichen Zeitspektrum
- gemessener Wert wird für bestimmte Zeitdauer weitergeleitet
- danach zurück zur Messung des Wertes
- Output gleicht damit diskreten Werten (gleicher Wert für bestimmte Zeitdauer)
Diskretisierung von Werten: A/D Konverter
- Flash A/D converter ** large number of comparators ** each comparator has two inputs (+ and -) ** if voltage at + larger than at - -> logical 1, otherwise logical 0
Processing Units
- Energie"verbrauch" ist wichtigste Beschränkung in ES
ASICs (Application-specific circuits)
- hohe Kosten
- sehr gute Performance für sehr kleinen Anwendungsbereich
- keine Flexibilität
Prozessoren
- Flexibilität
- Energieeffizienz ist wichtig - Compiler müssen so effizient sein wie möglich
- müssen nicht kompatibel mit PC-Prozessoren sein
- Dynamic power management ** power saving states (idle and sleep) ** changes between states
- Dynamic voltage scaling ** reduced voltage means significantly less power consumption ** only linear increase of runtime of algorithms
- Code-size efficiency ** CISC machines (Complex Instruction Set Processors) ** Kompressionstechniken
- Laufzeiteffizienz
Reconfigurable Logic
application areas:
- fast prototyping
- low volume applications
- realtime systems
Memories
- großer Geschwindigkeitsunterschied zw. Prozessoren und Memories
- kleinere Memories wichtig, da sie schnellere Zugriffszeiten bieten
- mehrere kleine Speicher für häufig genutzte Instruktionen und Daten plus ein größerer Speicher für restliche Daten und Instruktionen bieten i.A. höhere Energieeffizienz
- Scratch Pad memories (SPMs) als Alternative zu Caches
Communication
- Informationen können durch Kanäle transportiert werden
- physische Entitäten, die Kommunikation ermöglichen heißen Kommunikationsmedien
- wichtige solche Medien: ** drahtlose Medien (Infrarot, RFID) ** optische Medien (Glasfaser) ** Kabel
Requirements
- Echtzeitverhalten
- Effizienz
- angemessende Bandbreite und Kommunikationsverzögerung
- Support für eventbasierte Kommunikation
- Robustheit
- Fehlertoleranz
- Wartbarkeit, Diagnosefähigkeit
- Datenschutz