Modellbasierte Software-Entwicklung eingebetteter Systeme

Slides:



Advertisements
Ähnliche Präsentationen
Digital Output Board and Motherboard
Advertisements

PC-Kauf im IV. Quartal 1998 Dipl.-Ing. Jörg Dannenberg
KA – Rechnerarchitektur I ____________________________________________________________________________________________ ____________________________________________________________________________________________.
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Prof. Dr. Holger Schlingloff
Software-Engineering II Eingebettete Systeme, Softwarequalität, Projektmanagement Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Eingebettete Systeme Qualität und Produktivität
Projekt: µC Ampelsteuerung.
Wozu Mikrocontroller?.
HMI / HMI-SPS XV400 HMI oder HMI-PLC – die CompactFlashTM entscheidet
Educational Robotics Robotics Technology.
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
Qualitätssicherung von Software (SWQS) Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FOKUS : Software Model Checking.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Prof. Dr. Holger Schlingloff
Eingebettete Systeme Qualität und Produktivität
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Eingebettete Systeme Qualität und Produktivität
Abschlusspräsentation Informationstechnik:
Teil 5: Embedded Systems
W. Oberschelp G. Vossen Kapitel 7.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 12.1.
2.5. Mikrocontroller-Komponenten
Embedded Applications
4. Mikrocontroller-Komponenten
Schnittstellen in der Bildverarbeitung
n4 Streaming Media System
Open Source Prozessor Leon2 Peer Royla und Marco Siebert RST-Labor WS 04/05 Prof. Dr.-Ing. Thomas Risse.
Beschleunigung Virtueller Privater Netze durch Netzwerkprozessoren
Studienarbeit Mini-Web-Server auf einem Signalcontroller
CPLD/FPGA-Programmierung mit E-blocks. Wozu die CPLD/FPGA-Programmierung untersuchen? Zusammenhang zur modernen Digitalen Elektronik Verschwinden der.
Robotikprojekte mit dem LEGO NXT und DER Programmiersprache NXC
Inhalt Wie ich Lego Mindstorms «entdeckt» habe
Quelle: Fachreferat von Mathias Herbst 1.
Die unterschiedlichen Möglichkeiten der PC – RCX Steuerung
LEGO NXT Konkurrenzsysteme
3.4 CPU-Chips und Busse CPU-Chips
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Embedded Systems Prof. Dr. H. Kristl
auf kleinen Linux-Devices
Eine Fernsteuerung für den Lego EV3 Roboter
EN/FAD Ericsson GmbH EDD/ Information im 21. Jahrundert muss Erwünscht Relevant Erreichbar Schnell Kostenlos!?
The EventCollector Concept Präsentation der Diplomarbeit von Thomas Moser und Lukas Karrer Distributed System Group,
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Modellbasierte Software-Entwicklung eingebetteter Systeme
Sichere Technologie für die elektronische Gesundheitskarte
Qualitätssicherung von Software Prof. Dr. Holger Schlingloff Humboldt-Universität zu Berlin und Fraunhofer FIRST.
Entwicklung des Attiny-Boards
Modellbasierte Software-Entwicklung eingebetteter Systeme
Mikrocomputertechnik Jürgen Walter
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software- Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer.
Modellbasierte Software-Entwicklung eingebetteter Systeme
Projektarbeit – SS08 Kai Aras
Semesterarbeit SS06 LEGO Mindstorms NeXT Generation
Erste Schritte im Internet of Things
Mikrocontroller programmieren
Modulfest am International Departement in Karlsruhe
Programmierung eingebetteter Systeme mit Lego Mindstorms
Inhaltsverzeichnis Was ist Arduino? Hardwarekomponenten
Modellbasierte Software-Entwicklung eingebetteter Systeme
System-on-Chip zur Steuerung von Messsystemen
Vom HW-Automaten zum Prozessor
 Präsentation transkript:

Modellbasierte Software-Entwicklung eingebetteter Systeme Prof. Dr. Holger Schlingloff Institut für Informatik der Humboldt Universität und Fraunhofer Institut für Rechnerarchitektur und Softwaretechnik

Intel-Wettbewerb „Embedded“ http://www.intelchallenge.eu/embeddedcompetition/ http://newsroom.intel.com/community/en_eu/blog/2011/06/09/intel-s-european-search-for-tomorrow-s-embedded-computing-products-is-open-for-entries

Codegenerierung aus State Machines Codeoptimierung Visual State Coder andere Tools verfügbar Codeoptimierung Größe des generierten Codes

Codegenerierung für Simulink Drei kommerzielle Produkte verfügbar Embedded Coder (MathWorks) Real Time Workshop (MathWorks) TargetLink (dSPACE GmbH) Quelle: dSPACE GmbH

Thanks for the slides: Daniela Weinberg Prinzip Thanks for the slides: Daniela Weinberg

Beispiel Schaltsystem mit Schwellwert 0.5 physikalisches Modell (SimuLink) Implementierungsmodell (TargetLink) Äquivalenz?

