• Keine Ergebnisse gefunden

Automatisierte Überprüfung von Modellierungsrichtlinien fürMatlab/Simulink-Modelle

N/A
N/A
Protected

Academic year: 2022

Aktie "Automatisierte Überprüfung von Modellierungsrichtlinien fürMatlab/Simulink-Modelle"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Automatisierte ¨Uberpr¨ufung von Modellierungsrichtlinien f¨ur Matlab/Simulink Modelle

Kathrin Br¨oker kathyb@upb.de

Organisatorischer Rahmen

Die hier vorgestellte Arbeit entsteht im Rahmen meiner 3 Monate dauernden Studienarbeit an der Universit¨at Paderborn. Die Arbeit wird in Kooperation zwischen dem Software Qualitity Lab (s-Lab) der Universit¨at Paderborn und der Firma dSPACE erstellt.

Auf das Thema meiner Studienarbeit stieß ich im Zusammenhang mit einer Seminarar- beit im Bereich Softwaretechnik. Dort habe ich eine Ausarbeitung zum Thema ”Model- lierungsrichtlinien in automotiven Softwaresystemen“ erstellt und bin auf die Problematik fehlender Guidelinechecker in diesem Bereich gestoßen.

Professor Wilhelm Sch¨afer und mein Betreuer haben mir dann das Projekt zur ”Automa- tisierten ¨Uberpr¨ufung von Modellierungsrichtlinien f¨ur Matlab/Simulink Modelle“ vorge- stellt, welches mich sehr interessiert. So entschloss ich mich zu diesem Thema f¨ur meine Studienarbeit, dessen thematische Grundlagen ich zuvor schon in meiner Seminararbeit erfasst hatte. So fiel mir der Einstieg ins Thema nicht besonders schwer.

Thema der Arbeit

Die Anzahl an Softwaresystemen in Automobilen hat in den letzten Jahren enorm zuge- nommen. Die zunehmende Vernetzung der Systeme f¨uhrt zu einer h¨oheren Komplexit¨at und Fehleranf¨alligkeit. Die Form der Modellbasierten Softwareentwicklung unterst¨utzt die Entwickler automotiver Softwaresysteme, so dass diese die Software schneller und kosteng¨unstiger entwickeln k¨onnen.

Zur Modellierung und zur Modellanalyse werden f¨ur automotive Softwaresysteme soge- nannte Blockschaltdiagramme verwendet. Modelle haben einen deutlich h¨oheren Abstrak- tionsgrad, im Gegensatz zum implementierten Sourcecode und tragen dadurch erheblich zum besseren Verst¨andnis bei. Nach der Modellierung l¨asst sich dann automatisch Sour- cecode generieren.

Eines der am h¨aufigsten verwendeten Werkzeuge zur Modellierung von Blockschaltdia- grammen ist Matlab/Simulink der Firma Mathworks. Aus diesen Matlab/Simulink Dia- grammen wird dann mittels Codegeneratoren der Sourcecode automatisch erzeugt. Da der Code in der automotiven Softwareentwicklung aber vielen Restriktionen unterliegt, wie zum Beispiel geringe Speicherkapazit¨at, muss der generierte Code sehr effizient sein.

Die Firma dSPACE hat hier mit TargetLink einen Codegenerator auf Basis von Mat-

309

(2)

lab/Simulink entwickelt. Dieser ist in der Lage sehr effizienten Sourcecode gezielt f¨ur bestimmte Plattformen zu erzeugen.

MATLAB/Simulink bietet einige Modellierungsm¨oglichkeiten f¨ur Blockschaltdiagram- me, die f¨ur die Codegenerierung, z.B. mit TargetLink, nicht geeignet sind. Diese nicht geeigneten Modellierungsm¨oglichkeiten w¨urden die Effizienz des generierten Codes stark beeinflussen, in einigen F¨allen w¨are keine Code-Generierung m¨oglich. Aus diesem Grund gibt es f¨ur TargetLink einen so genannten Guidelinekatalog. In diesem Katalog sind Richt- linien spezifiziert, gegen die nicht verstoßen werden sollte, da sonst eine saubere Codege- nerierung nicht garantiert werden kann.

Dieser Guidelinekatalog umfasst allerdings inzwischen ¨uber hunderf¨unfzig Seiten und kaum ein Entwickler will all diese Regeln lernen bzw. st¨andig seine Modelle von Hand auf die Einhaltung dieser Regeln ¨uberpr¨ufen. Deshalb w¨unscht man sich eine automati- sche ¨Uberpr¨ufung der Regeln.

