Die Validas AG sucht Praktikanten!

Die Validas AG bietet Studierenden der Informatik und vergleichbarer Studienrichtungen Praktikumsplätze an. Die Arbeiten erfordern meist gute Kenntnisse im Umgang mit Java und Eclipse, bieten aber auch Gelegenheit zur Einarbeitung in neue Themen. Die Arbeitsbedingungen sind flexibel und unkompliziert gestaltbar, so dass eine Arbeit in der Validas gut mit einem Studium kombinierbar ist.

Neben einem attraktiven und angenehmen Umfeld im Herzen von München bieten wir interessante Aufgaben und die Möglichkeit Bachelor-/Master-Arbeiten zu erstellen. Gerne können hierzu Themen gemeinsam gestaltet werden.

Bei Interesse freuen wir uns auf eine Anfrage/Bewerbung von Ihnen und vereinbaren gerne einen Gesprächstermin. Bitte wenden Sie sich dazu an:

Dr. Peter Braun (Vorstand)
Email: braun@validas.de

Validas AG
Arnulfstr. 27
80335 München

Aktuelle Arbeiten

Konzeption und Realisierung eines Graphischen Modell-Editors für Werkzeugketten mit Eclipse

Der Tool Chain Analyzer (TCA) ist ein Werkzeug zur Modellierung und Fehler-Analyse von
Werkzeugketten und wird von der Validas AG entwickelt und von zahlreichen Kunden im Bereich
funktionaler Sicherheit eingesetzt um Werkzeuge zu klassifizieren und qualifizieren.
Die Struktur eines Werkzeugkettenmodells besteht im Wesentlichen aus Werkzeugen (Knoten)
und Dateien (Kanten), die von den Werkzeugen verwendet (gelesen oder geschrieben) werden.
Derzeit werden die TCA Modelle mit EMF-Editoren (textuell) oder mit Excel erstellt. Es gibt keine
Möglichkeit Werkzeugketten graphisch, übersichtlich und modular darzustellen.

Ziel der Arbeit ist es diese Lücke zu schließen und einen graphischen Editor für den TCA zu erstellen.
Dabei soll das Eclipse-Framework SIRIUS zum Einsatz kommen.

Der konzeptionelle Teil besteht darin eine geeignete graphische Repräsentation zu finden, mit der
die modellierten Werkzeugketten auch hierarchisch (modular) dargestellt werden können.
Im Rahmen von einem Forschungsprojekt mit der TU Clausthal erforscht die Validas derzeit
den Zusammenhang zwischen Werkzeugketten- und Prozessmodellen.

Anforderungen und Umfeld:

Die Arbeit kann entweder als Masterarbeit oder im Rahmen von Werkstudententätigkeiten
durchgeführt werden. Es ist auch möglich die Arbeit in einem Zwei-Personen-Team durchzuführen.
In diesem Fall würde sowohl ein Editor für Werkzeugketten als auch ein ähnlicher Editor für
Prozessmodelle erstellt werden.

Testgenerierung für AUTOSAR-Software-Komponenten

AUTOSAR ist ein Standard zur Beschreibung von Software-Komponenten. Dabei können Schnittstellen zwischen Software-Komponenten (Applikationen) und Schnittstellen zum System (Services) spezifiziert werden. Die Spezifikation erfolgt in XML.

In dieser Arbeit soll ein Testgenerator erstellt werden, der spezifizierten AUTOSAR-Software-Komponenten jeweils eine entsprechende Test-Komponente und Stub-Funktionen für die Services erzeugt. Die Spezifikation des erwarteten Verhaltens erfolgt als Sequenz von Aufrufen (z.B. als MSC). Auf Basis dieser Sequenz sollen AUTOSAR-Software-Komponenten dann getestet werden. Tatsächliche Reaktion der Komponenten müssen mit erwarteten Reaktionen verglichen werden und mögliche Abweichungen genauer untersucht werden.

