Automatisierte, werkzeugübergreifende Richtlinienprüfung zur Unterstützung des Automotive-Entwicklungsprozesses



Ähnliche Dokumente
Werkzeugübergreifende Konsistenzsicherung von Artefakten bei der Entwicklung softwarebasierter Systeme im Automobil

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Werkzeugübergreifende Konsistenzsicherung von Artefakten bei der Entwicklung softwarebasierter Systeme im Automobil

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Task: Nmap Skripte ausführen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Persönliches Adressbuch

FlowFact Alle Versionen

Data Mining-Projekte

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Vortrag von: Ilias Agorakis & Robert Roginer

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Überprüfung der digital signierten E-Rechnung

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

OP-LOG

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Kostenstellen verwalten. Tipps & Tricks

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

SDD System Design Document

Entwicklungsprozesse und -werkzeuge

Kurzfassung der Studienarbeit

Einsatz von xalerator. bei den. Ergo Direkt Versicherungen. Bereich Versicherungstechnik/Leben

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Print2CAD 2017, 8th Generation. Netzwerkversionen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

How to do? Projekte - Zeiterfassung

Inhaltsverzeichnis. 1. Empfängerübersicht / Empfänger hinzufügen 2. Erstellen eines neuen Newsletters / Mailings 3. Versand eines Newsletters

Hilfe Bearbeitung von Rahmenleistungsverzeichnissen

ICS-Addin. Benutzerhandbuch. Version: 1.0

Anforderungen an die HIS

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Anleitung zur Verwendung der VVW-Word-Vorlagen

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Dokumentation zum Spielserver der Software Challenge

Kurzanleitung zu. von Daniel Jettka

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Softwareentwicklungspraktikum Sommersemester Grobentwurf

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Massenversand Dorfstrasse 143 CH Kilchberg Telefon 01 / Telefax 01 / info@hp-engineering.com

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Bedienungsanleitung: Onlineverifizierung von qualifiziert signierten PDF-Dateien

Anbindung an easybill.de

SEPA Lastschriften. Ergänzung zur Dokumentation vom Workshop Software GmbH Siemensstr Kleve / /

1 Mathematische Grundlagen

Anleitung zur Verwendung der VVW-Word-Vorlagen

Manuelle Konfiguration einer VPN Verbindung. mit Microsoft Windows 7

Qt-Projekte mit Visual Studio 2005

Projektmanagement in der Spieleentwicklung

Objektorientierter Software-Entwurf Grundlagen 1 1. Analyse Design Implementierung. Frühe Phasen durch Informationssystemanalyse abgedeckt

Die Softwareentwicklungsphasen!

Anleitung BFV-Widget-Generator

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

Neue Funktionalität in mobidas 1.3. erp Serie

GS-Programme 2015 Allgemeines Zentralupdate

Urlaubsregel in David

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Inhalt... 1 Einleitung... 1 Systemanforderungen... 1 Software Download... 1 Prüfdokumentation... 4 Probleme... 5 Hintergrund... 5

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

ARCHIV- & DOKUMENTEN- MANAGEMENT-SERVER PAPIER ARCHIVIEREN

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

GS-Buchhalter/GS-Office Teil des Jahresabschlusses

GEORG.NET Anbindung an Ihr ACTIVE-DIRECTORY

BüroWARE Exchange Synchronisation Grundlagen und Voraussetzungen

Anleitung für die Umstellung auf das plus Verfahren mit manueller und optischer Übertragung

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Ablaufbeschreibung für das neu Aufsetzen von Firebird und Interbase Datenbanken mit der IBOConsole

Content Management System mit INTREXX 2002.

Web Services stellen eine Integrationsarchitektur dar, die die Kommunikation zwischen verschiedenen Anwendungen

OEM Von der Idee zum Serienprodukt

MO1 <logo otra empresa> MO1Sync Installationshandbuch MO1. MO1Sync Installationshandbuch -1-

1. Einführung. 2. Die Abschlagsdefinition

SharePoint-Migration.docx

Schnittstelle DIGI-Zeiterfassung

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Patch Management mit

Robot Karol für Delphi

AnNoText. AnNoText Online-Update. Copyright Wolters Kluwer Deutschland GmbH

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement

Produktvorstellung: CMS System / dynamische Webseiten. 1. Vorwort

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Installation und Dokumentation juris Smarttags 1.0

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Anleitung öffentlicher Zugang einrichten

INDIVIDUELLE SOFTWARELÖSUNGEN CUSTOMSOFT CS GMBH

Internet online Update (Internet Explorer)

Produktschulung WinDachJournal

Kurzeinweisung. WinFoto Plus

PC-Kaufmann 2014 Neues Buchungsjahr anlegen

Transkript:

