Paper for Download - FKFS
Paper for Download - FKFS
Paper for Download - FKFS
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Abbildung 5: Vergleich von realer und simulierter Zeit.<br />
auch auf der realen Hardware ausgeführt werden. Mittels UML können Testfälle visualisiert<br />
und für Spezifikationen verwendet werden, zudem dient die UML-Beschreibung<br />
als Meta<strong>for</strong>mat. Das heißt, aus einer UML-Beschreibung können viele einzelne Testfälle<br />
automatisch generiert werden.<br />
Für die Beschreibung eines Metatests werden in UML Sequenz- und Kompositionsstrukturdiagramme<br />
angeboten. Aus dem Sequenzdiagramm werden transaktionsflussorientierte<br />
Tests in Python erzeugt, aus dem Kompositionsstrukturdiagramm werden XML-Platt<strong>for</strong>mkonfigurationen<br />
erzeugt. Neben der Platt<strong>for</strong>mbeschreibung mittels XML kann auch<br />
Python-Code zur Konfiguration genutzt werden. Zur UML-Testbeschreibung können derzeit<br />
die UML-Werkzeuge Enterprise Architect, Rhaposdy und Papyrus genutzt werden.<br />
Über die ” XML Metadata Interchange (XMI)“ Schnittstelle werden die enthaltenen In<strong>for</strong>mationen<br />
bezogen und in einem folgenden Schritt übersetzt. Nach der Testdurchführung<br />
können Simulationsaufzeichnungen in das UML-Werkzeug zurückgeführt werden. Dieses<br />
Modellierungs- und Visualisierungskonzept wird in Abbildung 6 dargestellt.<br />
3.2.6 Testmodellierung mit Python<br />
Bei der Testmodellierung mittels Python dient die Sprache zum einen der Testbeschreibung<br />
und zum anderen wird der Code direkt zur Steuerung und Überprüfung des Tests<br />
verwendet. Die Anbindung an die virtuelle und reale Hardware erfolgt über den Testhost,<br />
der einen Python-Interpreter integriert. Die Kommunikation zwischen Testhost und dem<br />
Python-Code erfolgt über vordefinierte Schnittstellen, die mittels des ” Software Interface<br />
Generators (SWIG)“ erzeugt werden. Diese Schnittstellen bieten Funktionen zum Senden,<br />
Empfangen, zur Zeitsteuerung und zur Statusabfrage am Testhost.<br />
Der Aufruf des Python-Programmes erfolgt durch den Testhost zu Beginn der Simulation.<br />
Im Falle der SystemC-Simulation wird das Python-Programm aus einem SystemC-Thread<br />
heraus aufgerufen, damit werden Zeit- und Eventgesteuerte Unterbrechungen ermöglicht,<br />
ohne die SystemC-Bibliothek modifizieren zu müssen. Im Falle eines Wartebefehls wird