Der zu entwickelnde Testgenerator kann an einfachen Software-Komponenten demonstriert werden und im Erfolgsfall können damit auch industrielle Beispiele getestet werden.

XML-Generierung als Eingabe für XML-Tools

Sehr viele Werkzeuge basieren auf XML-Dateien und führen Aktionen darauf aus. Um diese Aktionen systematisch zu testen müssten alle möglichen XML-Eingaben in Äquivalenzklassen eingeteilt werden und die erwarteten Ergebnisse der Aktionen auf den XML-Dateien müssten spezifiziert werden. Um diesen aufwändigen Prozess zu unterstützen soll ein XML-Eingabe-Generator erstellt werden, der zu einer vorgegebenen Schema-Datei Beispiele für XML-Dateien generiert die eine gute Abdeckung der Attribute und Relationen haben. Beispielsweise können folgende Werte: ””, “x”, “Hello World” für Strings, oder die Werte: -1, 0, 1, 10, 100 für int8, und ähnliches als mögliche Belegungen für Werte vorgegeben werden. Ähnlich können mögliche Belegungen für Relationen angegeben werden.

Um keine unzulässigen Eingaben zu generieren, sollen Constraints spezifizierbar sein, die der Generator berücksichtigt, z.B. mindestens ein “Element vom Typ T im Modell”. Die Sprache und die Mächtig-keit der Constraints soll in der Konzept-Phase festgelegt werden. Die Generierung soll mit einem SAT-Solver erfolgen, z.B. Yices. Die Generierung soll konzipiert, implementiert und am Beispiel des Validas-Werkzeugs Tool Chain Analyzer demonstriert werden.

Werkzeugentwicklung Tool Chain Analyzer

Der Tool Chain Analyzer ist ein Werkzeug zur Analyse von (SW/HW-Entwicklungs-)Werkzeugketten und zur Erstellung von Qualifizierungs-Kits für Werkzeuge.

Der TCA wurde mit Eclipse (EMF, RCP, ...) entwickelt. Aufgabe im Praktikum ist es, unterschiedliche Aufgaben bei der Entwicklung eine Werkzeuges zu übernehmen:

Kostenoptimierung mit Yices

Im Bereich der funktionalen Sicherheit treten häufig Kostenabwägungen auf, um unter den sicheren Lösungen die günstigste zu finden. Dabei werden Risiken mit mehreren geeigneten Maßnahmen (und Kosten) verknüpft. Die Aufgabe zu gegeben N Risiken M Maßnahmen zu finden ist NP-hart und kann mit SAT-Solvern effizient gelöst werden (falls N und M vernünftig gewählt sind). Diese Aufgabe der Auswahl der kostengünstigen Gegenmaßnahmen tritt bei der Werkzeugqualifizierung auf und soll z.B. mit dem SMT-Solver Yices gelöst werden.

Die Aufgabe erfordert Kenntnisse in Logik und Programmierkenntnisse in Java und Eclipse. Die Kostenoptimierung soll in den Tool Chain Analyzer integriert werden.

Integrierte Prozess- und Werkzeugkettenmodellierung

Der Tool Chain Analyzer ist ein Werkzeug zur Analyse von (SW/HW-Entwicklungs-)Werkzeugketten. Mit dem TCA können Modelle von Werkzeugen und Werkzeugketten erstellt werden.

Besonders aufwändig ist dabei die Analyse von Prozessen. Häufig ist das Prozessmodell (das strukturell meist ähnlich zum Werkzeugkettenmodel ist) allerdings separat modelliert oder nur informell dokumentiert.

Im Rahmen dieser Arbeit soll ein einfaches Prozessmodell, in den TCA aufgenommen werden und geeignete Hilfsfunktionen z.B. zur Konsistenzprüfung oder zur Reportgenerierung implementiert werden. Dazu muss das mit Eclipse (EMF) erstellte Modell erweitert werden.