Automatisierte, werkzeugübergreifende Richtlinienprüfung zur Unterstützung des Automotive-Entwicklungsprozesses Tibor Farkas, Harald Röbig 2 Fraunhofer FOKUS Kaiserin-Augusta-Allee 3 0589 Berlin tibor.farkas@fokus.fraunhofer.de 2 CARMEQ GmbH Carnotstr. 4 0587 Berlin harald.roebig@carmeq.com Abstract: Die Entwicklung von eingebetteten Systemen im Automobilbereich ist gekennzeichnet von steigender Komplexität der zu entwickelnden Fahrzeugfunktionen. Die Handhabung dieser Komplexität wird über entsprechend mächtige Werkzeuge, welche die verschiedenen Aktivitäten des Systementwicklungsprozesses unterstützen, angestrebt. Als eine Schwachstelle erweist sich dabei die fehlende Durchgängigkeit der eingesetzten Werkzeugketten im Automobilbereich, die somit eine werkzeugübergreifende Konsistenz der jeweils erzeugten Artefakte nicht garantieren können. Infolgedessen sind in der Entwicklungspraxis häufig Schnittstelleninkonsistenzen oder fehlerhafte bzw. nicht nachvollziehbar umgesetzte Anforderungen zu beobachten. Das Forschungsprojekt MESA adressiert dieses Problem, indem es ein metamodellbasiertes Werkzeug zur automatischen Konsistenzsicherung von Entwicklungsartefakten über Werkzeuggrenzen hinweg erarbeitet, das leicht an verschiedene Entwicklungsprozesse und werkzeuge anpassbar ist. Das vorliegende Papier beschreibt die in MESA angestrebte werkzeugübergreifende Konsistenzprüfung und stellt die bereits erzielten Ergebnisse an einem Anwendungsbeispiel vor. Einleitung In modernen Fahrzeugen wird eine rasant wachsende Zahl von Funktionen durch elektronische Bauteile realisiert, um wettbewerbsdifferenzierende Innovationen zu schaffen. Der Anteil von Fahrzeugfunktionen, die dabei durch Software gesteuert werden, nimmt hierbei kontinuierlich zu. Die Beherrschung der durch die zunehmend MESA Metamodellierung zur Automatisierung von Analyse- und Entwicklungsmethoden für Software im Automobil. Dieses Vorhaben wird von der europäischen Union und vom Land Berlin kofinanziert (Europäischer Fonds für Regionale Entwicklung).

vernetzten Funktionen bedingten Systemkomplexität wird für Fahrzeughersteller und deren Zulieferer zu einem zentralen, wettbewerbsentscheidenden Faktor. Von größter Wichtigkeit sind dabei sorgfältig ausgewählte Entwicklungsmethoden und -werkzeuge, da nur effiziente und Fehler vermeidende Prozesse diesen Wettbewerbsvorteil sicherstellen. Problematisch bezüglich der Fehlervermeidung erweist sich, dass die zur Verfügung stehenden Werkzeugketten im Automobilbereich keine übergreifende Konsistenz der in den jeweiligen Werkzeugen erzeugten Artefakte garantieren können. Aufgrund dieses Sachverhalts sind in der Praxis häufig Probleme, wie Schnittstelleninkonsistenz oder fehlerhaft bzw. nicht nachvollziehbar umgesetzte Anforderungen, zu beobachten.. Übersicht über die Kapitel In Kapitel führen wir den in MESA betrachteten modellbasierten Entwicklungsprozess ein und zeigen, warum eine automatisierte, werkzeugübergreifende Konsistenzsicherung den bestehenden Entwicklungsprozess entscheidend verbessert. In Kapitel 2 stellen wir unser Vorgehen beim Entwickeln eines metamodellbasierten Tools für Konsistenzchecks vor und zeigen, dass dieser Ansatz die Übertragbarkeit auf beliebige Entwicklungsprozesse sehr einfach gestaltet. In Kapitel 3 führen wir ein einfaches Beispiel für eine Konsistenzprüfung vor und demonstrieren die prototypische Umsetzung des so genannten ASD 2 Regelcheckers..2 Konsistenzsicherung über verschiedene Entwicklungsphasen Bisher sind Systementwickler, die sich um Einhaltung der übergreifenden Konsistenz von Entwicklungsartefakten (z.b. Dateien, Dokumenten) bemühen, auf sich alleine gestellt. Das Erfüllen von Konsistenzkriterien kann von ihnen oftmals nur durch manuelles Vergleichen einer großen Menge von Daten erreicht werden. Diese Tätigkeiten geschehen manuell, da sie typischerweise einen Übergang zwischen Artefakten betreffen, die mit verschiedenen Werkzeugen erstellt werden. Eine nähere Betrachtung der Tätigkeiten, die zur werkzeugübergreifenden Konsistenzsicherung durchgeführt werden müssen, zeigt, dass diese bezüglich des intellektuellen Anspruchs meistens sehr einfach sind. Die Belastung für den Entwickler entsteht durch die große Anzahl an Wiederholungen, mit der er diese Tätigkeiten ausführen muss. Gerade solcherart Tätigkeiten sind es aber auch, die sich besonders gut automatisieren lassen. Wir versprechen uns daher vom Einsatz eines automatisierten, werkzeugübergreifenden Konsistenzcheckers einen hohen Produktivitäts- und Qualitätsgewinn der Entwicklungstätigkeit. Das Projekt MESA betrachtet die grundlegenden Phasen des V-Modells, d.h. die 2 ASD Automotive System Development 2

