Projektgruppe ACC++: Domänenspezifische Sprachen für Autonomes Fahren Veranstalter: Fadi Jabbour, Falk Howar Lehrstuhl 14 für Software Engineering Stefan Naujokat, Bernhard Steffen Lehrstuhl 5 für Programmiersysteme 1
Inhalt 1) Motivation 2) ACC Funktion und Entwicklung 3) Ziele der PG 4) Domänenspezifische Sprachen 5) Evaluationsumgebung 6) Organisatorisches 2
Motivation 3
Megatrend: Autonome Systeme Die Autoindustrie arbeitet mit Hochdruck an der Entwicklung autonomer Fahrassistenten Eine große Herausforderung ist die Absicherung solcher Systeme Herausforderung 1: Semantische Lücke zwischen Anforderungen und Implementierung Herausforderung 2: Unbekannte Situationen in denen ein Assistent operieren muss Idee: Domänenspezifische Sprachen schließen semantische Lücken und erlauben das automatische Generieren von Überwachungskomponenten, die unbekannte Situationen erkennen. 4
Aktuelle Entwicklungsmethode 5
Aktuelle Entwicklungsmethode 6
Stand der Technik: Absicherung Stand der Technik: Absicherung über Betriebsstunden und Norm-konforme Entwicklungsprozesse und Testszenarien Weitergehende Herausforderungen: Adaptive, offene und lernende Systeme Unkontrollierbare und unvorhersehbare Umgebungen 7
Anwendungsbeispiel: Adaptive Cruise Control Funktion und Entwicklung 8
ACC: Adaptive Cruise Control Hält eingestellte Geschwindigkeit bei freier Strecke Hält eingestellten Abstand bei vorausfahrendem Fahrzeug Keine Querführung 9
Aktuelle Entwicklungsartefakte ISO Norm Gewünschtes Verhalten? Anforderungen Modell-basierte Spezifikation Manuell erstellte Testszenarien (integriert Regler und Zustandslogik) C Code 10
Beyond ACC Lane Keeping / Lane Change Autonomes Parken Platooning... 11
Ziel der Projektgruppe 12
Ziel der Projektgruppe 13
Entwicklung von DSLs für ACC 14
Generierung von ACC Code On car enters lane with vl < v and h < 5m do panic Parameter des Reglers Verschiedene DSLs für verschiedene Aspekte Integration der Aspekte durch Generierung 15
Generierung von Überwachungskomponenten Gewünschtes Verhalten in DSL abstrakt und verständlich beschrieben Generierte Überwachungskomponenten überprüfen gewünschtes Verhalten 16
Domänenspezifische Sprachen (DSLs) 17
Domain-Specific Languages 18
Domain-Specific Languages 19
Domain-Specific Languages 20
Domain-Specific Languages 21
Domain-Specific Languages 22
Domain-Specific Languages 23
Domain-Specific Languages 24
CINCO Core Ideas Simplified development of graphical modeling tools Generate from higher-level specification Dedicated model types for tool (i.e. ~ metamodels) Fully integrated into Eclipse Java IDE Parts that can't be generated are seamlessly programmed simplified API: no need to know the Eclipse PDE/RCP Profit from vast world of Eclipse tools and plug-ins Focus on graph structures simpler specification language more generative power 25
CINCO Full Tool Specification Meta Graph Language (MGL) model Meta Style Language (MSL) view Simplified Java API and/or jabc process models control 26
CINCO Full Tool Specification Meta Graph Language (MGL) model Meta Style Language (MSL) view Simplified Java API and/or jabc process models control 27
Simple Example Tools 28
More Sophisticated Tools (1) 29
More Sophisticated Tools (2) 30
Evaluationsumgebung 31
Geplante Evaluationsumgebung (1) VTD: Virtual Test Drive Professionelle Simulationsumgebung Verkehrs- und Szenario-Simulation Echtzeit-Visualisierung OpenDrive zur Definition von Testfahrten 32
Geplante Evaluationsumgebung (2) Modell-Autos Maßstab 1:10 Identische Controller wie im echten Auto Sensorik: Kameras, Ultraschall, LIDAR 33
Organisatorisches 34
Ablauf (1) Vorbesprechung Seminarphase 2 Tage (kurz vor oder zu Vorlesungsbeginn) Präsentationen zu den Kernthemen Kennenlernen 35
Ablauf (2) Erstes Semester Einarbeitung Modellierungssprache(n) entwickeln Cinco-basierten Editor implementieren Dokumentation, Zwischenbericht Zweites Semester Codegenerator für ADTF Framework ACC mit den DSLs entwickeln und Simulieren/Testen Dokumentation, Endbericht Abschlusspräsentation 36
Was ihr braucht und was ihr lernt Was ihr braucht: Programmierkenntnisse Motivation, sich in spannende Themen einzuarbeiten Was ihr lernt: Umgang mit verschiedenen (neuen) Technologien Wissenschaftliches Arbeiten Industrieerfahrung Teamarbeit Selbstorganisation und Projektmanagement... 37
Was ihr (von uns) bekommt PG-Schein :-) Einblicke in die Welt von Entwicklung autonomer Fahrfunktionen Domänenspezifischen Sprachen Modellbasierten Systemen Industriepartnern Diplom-/Masterarbeitsthemen 38
Wrap-up / Ziele Cinco-basierte DSL-Modellierungsumgebung Anlehnung an DIN/EN/ISO Standards Zusätzliches Domänenwissen Generierung für ADF Framework ACC Regler-Code Überwachungskomponenten Simulation Virtual Test Drive Modell-Autos im Maßstab 1:10 39
Projektgruppe ACC++: Domänenspezifische Sprachen für Autonomes Fahren Fragen? Kontakt: falk.howar@tu-dortmund.de stefan.naujokat@tu-dortmund.de steffen@cs.tu-dortmund.de 40