Ziel der Arbeit ist es, zu ¨uberpr¨ufen, in wie weit das Prinzip des Pattern Matching aus dem Java Reenginering Umfeld, f¨ur die Entwicklung eines Guidlinecheckers f¨ur Mat- lab/Simulink Diagramme geeignet ist. Verwendet wird hierzu das Prinzip des Pattern Mat- ching, wie es in der Dissertation von J¨org Niere vorgestellt wird1. Dieser Ansatz wurde entwickelt, um große Softwaresysteme besser Reverse engineeren zu k¨onnen. Im Gegen- satz zu anderen Ans¨atzen gibt es hier kein Problem mit unterschiedlichen Implementie- rungsvarianten von Design Patterns. Der verwendete Algorithmus nutzt Dom¨anen- und Kontextwissen des Reverse Engineerings und einer speziellen Datenstruktur. Genauer ge- sagt eine spezielle Form eines annotierten abstrakten Syntaxgraphen. Dieser Algorithmus wurde im UML-CaseTool Fujaba der Universit¨at Paderborn (Fachgebiet Softwaretechnik) implementiert und soll hier zur Analyse von Matlab/Simulink Diagrammen verwendet werden.

Vorgehen

Um die Diagramme zu ¨uberpr¨ufen erfolgt zun¨achst die Spezifikation der Richtlinien- verletzungen in einer abstrakten Syntax. Diese basiert auf einem Metamodell f¨ur Mat- lab/Simulink Diagramme. Auf Grundlage dieses, zurzeit noch eingeschr¨ankten Metamo- dells wurde bereits ein Patternkatalog mit einigen wenigen Regelverletzungen aus den dSPACE Styleguides spezifiziert.

In der Arbeit werden weitere Regelverletzungen aus den dSPACE Styleguides auf ihre Umsetzbarkeit als Pattern ¨uberpr¨uft und wenn m¨oglich ebenfalls in der abstrakten Syntax als Pattern spezifiziert.

Hierzu muss das Metamodell f¨ur die Matlab/Simulink Modelle um weitere notwendige Konstrukte erweitert werden.

Die Spezifikation der Regeln erfolgt zun¨achst auf der formalen Ebene und domainenspe- zifisch mit einem Metamodell f¨ur Matlab/Simulink. Anschließend erfolgt eine Integration in Fujaba. Die zur Spezifikation der Regeln notwendigen Erweiterungen des Metamodells werden implementiert, um anschließend Matlab/Simulink Modelle auf die Einhaltung der Styleguides ¨uberpr¨ufen zu k¨onnen.

1Niere, J¨org,Inkrementelle Entwurfsmustererkennung,Paderborn, Univ., Fakult¨at f¨ur Elektrotechnik, Infor- matik und Mathematik, 2003

310

(3)

Da es ¨uber hundert Regeln in den dSPACE Styleguides gibt, die nicht alle im Rahmen die- ser Studienarbeit untersucht werden k¨onnen, werden einige typische Regeln exemplarisch untersucht, um herauszufinden in wie weit die vorgestellte Methode in der Praxis umsetz- bar und sinnvoll ist.

In einem weiteren Teil der Arbeit soll die Effizienz des verwendeten Algorithmus unter- sucht und dieser gegebenenfalls verbessert werden. Da der Prototyp einen Algorithmus zur Patternerkennung verwendet, der auch, wie schon erw¨ahnt, in anderen Zusammenh¨angen eingesetzt wird.

Fazit

Da meine Arbeit zur Zeit noch nicht abgeschlossen ist, kann ich kein Fazit ¨uber die gesam- te Arbeit ziehen. Dennoch kann ich jetzt schon sagen, dass ich die Kombination aus einem theoretischen und einem praktischen Teil in meiner Studienarbeit sehr gut finde. So ist die Arbeit f¨ur mich selbst sehr abwechslungsreich. Des weiteren kann man im praktischen Teil viele Erfahrungen f¨ur den sp¨ateren Beruf sammeln, die man sonst in einem doch eher theoretischen Studium nicht sammeln w¨urde.

311

(4)

312

Referenzen

ÄHNLICHE DOKUMENTE

In der Beschreibungsdatei 'KE_System.txt' sind Parameterwerte für die internen und externen Hardwarekomponenten, die Zentralwechselrichtersteuerung, den Netz- und Anlagenschutz und

sinnvolle Kommentare (z.B. Autor, Einheiten der Parameter) oftmals sind auch Berechnungen sinnvoll.. Einführung in Simulink Teil III Umgang mit Modellparametern.

Im Forschungsprojekt FLECS (Funktionale Modellbibliothek des Environment Control Sys- tem) werden die Klimaanlage und die Kabine eines Passagierflugzeugs mit dem Simulations-

In: P oceeding of he ACM SIGPLAN Confe - ence on Lang age, Compile , and Tool fo Embedded S em.. In e na ional Confe

Die Refac o ing-Ope a ionen die e Ka ego- ie n e en den En ickle dahe bei Ve ände ng de Schni ellen.. A gang po an einem be imm

Abstract: Aufgrund der steigenden Zahl softwarebasierter Funktionen kommt in der Automobilindustrie der baureihenübergreifenden Wiederverwendung dieser Funktionen und der

Durch die enge Bindung zwischen der Darstellung der Variabilität (Merkmale und Abhängigkeiten zwischen den Merkmalen) und wie die Variabilität im generischen Simulink-Modell

Dabei wird die textuelle Syntax von TDL durch eine visuell-interaktive Form im Rahmen von Simulink und einer in Si- mulink eingebundenen TDL Editor Suite besser zug¨anglich