Anforderungsanalyse, den Systementwurf, die Implementierung und den Systemtest. Die Auswahl der zu unterstützenden Werkzeuge bezieht sich in diesem Projekt auf den modellbasierten Entwicklungsprozess mit dem zentralen Werkzeug MATLAB/Simulink/Stateflow (ML/SL/SF) [MAT06]. Die angewendete Methodik unterstützt prinzipiell jede mögliche Werkzeugkette, sofern die einzelnen Werkzeuge grundlegende Informationsschnittstellen oder offenen Dateiformate bereitstellen..3 Der modellbasierte Entwicklungsprozess Der zu Beginn des modellbasierten Entwicklungsprozesses stehende Schritt ist die Entwicklung von Anforderungen für Fahrzeugfunktionen. Diese werden von den Anforderungen aus Stakeholder-Sicht ausgehend, auf funktionaler, logischer Ebene in so genannten Basisfunktionen strukturiert erfasst. Dabei kommt das Werkzeug DOORS [TLG06] zum Einsatz. Auf logischer Ebene abstrahiert die Funktionsbeschreibung vollständig von der späteren Umsetzung in einem Steuergerätenetzwerk und angeschlossener Sensorik und Aktorik. Basisfunktionen haben Eingangs- und Ausgangsschnittstellen und beschreiben, wie mit Hilfe von Parametern die logischen Eingaben in logische Ausgaben verwandelt werden (Abbildung. zeigt ein Beispiel). Die als Eingangs- und Ausgangsgrößen verwendeten Signale werden in einer logischen Datendefinition näher beschrieben. Sie verknüpfen die Basisfunktionen zu Funktionsnetzwerken. Abbildung. - Ausschnitt aus einer in DOORS beschriebenen Basisfunktion Mit Hilfe der Verhaltensmodellierung in ML/SL/SF kann die korrekte Spezifikation des Basisfunktionsnetzwerks und der logischen Signale und Parameter frühzeitig validiert 3

werden, denn die erzeugten Modelle sind simulierbar. Die korrekte Umsetzung der Anforderungen in die Verhaltensmodelle wird mit Hilfe von anforderungsbasierten Testfällen verifiziert, die mit Hilfe des Werkzeugs MTest inklusive CTE/ES [WEW05] ausgeführt und ausgewertet werden. Der nächste Schritt des modellbasierten Entwicklungsprozesses ist die Weiterentwicklung der Verhaltensmodelle zu Implementierungsmodellen, die optimiert für die jeweilige Zielplattform zu automatisch generiertem Code führen. In der nachfolgenden Abbildung.2 ist ein typischer modellbasierter Entwicklungsprozess skizziert. Jeder Phase sind die bereits genannten Werkzeuge exemplarisch zugeordnet. In dieser wie auch anderen Werkzeugketten liegen, aufgrund diverser Werkzeughersteller, Informationen in meist inkompatiblen werkzeugspezifischen Dateiformaten vor, die eine übergreifende Konsistenzsicherung der mit den Werkzeugen bearbeiteten Entwicklungsdaten erschweren. Abbildung.2 - Werkzeugkette der modellbasierten Automotive-Systementwicklung Fehlende Durchgängigkeit führt zu potenziell inkonsistenten Entwicklungsartefakten Für einen durchgängigen und konsistenten Entwicklungsprozess stellt sich die Frage, in wie weit sich isolierte Konsistenzprüfungen von einzelnen Werkzeugen und Entwicklungsartefakten übergreifend und für eine Automatisierung hinreichend formal beschreiben lassen. Ziel des Projektes MESA ist es daher, ein Verfahren für eine werkzeugübergreifende und automatisierte Konsistenzsicherung von Entwicklungsartefakten zur Unterstützung aktueller Entwicklungsprozesse zur Verfügung zu stellen [MSA06]. 4