generierter Code Zweierpotenz-Skalierung; 128 * 2-8 = 0.5 Void switch_system(Void) { /* Switchswitch_system/switch_primitive */ if (Sa1_Input2_ >= 128 /* 0.5 */) { /* # combined # Outport: switch_system/OutputPort */ Sa1_OutputPort_ = Sa1_Input1_; } else {

Codeabsicherung Wie kann man sicherstellen, dass der generierte Code das Erwartete leistet? (c) generierter Code (a) Modell (b) Code- Generator (d) Code Ausführung Physical Model (floating - point) Compiler (Linker) Host PC Code generator C Code Target Implementation Model (fixed - point) Cross - compiler (Linker / Loader ) Qualitätssicherung auf jeder Ebene notwendig!

Modelltransformation Codegenerator = Compiler Grammatik  Metamodell Abstrakter Syntaxbaum  XML-Repräsentation Attributgrammatik  Graphtransformation Realisierung von Modell-Codegeneratoren durch Modelltransformationen verschiedene Standards verfügbar: QVT/M2M, ATL, MOF2Text, Tefkat, XSLT, ...

QVT Beispiel Geg. Metamodell für Quell- und Zielmodelle A Model-Driven Development Approach to Mapping UML State Diagrams to Synthesizable VHDL Stephen K. Wood, David H. Akehurst, Oleg Uzenkov, W. Gareth J. Howells, and Klaus D. McDonald-Maier

VHDL Metamodell

QVT Regel

Beispiel: Elimination von „deep transitions“ Graphical Composition of State-Dependent Use Case Behavioral Models Jon Whittle, João Araújo, Ana Moreira, Rasheed Rabbi

Deployment Wie realisiert man elektrische / elektronische / elektronisch programmierbare Regler? welche Hardware, Software? welche Peripherie (Sensorik, Aktuatorik?) wie kommt die SW auf die HW? Übung mit Lego- und anderen Systemen

Eingebettete Systeme: Hardware Spezielle Prozessoren 4-bitter, minimale Kosten, energieoptimiert keine MMU, Coprozessoren, FloatingPoint Microcontroller mit zusätzlichen Steuerungsleitungen Spezialprozessoren (DSP, SoC, Krypto) Trend: FPGAs Spezielle Speicher meist bewegungslos (keine magnetischen/optischen Medien) ROM, PROM, EEPROM; zunehmend: Flash Disks minimaler RAM, auch; dual ported RAM Zusatzhardware Spezielle Platinen, AD/DA-Wandler, ASICs einsatzspezifische Sensoren und Aktuatoren Einfache Kommunikationsbusse und –netze CAN, Feldbusse; zunehmend auch Ethernet, Bluetooth etc.

Eingebettete Systeme: Aufbau Applikationsschicht Steuerungsalgorithmus Benutzungsschnittstelle Realzeit-Betriebssystem Middleware Hardware Sensorik, Aktuatorik Netzverbindung Prozessankopplung (Funk-) Netzwerk

Beispiel: Lego RCX Robotic Command Explorer (1998) „Programmable Brick“ ursprüngliches Design: S. Papert, MIT Media Lab Vorläufer: Code Pilot, Cybermaster, Scout wie programmieren? Nachfolger: NXT (2006) Hitachi Single-Chip-Mikrocontroller Display, 4 Knöpfe, Batteriefach 3 analoge Eingänge, 3 analoge Ausgänge IR-Kommunikation (seriell)

Renesas H8/3297-3292 Microcontroller H8/300-CPU 16 KB ROM 0,5 KB (!) RAM 8 E/A-ports (8-Bit), SCI 16 Register (8-Bit) max. 16 MHz Takt Timer, A/D-Wandler etc. “disencouraged” http://eu.renesas.com/fmwk.jsp?cnt=product_folder.jsp&fp=/products/mpumcu/h8_family/h8300_series/h83297_group

EA-Ports Sensoreingänge Motorausgänge Spannungsmessung, 100=Kurzschluss, 0=kein Kontakt Über U=R.I lässt sich Widerstand messen Schalter, Temperatursensor (passiv) Lichtsensor, Drehsensor (aktiv) 3 ms Batteriespannung, 0.1 ms Sensorwert Motorausgänge Leistungssteuerung über Pulsweitenmodulation Verschaltungssicher Motoren, Lämpchen

NXT Lego „Technik“ Serie Atmel 32-Bit-ARM-Prozessor AT91SAM7S256; 256 kB Flash-Speicher, 64 KB RAM, 48 MHz Koprozessor: Atmel 8-Bit AVR, ATmega48; 4 KB Flash-Speicher, 512 Byte RAM, 8 MHz digitale Sensoren (Ultraschall, Spezialsensoren), 4 Stecker I2C-Bus digital/analog-Kabel mit Spezialstecker Motoren mit Drehwinkelsensor Bluetooth-Kommunikation, USB-Anschluss Punktmatrix-Display, 8-bit Sound Firmware mit Dateisystem

SILabs MCUniversity C8051F020 mixed-signal MCU 25 MIPS, 64 kB Flash, 12-Bit ADC, 100-Pin

Atmel RN-mega 2560 ATmega AVR® 8-Bit Microcontroller RISC Architecture, up to 16 MIPS Throughput at 16 MHz, On-Chip 2-cycle Multiplier 100 pin 256 K Flash 8K RAM, 4K EEPROM Timer, PWM-Kanäle 16 analoge Eingänge, 86 programmierbare I/O Leitungen vier TTL UARTS (RX/TX) RS232, USB, I2C, SPI-Bus …

Aufgabe generierte SW „zum Laufen bringen“