Modellbasierte Softwareentwicklung für automobilspezifische Steuergerätenetzwerke Christian Schröder Telelogic Deutschland GmbH Bielefeld http://www www.forsoft.de/.de/automotive/ Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 2/12
Requirements is a lot harder than it used to be (because we built all the easy systems a long time ago). 2001 by Tom DeMarco: The Atlantic System Guild Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 3/12
Anforderungen an die automobile Systementwicklung Verteiltheit und Interoperabilität in Steuergerätenetzwerken Verteilte Realisierung von Gesamtfunktionalitäten Zunahme der Abhängigkeiten Arbeitsteiliges Vorgehen Anforderungskatalog vom Hersteller Realisierung vom Zulieferer Abnahme und Integration vom Hersteller Kurze Entwicklungszeiten Kurze Entwicklungszeiten Paralleles Entwickeln von Steuergeräten, und Funktionen innerhalb eines Steuergerätes Wettbewerbsentscheidende Innovationen Zunahme des Stellenwerts eingebetteter Systeme für den Kunden (vgl. DSC, ACC) Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 4/12
Fokus Projekt Forsoft II - REQUIREMENTS Requirements Management Analysis Software Project Planning and Tracking Specification Software Configuration Management Function Development Process Design Documentation Partner : Werkzeughersteller: Telelogic ETAS Universität: TU München Implementation Automobilhersteller: & Integration BMW Opel (assoziiert) Software Quality Assurance Production & Service Zulieferer: Software Bosch (assoziiert) Subcontract Management ZF Friedrichshafen (assoziiert) PRODUCT Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 5/12
Lösungsansatz Unterstützung des Strukturierungsprozesses von Anforderungen: informell beschriebene Anforderungen modellbasierte Anforderungen Differenzierung in Informationsklassen Strukturierung der Funktionen Schrittweise Spezifikation der Funktionen Übergang von Analysemodellen ins abstrakte Design Variantenbildung und Instanziierung von Funktionen zu Funktionennetzen Abbildung der Funktionen auf ein abstraktes Systemmodell Konsistente Verwaltung der Anforderungen Traceability- und Impact Analysis Change Management Configuration Management Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 6/12
integriertes Informationsmodell Szenarien Funktionen Funktionennetz Logische Systemarchitektur Technische Systemarchitektur Implementierung Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 7/12
Modellbasierte Systementwicklung Funktionale Modellbildung Analyse Design Szenarien Funktionen Integriertes Funktionennetz Informationsmodell Logische Systemarchitektur Technische Systemarchitektur Implementierung Funktionsspezifikation Konsistente Verwaltung der Funktionen Integration auf logischer Ebene mit dem technischen Teil der Systementwicklung Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 8/12
Abstraktionsebenen Einschränkende Systemsichten A Abstraktionsebene N A B C Abstraktionsebene N-1 Konzepte B und C erklären Konzept A Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 9/12
Werkzeugunterstützung Szenarien DOORS UML-Suite Funktionen Funktionennetz Logische Systemarchitektur DOORS DOORS DOORS UML-Suite ASCET-SD SD UML-Suite ASCET-SD SD UML-Suite ASCET-SD SD Technische Systemarchitektur Implementierung DOORS DOORS ASCET-SD SD ASCET-SD SD Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 10/12
Einsatz der UML Standard für objektorientierte Notationen Multi purpose Modellierungssprache Spezialisierung durch Profilbildung kompatibel zum Konzept der Abstraktionsebenen gemeinsame Sprache für alle Beteiligten Definition eines UML Profils breite Akzeptanz in der Industrie Automatische Integration in bestehende und zukünftige UMLbasierte Entwicklungsprozesse Definition der AML Spracharchitektur (Metamodell) mit UML Ankopplung des AML Metamodells an den (neuen) UML Standard Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 11/12
Szenarien Angabe von exemplarischen Systemabläufen (Szenarien) Diagrammart: Use Case Diagram Konstrukte Dargestellter Inhalt Use Cases Szenarien Dependency Dekomposition von Szenarien Actor Definition von Schnittstellen open Motor Switch Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 12/12
Funktionen Hierarchische Dekomposition Control * Window_Lifting Diagrammart: Class Diagram Activation Interfaces Lollipops Motor MotorControl SensorValues Basic_Operation Child_Protection * «coordinator» Window_Coordinator Control Activation Control Control Darstellung von Funktionen und deren hierarchische Struktur Klassen Konstrukte Hierarchische Dekomposition von Klassen (Schnittstellenklassen) Dependency Propagation Funktionen Interrupt Dargestellter Inhalt Dekomposition von Funktionen Block_Detection Definition von Schnittstellen Shut_protection (Unterstützung der Wiederverwendung durch Schnittstellenvererbung) Signalabhängigkeiten zwischen einzelnen Funktionen (horizontale Kommunikation) Repetition_lock Delegation von Signalen (vertikale Kommunikation) Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 13/12
Funktionen Schnittstellendefinitionen Darstellung von Schnittstellen sender und ihren Signalen sender Diagrammart: Class Diagram Dependency «bind» «bind» «bind» «interface» Control<Driver> «interface» Control Konstrukte Interface-Klassen open() close() stop() Interface-Klassen Templates «bind» «interface» Control<Local> «interface» Control<Remote> «interface» Interrupt Dargestellter Inhalt «interface» Activation «interface» MotorControl up() down() Spezifikation halt() von Schnittstellen mit ihren Signalen Generische Schnittstellen-Schablonen mit formalen Parametern (z.b. für die Sender-ID) «interface» SensorValues Generierung von Schnittstellen aus Templates durch Bindung der formalen Parameter getpower() «interface» Comfort start() stop() fully_open() fully_close() Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 14/12
Funktionennetz Variantenbildung Window_Lifting Darstellung von Funktionen und ihren Varianten Diagrammart: Class Diagram Klassen Konstrukte Hierarchische DriverDoor Dekomposition von Klassen Dependency «variant of» «variant» «variant» «variant» Dargestellter Inhalt Funktionen und ihre Varianten Dekomposition von Varianten CoDriverDoor Comfort_Fcts «variant» (Graphische) Darstellung der Variantenbildung aus Funktionen ComfortControl PassengerDoor Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 15/12
Funktionennetz Hierarchische Dekomposition Darstellung von Varianten und deren hierarchische Struktur Diagrammart: Class Diagram Konstrukte gefaltete Klasse Basic_Operation Repetition_lock DriverDoor Control Activation Block_Detection Klassen Sub-Funktionen, die in der Variante realisiert werden Interfaces Lollipops Variante Dargestellter Inhalt Varianten-Schnittstellen mit Referenz zu den Control Schnittstellenklassen Definitionen Shut_protection Motor MotorControl SensorValues Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 16/12
Funktionennetz Darstellung der Kommunikation Control<Driver> zwischen Varianten DriverDoor Diagrammart: Class Diagram Konstrukte gefaltete Klassen Control<Remote> Interfaces Lollipops Dependency Varianten CoDriverDoor Dargestellter Inhalt Control<Remote> Varianten-Schnittstellen mit Referenz zu den Schnittstellenklassen Definitionen Signalabhängigkeiten zwischen einzelnen Varianten Control<Driver> Interrupt PassengerDoor Control<Remote> ComfortControl Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 17/12
Logische Systemarchitektur Instanzierung von Funktionen Darstellung der Instanziierungen von Varianten Diagrammart: Class Diagram Klassen DriverDoor Objekte «instance of» :DriverDoor Konstrukte Dargestellter Inhalt Dependency «instance of» «instance of» Varianten PassengerDoor CoDriverDoor ComfortControl Instanzen von Varianten Darstellung der Instanziierung aus Varianten «instance of» «instance of» «instance of» :CoDriverDoor :ComfortControl Left:PassengerDoor Right:PassengerDoor Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 18/12
Logische Systemarchitektur Verteilung der Funktionen auf Steuergeräte Verteilung der Funktionen auf den Steuergeräten WindowRegulator :DriverDoor PM_FT Diagrammart: Deployment Diagram Konstrukte Objekte Interfaces Lollipops Dependency Component Nodes RemoteControl :ComfortControl Varianten-Instanzen Switch Interrupt<Driver> Interrupt<CoDriver> Interrupt<RightPassenger> Interrupt<LeftPassenger> Definition der Schnittstellen (inkl. Abhängigkeiten auf Control<Remote> Instanzebene) Control<Local> Darstellung der Signalabhängigkeiten (horizontale Kommunikation) Logische Aggregation von Varianteninstanzen zu Driver:Switch CoDriver:Switch Subsystemen Abstrakte LeftP:Switch Darstellung RightP:Switch von aktiven Rechnereinheiten (Steuergeräte) Dargestellter Inhalt Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 19/12
Technische Unterstützung: UML-Suite Navigation zwischen Modellelementen und Diagrammen aller Abstraktionsebenen durch Doppelklick Übersichtliche Projektdarstellung durch konfigurierbaren Browser Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 20/12
Technische Unterstützung: DOORS Darstellung der Beziehungen im Modell (z.b. Szenarien-Funktionen, Variantenbildung) durch Links und Linkmodule zwischen Dokumenten Automatische Nachvollziehbarkeit Navigation von Anforderungen zu Modellelementen Verfolgung der Herkunft von Anforderungen Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 21/12
Laufende Untersuchungen Dynamische System-Modellierung mit UML Zur UML konsistente Modellierung mit ASCET-SD Verhaltensbeschreibung von Funktionen mit Hilfe von Automaten Darstellung von Instanzen und Signalen Schnittstellenvererbung Untersuchung der gewonnenen Sprachkonstrukte Anwendbarkeit Effizienz Ausdrucksstärke Implementation des zweiten Prototypen der Werkzeugkopplung Konsolidierung des AML Metamodells Anpassung der Import/Export Module der Werkzeuge Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 22/12
Ausblick Modeling Language (AML): Modellierungssprache zur Spezifikation eingebetteter Systeme Gemeinsamer Standard für Hersteller und Zulieferer Basiert auf einer Untermenge von UML und ASCET-SD Notationen Iterative Erarbeitung der Werkzeugkette Evaluierung des zweiten Prototypen Produktreife Werkzeugkette Support durch führende Werkzeughersteller Fallstudien Durchführung realistischer Fallstudien bei den assoziierten Partnern Gemeinsame Evaluierung des Entwicklungsprozesses und der Werkzeugkette Produktreife Werkzeugkette und konsolidierte AML: Feb. 2003 Christian Schröder VDI Tagung Elektronik im Kraftfahrzeug 23/12