cd DO ORS ASDEl eme nt Ke rne l:: ASDConta ine releme nt DRSFolde r + Description: String [0.. ] DRSProj ect DRSModule + Descri pti on: Strin g [0..] DRSFormalModule ASDCo nne ctabl eel eme nt DRSFormalObj ec t DRS LinkModule DRSObj ect + Ob jectid: Strin g A SDCon necto r DRSLinkObje ct DRSReprese ntation + DRSAttributeColumn + DRSCo lu mn + DRSHeadingTextColumn + DRSLayoutDXLColumn + DRSVi ew AttributeValue Relationship + DRSAttribute + DRSCustomType + DRSdxlAttribute + DRSenumAttribute + DRSEnumLabel + DRSPredefinedType + DRSType + DRSVa lu e LinkStructure + DRSLinkset S L In p o r t S L M o d e l + t h e C o n t a i n i n g S L M o d e l S L M o d e l C o n ta i n s S L R o o t S y s t e m + t h e C o n t a in e d S L R o o ts y s te m S L R o o t S y s te m S L B l o c k + t h e S L P o r to w n i n g S L B l o c k S L B l o c k H a s S L P o rt + t h e C o n ta i n e d S L B l o c k 0.. * + t h e S L P o r t 0.. * S L P o r t A S D C o n n e c t a b l e E le m e n t S L O u t p o r t + O u t p u td a t a T y p e : S tr i n g K e r n e l : : A S D C o n t a i n e r E le m e n t A S D E l e m e n t + S c r e e n C o l o r: S t ri n g S L S y s t e m C o n ta i n s S L B l o c k + t h e S L B l o c k C o n ta i n i n g S L S y s t e m A S D E l e m e n t S L S y s t e m S L S u b S y s te m + t h e S L L in e C o n ta i n i n g S L S y s t e m.. * S L L in e S L S y s t e m C o n t a i n s S L L i n e + t h e C o n t a i n e d S L L in e.. * A S D C o n n e c t o r + F o n t A n g l e : S t ri n g + F o n t N a m e : S t ri n g + F o n t S i z e : In t e g e r + F o n t W e i g h t: S tr i n g + L i n e N o d e : : :L o g i c a l V i e w : : A u t o m o t i v e S y s te m D e v e l o p m e n t : : C o r e : : D a ta T y p e s : : A S D C o o r d i n a t e [.. * ] { o r d e r e d } cd CTE +themttest MTest::MTTest +thectereferencedmtest CTERootClass +thecteclassificationreferencedctecomposition +thecteclassificationend CTECompositionConsistsOfCTEClassification +thecompositionowningcteclassification..* CTEClassification +thecteclassification CTEClassificationRefersCTEClass +thecteclass..* CTEClass..* +thereferencedcteclass MTTestHasMTTestSequence CTERootClassReferencesMTest +thecterootclass 0..* +theowningcterootclass CTERootClassConsistsOfCTEClassification MTest:: +themttestsequence +thereferencedmtesttestsequence MTTestSequence 0..* +thecompositionowningcterootclass CTEMarkRefersToCTEClass CTEComposition MTestTestSequenceReferencedCTETestSequence +thereferencedctetestseq +thereferencedctetestsequence CTETestSequence CTERootClassConsistsOfCTETestSequence + cteunit: String +thectetestsequenceowningcterootclass 0..* CTERootClassConsistsOfCTEComposition +thectecompositionend 0..* +thechildctecomposition 0..* CTECompositionConsistsOfCTEComposition +theparentctecompostion +theowningctetestsequence CTETestSequenceContainsCTETestStep +thereferencedcteteststep..* CTETestStep + ctevalue: String +theowningcteteststep CTETestStepContaintsCTEMark +thereferencedmark..* CTEMark +thereferencedctemark + marktype: Integer 2 Vorgehensweise zur Automatisierung der Konsistenzsicherung Für eine durchgängige und phasenübergreifende Konsistenzsicherung aller in verschiedenen Entwicklungsphasen erzeugten Artefakte müssen die jeweils gelebten Entwicklungsprozesse analysiert, verstanden und abgebildet werden. Vorraussetzung einer automatisierten Konsistenzsicherung ist eine Werkzeugunterstützung jeder einzelnen Entwicklungsphase. In diesem Kapitel wird unsere Vorgehensweise zur Automatisierung der Konsistenzsicherung inklusive der verwendeten Werkzeugkette dargestellt. 2. Gemeinsames Metamodell für alle Entwicklungswerkzeuge Die im Forschungsprojekt MESA gewählte Model Driven Architecture [OMG2] der Object Management Group (OMG) [OMG] definiert und standardisiert zur Problemlösung einen modellbasierten Ansatz. Anforderungen Verhaltensmodelle Testfälle c d S L S t r u c t u r e + D e f a u l tb lo c k F o n ta n g le : S t r in g + D e f a u l tb lo c k F o n tn a m e : S t r in g + D e f a u l tb lo c k F o n ts iz e : F l o a t + D e f a u l tb lo c k F o n tw e i g h t : S t r in g + D e f a u l tl i n e F o n t A n g l e : S t ri n g + D e f a u l tl i n e F o n t N a m e : S t ri n g + D e f a u l tl i n e F o n t S i z e : F l o a t + D e f a u l tl i n e F o n t W e i g h t: S tr i n g + L i b r a ry L i n k D is p l a y : S tr i n g + S h o w L i n e D i m e n s io n s : : :L o g i c a l V i e w : : A u t o m o t i v e S y s te m D e v e l o p m e n t : : T o o ls : :S i m u l in k : : S L D a t a T y p e s :: S L E n u m O n O f f + W i d e L i n e s : :: L o g ic a l V i e w :: A u t o m o t iv e S y s t e m D e v e l o p m e n t :: T o o l s : : S i m u l i n k : :S L D a ta T y p e s : : S L E n u m O n O ff + B a c k g r o u n d C o lo r : S t r in g + D e r i v a t i o n : S t r i n g + D r o p S h a d o w : : : L o g i c a l V i e w : : A u to m o ti v e S y s t e m D e v e l o p m e n t: : T o o l s : : S im u l i n k :: S L D a t a T y p e s : :S L E n u m O n O f f + F o n t A n g l e : S t ri n g + F o n t N a m e : S t ri n g + F o n t S i z e : In t e g e r + F o n t W e i g h t: S t ri n g + F o r e g ro u n d C o l o r : S t r i n g Automotive System Development Metamodell Abbildung 2. - Das ASD-Metamodell stellt die innere Struktur der Artefakte in den Entwicklungswerkzeugen dar Abbildung 2. zeigt einen der ersten notwendigen Schritte unserer Vorgehensweise. Die innere Struktur der Artefakte in den unterschiedlichen Werkzeugen wird in einem gemeinsamen Metamodell abgebildet. Dazu nutzen wir Enterprise Architect [SPX06] für die Erstellung von Metamodellen nach dem MOF Standard [OMG3]. Nachfolgend wird der Aufbau des Metamodells kurz beschrieben. Das Metamodell ist hierarchisch aufgebaut. Es definiert zunächst einen Kern, der ein Standardelement sowie typische Strukturen, wie z.b. Containment, beschreibt. Die Kernelemente werden in den weiteren Paketen des Metamodells durch Vererbung wieder verwendet. 5

Das ASD-Metamodell enthält neben dem Paket mit grundlegenden Elementen zwei weitere Arten von Paketen: Strukturen von Werkzeugartefakten und Strukturen logischer Artefakte. Logische Artefakte entstehen typischerweise durch Abstraktion vom Werkzeug. Ein typisches Beispiel für ein logisches Artefakt ist die bereits beschriebene Basisfunktion (siehe Abbildung 2.2). Eine Basisfunktion wird im Werkzeug DOORS durch eine bestimmte hierarchische Strukturierung von Anforderungs-Objekten dargestellt (siehe Abbildung.). cd AM Basisfunktion + Ausgaben: String [0..*] + Eingaben: String [0..*] + Fehlerbehandlung_Diagnose: String [0..*] + Parameter: String [0..*] + Verarbeitung: String [0..*] Abbildung 2.2 - Das logische Artefakt "Basisfunktion" 2.2 Gemeinsames Repository und Werkzeugadapter Abbildung 2.3 zeigt das Paket des ASD-Metamodells, das die Werkzeugartefakte enthält. Direkt aus Enterprise Architect heraus lässt sich mit Hilfe des Werkzeugs medini meta modeler [HAN06; IKV06] aus dem gesamten Metamodell ein Repository generieren. Dieses Repository kann daraufhin Instanzen der modellierten Werkzeugartefakte aufnehmen. Um die Informationen aus den Werkzeugen in die Datenbank zu übertragen, wurden von uns werkzeugintegrierte Tool-Adapter entwickelt. Bisher werden Anforderungsprojekte aus DOORS und MATLAB/Simulink/Stateflow-Modelle [DAB04] aus dem MATLAB- Workspace [HAL05], jeweils über die COM-Schnittstelle [MCT06] der Werkzeuge ausgelesen. Die ausgelesenen Informationen werden dann durch einen CORBA-Zugriff [OMG5] über das Netzwerk als eine Modellinstanz im Repository gespeichert. Das gespeicherte Instanzmodell entspricht exakt der Struktur des vorgegebenen Metamodells. Logische Artefakte, wie z.b. das Konstrukt Basisfunktion, sind in den Werkzeugen nicht als solches vorhanden. Sie können daher auch nicht direkt aus den Werkzeugen ausgelesen werden, sondern entstehen durch Transformationen eines oder mehrerer Werkzeugartefakte im Repository. Diese Transformationen werden von uns zurzeit implementiert. 6

cd Tools MATLAB + MLFunction Simulink + SLAnnotation + SLBlockTypes + SLDataTypes + SLStructure Stateflow + SFChart + SFData + SFEvent + SFJunction + SFMachine + SFState + SFTransition + SFVertex OCLEditor + OCLConstraint DOORS + DRSFolder + DRSFormalModule + DRSFormalObject + DRSLinkModule + DRSLinkObject + DRSModule + DRSObject + DRSProject + AttributeValueRelationship + DRSRepresentation + LinkStructure CTE + CT EClass + CTEClassification + CTEComposition + CT EMark + CTERootClass + CTETestSequence + CTETestStep MTest + MTEffectiveTestInterface + MTEvalConfiguration + MTEvaluationMethod + MTInputData + MTModel + MTOutputData + MTPotentialTestInterface + MTProject + MTReferenceData + MTSimulationProperties + MTTest + MTTestData + MTTestFrame + MTTestObject + MTTestResult + MTTestSequence Abbildung 2.3 - Ausschnitt (Paket Tools) aus dem Metamodell Automotive System Development (ASD). 2.3 Formalisierung und Prüfung werkzeugspezifischer und werkzeugübergreifender Entwicklungsrichtlinien Auf dem in MESA entstandenen ASD-Metamodell lassen sich Entwicklungsrichtlinien mit Hilfe von OCL [OMG4] formalisieren. Eine netzwerkfähige OCL-Engine [OSL06] prüft dann die formalisierten Richtlinien auf einem oder mehreren Instanzmodellen automatisiert und werkzeugunabhängig auf dem Modell-Repository. Dabei ist es sowohl möglich, Richtlinien für Artefakte einzelner Werkzeuge als auch werkzeugübergreifende Richtlinien zu prüfen. Wie bereits erwähnt, wurde von uns exemplarisch der modellbasierte Entwicklungsprozess ausgewählt. In diesem Prozess sind bereits Richtlinien üblich, die Artefakte in einzelnen Entwicklungsphasen betreffen. Dies sind Modellierungsrichtlinien für ML/SL/SF und formale Reviewkriterien für DOORS- Lastenhefte und Testspezifikationen. Eine einfache werkzeugübergreifende Richtlinie wird in Kapitel 3. beschrieben. Die Formulierung werkzeugübergreifender Richtlinien ist nur nach gründlicher Analyse des Entwicklungsprozesses möglich. Hier sehen wir für die Kunden eines möglichen zukünftigen Produktes ASD Regelchecker Bedarf an Beratung. Typischerweise hat die Formulierung neuer Richtlinien auch Auswirkungen 7

auf das Metamodell, da prozessspezifische logische Artefakte zu definieren sind. Werkzeugadapter sind nur beim Einbinden bisher nicht berücksichtigter Werkzeuge zu programmieren. Grundsätzlich sind Werkzeugadapter prozessunspezifisch und damit wiederverwendbar implementiert. Eine auf dem.net Framework 2.0 [MNT06] basierte Applikation (ASD Regelchecker) [MSA06] fasst die zuvor geschilderten Komponenten unter einer gemeinsamen grafischen Benutzeroberfläche zusammen. In Abbildung 2.4 ist ein Ausschnitt der technischen Architektur des ASD Regelcheckers am Beispiel des Tool-Adapters für MATLAB/Simulink/Stateflow dargestellt. Die technische Anbindung weiterer Entwicklungswerkzeuge, wie der bereits angebundenen Werkzeuge DOORS oder MATLAB/Simulink/Stateflow, funktioniert weitestgehend analog. Common Object Model (COM) und Distributed COM (DCOM) Common Object Request Broker Architecture (CORBA) The Mathworks MATLAB MATLAB Simulink internal Workspace Stateflow IKV++ medinimm Repository (MOF) OSLO Engine Object Constraint Language (OCL) Microsoft Common Object Model (COM) Wrapper Borland Janeva Object Request Broker (ORB) MATLAB/Simulink/Stateflow Tool specific Adapter Microsoft.NET Framework 2.0 ASD Regelchecker Abbildung 2.4 - Architektur und Technologien des ASD Regelcheckers am Beispiel des Tool-Adapters für MATLAB/Simulink/Stateflow 3 Metamodellbasierte Regelbeschreibung und Überprüfung Wie bereits in Abschnitt 2 dargestellt, ist eine genaue Kenntnis des zu unterstützenden Entwicklungsprozesses unabdingbar. Dieses Wissen kommt im Wesentlichen an zwei zentralen Punkten der Entwicklung eines Konsistenzcheckers zum Einsatz: Zum einen müssen die zu prüfenden Artefakte, die meist logische Artefakte sind, im Metamodell definiert werden und ihre Zusammensetzung aus Werkzeugartefakten mit Hilfe von Transformationen dargestellt werden; zum anderen fließt das Prozesswissen in die Neuformulierung oder zumindest Anpassung bestehender Entwicklungsrichtlinien. Im 8

Folgenden stellen wir anhand des von uns untersuchten Entwicklungsprozesses beispielhafte Entwicklungsrichtlinien dar. 3. Beispiel einer werkzeugübergreifenden Konsistenzprüfung Im diesem Abschnitt wird anhand der Umsetzung einer Basisfunktion aus DOORS in ein Simulink Verhaltensmodell ein Beispielszenario des in MESA entwickelten Regelcheckers erläutert. Abbildung. zeigt exemplarisch einen Ausschnitt einer funktionalen Anforderung an die Steuerung eines Scheibenwischers. Abbildung 3. zeigt das entsprechende Subsystem in MATLAB/Simulink, das die dargestellte Anforderung in einem Verhaltensmodell umsetzt. Da das Simulink-Subsystem die Funktionalität einer Basisfunktion kapselt, wird es Basismodul genannt. s_zuendung_ein s_zuendung_ein 2 s_benutzerw_scheibenw_aktiv ieren s_benutzerw_scheibenw_aktivieren s_zuendung_ein s_benutzerw_scheibenw_aktiv ieren s_scheibenw_aktiv ieren s_scheibenw_aktiv ieren s_scheibenw_aktivieren SCHEIBENWISCHER_AKTIVIEREN FUNKTION MODUL Verhalten Abbildung 3. - Ausschnitt aus einem Verhaltensmodell: Ein Basismodul (Simulink-Subsystem), das die Funktionalität zur Umsetzung einer in DOORS beschriebenen Basisfunktion kapselt Der Modellierer hat nun sicherzustellen, dass er zu jeder Zeit (d.h. bei jeder neuen Version des Lastenheftes in DOORS) alle Basisfunktionen in Simulink Basismodulen modelliert hat. Um diese Prüfung zu erleichtern, gilt die Richtlinie, dass die Bezeichnung der Basisfunktion in DOORS mit der Bezeichnung des Basismoduls in Simulink übereinstimmen soll. Weitere automatisch prüfbare Entwicklungsrichtlinien sind beispielsweise, dass die Basismodule die gleichen Schnittstellen haben, wie in den Basisfunktionsanforderungen vorgegeben wird, und dass die Schnittstellen die gleichen Datentypen erwarten, wie es in der logischen Datendefinition definiert wurde. Es sei an dieser Stelle ausdrücklich darauf hingewiesen, dass die Überprüfung, ob die Simulink/Stateflow-Modelle die in den Anforderungen beschriebenen Funktionalitäten abbilden, auch weiterhin dem Modellierer und dem anschließenden Test überlassen bleiben. Die Anforderung der vollständigen Umsetzung aller Basisfunktionen in Basismodule lässt sich, basierend auf dem beschriebenen ASD-Metamodell, folgendermaßen in OCL formalisieren: context B : ASDMetamodel.Activities.AM.Basisfunktion inv: self.allinstances()-> select(asdmetamodel.tools.simulink.slsubsystem.allinstances()-> select(bezeichner = B.identifier)->isEmpty()) 9

Dieser OCL-Ausdruck besagt Folgendes: Aus allen Instanzen der Klasse Basisfunktion wähle diejenige aus, für die gilt, dass es keine Instanz der Klasse SLSubsystem mit dem gleichen Bezeichner gibt.. Das Ergebnis der Auswertung dieses Ausdrucks ist somit eine Menge von Basisfunktionen, für die es noch keine entsprechenden Subsysteme in Simulink gibt. Ist die Menge leer, so existieren für alle Basisfunktionen Basismodule mit dem gleichen Bezeichner. Nach anfänglicher Formulierung der Richtlinien, so dass diese wahr/falsch zurückliefern, favorisieren wir inzwischen eine mengenorientierte Formulierung. Das Ergebnis der Auswertung solcher Richtlinien lässt sich dann wie folgt interpretieren: Ist das Ergebnis eine leere Menge, so ist die Regel eingehalten; ist das Ergebnis eine nicht leere Menge, so existieren Verstöße gegen die Regel. Die Objekte, die gegen die Regel verstoßen, sind genau die in der Rückgabemenge enthaltenen Objekte. Abbildung 3.2 - Bedienoberfläche des ASD Regelcheckers zur Konfiguration der Regelprüfung 3.2 Automatische Konsistenzprüfung in der Anwendung Im Folgenden soll kurz auf die bereits erfolgte prototypische Umsetzung des von uns ASD Regelchecker genannten Tools eingegangen werden. Mittels im Werkzeug integrierter Menüs kann der Regelchecker aus der jeweiligen Applikation (DOORS oder Simulink) kontextbasiert aufgerufen werden. So können beispielsweise nach Bedarf einzelne Elemente des gerade verwendeten Werkzeugs selektiv geprüft werden. Der Regelchecker kann zudem auch als eine separate 0

Einzelapplikation gestartet werden. Vor dem Prüfdurchlauf lädt der Regelchecker die in OCL formulierten Richtliniendefinitionen und erlaubt die Selektion von kategorisierten Richtlinienprofilen. Abbildung 3.2 zeigt den Aufbau der grafischen Benutzeroberfläche. Im linken Teil der Oberfläche wird ein hierarchischer Artefaktbaum mit den gewählten Anforderungen aus DOORS und dem gewählten Modell aus ML/SL/SF aufgebaut. Elemente können im Nachhinein vom Benutzer angepasst oder aber entfernt werden, sofern sie für eine Prüfung irrelevant sind. Im rechten Teil der Oberfläche befinden sich mehrere Registerkarten für Einstellungsoptionen. In der Registerkarte Prüfung sind die prüfbaren Richtlinien aufgelistet. Nach der benutzerdefinierten Konfiguration wird die Konsistenzprüfung durch den Benutzer gestartet. Abbildung 3.3 Darstellung der Ergebnisse einer abgeschlossenen Richtlinienprüfung Abbildung 3.3 zeigt einen Ausschnitt des ASD Regelcheckers für die Analyse von Prüfergebnissen hier exemplarisch für ein Simulink-Modell nach einem erfolgten Prüfdurchlauf. Ein Ergebnisprotokoll in Listenform gestattet es dem Entwickler herauszufinden, welche Richtlinie gegebenenfalls verletzt wurde und welche konkreten Elemente für die Regelverletzung verantwortlich sind. Nach dem Prüfdurchlauf werden die im Ergebnisprotokoll selektierten Informationen, Hinweise oder Fehler in einem speziellen Ausgabefeld ( Details ) ausführlich beschrieben.

4 Zusammenfassung und Ausblick Dieser Beitrag stellt das Forschungsvorhaben des Projektes MESA zur werkzeugübergreifenden Konsistenzsicherung von Entwicklungsartefakten dar. Die betrachteten Werkzeuge sind DOORS, MATLAB/Simulink/Stateflow und MTest. Der Lösungsansatz beruht auf der Abbildung werkzeugspezifischer Artefakte in ein MOF konformes Metamodell. Die Konsistenzprüfung wird auf den Instanzen des Metamodells anhand der OCL vorgenommen. Dieser Ansatz erlaubt gleichermaßen die Überprüfung werkzeugspezifischer Richtlinien, z.b. der Modellierungsrichtlinien für MATLAB/Simulink/Stateflow. Die Praxistauglichkeit des Ansatzes wird durch ein prototypisch entwickeltes Softwarewerkzeug demonstriert. Neben der technologischen Anbindung weiterer Werkzeuge und der Implementierung von Transformationen liegt unser inhaltlicher Schwerpunkt zurzeit auf der Formalisierung zunehmend komplexerer Entwicklungsrichtlinien. 5 Literaturverzeichnis [DAB04] Dabney, J.; Harman, T.: Mastering Simulink, Pearson Education, Prentice Hall, 2004 [HAL05] Hanselman, D.; Littlefield, B.: Mastering Matlab 7, Pearson Education, 2005 [HAN06] Publikation in hanser automotive electronics + systems: Schnellere Softwareentwicklung Optimierter Entwicklungsprozess, Ausgabe: -2/2006, Carl Hanser Verlag, München, 2006 [IKV06] IKV++ Technologies AG: Medini Meta Modeler, URL: www.ikv.biz [MAT06] The MathWorks Inc., MATLAB/Simulink/Stateflow, URL: www.mathworks.com [MSA06] Forschungsprojekt des FhI FOKUS und der Carmeq GmbH: Metamodellierung zur Automatisierung von Analyse- und Entwicklungsmethoden für Software im Automobil, URL: www.fokus.fraunhofer.de/bereichsseiten/projekte/mesa [MCT06] Microsoft: Component Object Model Technologies, URL: www.microsoft.com/com [MNT06] Microsoft:.NET Framework, URL: www.microsoft.com/germany/msdn/netframework [OMG] Object Management Group (OMG), URL: www.omg.org [OMG2] Object Management Group (OMG): Model Driven Architecture (MDA), URL: www.omg.org/mda [OMG3] Object Management Group (OMG): Meta Object Facility (MOF), Version.4, URL: www.omg.org/technology/documents/formal/mof.htm [OMG4] Object Management Group (OMG): Object Constraint Language 2.0 Specification, URL: www.omg.org/docs/ptc/05-06-06.pdf [OMG5] Object Management Group: Common Object Request Broker Architecture (CORBA), OMG-Document formal/2004-03-2 [OSL06] OSLO Open Source Library for OCL, URL: oslo-project.berlios.de [SPX06] Sparx Systems Ltd.: Enterprise Architect, Version 6., URL: www.sparxsystems.com [TLG06] Telelogic Deutschland GmbH: DOORS, Version 8.0, URL: www.telelogic.com [WEW05] Wewetzer, C.: MTest eine offene Testumgebung für die modellbasierte Entwicklung, Abteilung Produktmanagement, dspace GmbH, Paderborn, Design und Elektronik Entwicklerforum, 2005 2