Model Driven Development Vorteile und Gründe für einen Einstieg Philip Zollinger Geschäftsführer EVOCEAN GmbH SEE, 28. 30. April 2008, Bern 1 EVOCEAN GmbH Die Herausforderung Automation der Schlüssel zum Erfolg - Model Driven Development - Ergänzende Bereiche Case: Phonak Case: Schindler EVOCEAN Ihr Partner für Produkt- & Systementwicklung 2
Ihr Partner für Produkt- & Systementwicklung Gründung 1. März 2006 Kernkompetenzen Strategische Partner Telelogic, Mitglied der IBM Gruppe Willert Software Tools BigLever 3 EVOCEAN GmbH Die Herausforderung Automation der Schlüssel zum Erfolg - Model Driven Development - Ergänzende Bereiche Case: Phonak Case: Schindler EVOCEAN Ihr Partner für Produkt- & Systementwicklung 5
Fehler sind menschlich und teuer Induced Errors Costs of Design Changes Time Requirements Document Requirements Capture & Analysis HW/SW Design Document Systems Analysis & Design SW Design Module Integration & Test (Sub-)System Integration & Test.doc.exe System Acceptance SW Design Specification SW Implementation & Unit Test.doc.exe 6 Umfeld immer komplexer und dynamischer Anspruchsvolle Kundenwünsche Average Number of Lines of Code 50000 45000 40000 35000 30000 25000 20000 15000 10000 5000 0 8 Bit 16 Bit 32 Bit Processor Architecture Produkte werden komplexer und fehleranfälliger / steigender Anteil an Software in der Elektronik Änderungen immer häufiger Hohe Ansprüche an Qualität Globalisierung & steigender Wettbewerb Druck auf Kosten und Time-to-Market Gesetzliche Vorgaben einhalten Testaufwand nimmt dramatisch zu 7
EVOCEAN GmbH Die Herausforderung Automation der Schlüssel zum Erfolg - Model Driven Development - Ergänzende Bereiche Case: Phonak Case: Schindler EVOCEAN Ihr Partner für Produkt- & Systementwicklung 8 Automation der Schlüssel zum Erfolg Komplexität mit Abstraktion begegnen Durchgängige Prozesse zwecks Minimierung von Medienbrüchen Integration in Entwicklungsumgebung und Zielplattform Durchgängige Sprache von der Anforderung bis zum Test Einsatz von Best-in-Class und State-of-the-Art Werkzeugen und Methoden Voraussetzung Bekenntnis zu den OMG Standards -> Nachhaltigkeit 9
Model Driven Development Kontext System Entwicklung Modellierung mit UML / SysML Algorithmen mit Simulink als Modellelement integrierbar Heutiger Fokus: Software für Embedded Systems 10 Model Driven Development Unsere Definition Das Modell beinhaltet alle nötigen Informationen für die Generierung der Software Ausführbare Modelle (Animation / Simulation) Modell = Code 11
Model Driven Development Zeit mit MDD Requirements Capture & Analysis System Engineering Software Engineering Test Engineering Systems Analysis & Design SW Design SW Implementatio n & Unit Test Zeit (ohne MDD) Module Integration & Test System Acceptance (Sub-)System Integration & Test Lösung Gemeinsame Sprache (SysML, UML) Dynamische Modell-Code Assoziation Durchgängige Entwicklungsumgebung Modellbasiertes Diff/Merge Automatisches Testen i.e. Rhapsody von Telelogic 12 Model Driven Development Integration Entwicklungsumgebung (Editor, Compiler, Debugger) Zielplattform (RTOS, Prozessor) Algorithmen (Simulink) Konfigurationsmanagement Requirements Management Testing Change Management Prozess 13
Model Driven Development Integration in Eclipse Schnittstelle zum Anwender Modell als Plug-In Fliessender Wechsel (bidirektional) Vorteile von Eclipse inkl. Code Editor nutzen Vorteile von MDD nutzen Immer 2 Ansichten (Modell & Code) 14 Model Driven Development Integration in Debugger Vom Modell zum HW debuggen Debuggen auf der richtigen Abstraktionsebene Im Modell -> dann im Code Fliessender Wechsel zw. Tools (bi-direktional) 15
Model Driven Development Re-Engineering Die Wenigsten können auf der grünen Wiese anfangen Re-Engineering von Legacy (C, C++...) Code Respect Import von Modellen aus anderen Tools 16 Model Driven Development System Engineering Software Engineering Test Engineering Requirements Capture & Analysis Systems Analysis & Design SW Design SW Implementati on & Unit Test System Acceptance (Sub-)System Integration & Test Module Integration & Test Nutzen Testing von Beginn Parallele Entwicklung effektiv Verteilte Entwicklung effektiv Immer aktuelle Dokumentation Refractoring vereinfacht Kürzere Time-to-Market Höhere Produktivität Höhere Qualität Einfacher für neue Mitarbeiter 17
Automation der Schlüssel zum Erfolg Model Driven Development Product Line Engineering Das Ganze ist mehr als die Summe seiner Teile. Aristoteles Testing Solutions Requirements Management 18 Ergänzende Bereiche Requirements Management Anforderungen sind Basis für Erfolg Wechselnde Anforderungen Prozess ist iterativ / Requirements Management noch starr Grenzen von Word / Excell etc. Anforderungen sind die Basis für die Tests ECC, 2. September 208, Winterthur 19
Ergänzende Bereiche Product Centric Engineering Product Line Engineering Product Line Engineering Ungleichgewicht zwischen Anforderungen für einzelne Produkte & Produktlinien Produktzentrisches Vorgehen nicht optimal Oft Doppelspurigkeiten im Verwalten ähnlicher Produkte One size fits all Strategie nicht ideal und meist nicht möglich Verschiedene Ansätze konsolidieren 20 Ergänzende Bereiche User Requirements satisfies System Requirements satisfies Architectural Design satisfies Subsystem Design satisfies Unit Design verifies verifies verifies verifies verifies Acceptance Test Plan System Test Plan Integration Test Plan Subsystem Test Plan Unit Test Plan Testing Solutions Verschiedene Stufen von Tests Tests ausschlaggebend für Qualitätssicherung Neue Standards (UTP, TTCN-3) Testinfrastruktur oft ungenügend automatisiert Für agile Entwicklung ist Regression Testing noch wichtiger Medienbruch zwischen Entwicklungs- und Testinfrastruktur Negative Auswirkungen von Änderungen absichern 21
EVOCEAN GmbH Die Herausforderung Automation der Schlüssel zum Erfolg - Model Driven Development - Ergänzende Bereiche Case: Phonak Case: Schindler EVOCEAN Ihr Partner für Produkt- & Systementwicklung 22 Phonak Neuentwicklung für mobiles Hörgerätezubehör Herausforderung Komplette Neuentwicklung neue Produktlinie Sehr kurze Time-to-Market 12 Monate Wenig interne Ressourcen Lösung Komplett neue Entwicklungswerkzeuge UML mit Rhapsody Zielplattform mit ARM9, USB, 3 proprietäre Wireless Links, digitale Audiosignalverarbeitung RTOS Sciopta (RTOS generell für Kundenteam neu) User Interface mit Peg++, C++ inspiro FM Sender Eine auf Model Driven Development basierende Vorgehensweise! 23
Phonak Neuentwicklung für mobiles Hörgerätezubehör Dr. Rainer Platz, Director of Research & Development, Phonak Communications AG Model Driven Development mit Rhapsody war erfolgsentscheidend für die termin- und marktgerechte Entwicklung von inspiro. Dank der Unterstützung von EVOCEAN waren wir in der Lage, das Tool schnell und effizient einzusetzen. Mehrwert für den Kunden Termingerechte Lancierung mit bestehenden Ressourcen Grosse Marktakzeptanz der Produktneuheit Keine nennenswerten Produktverbesserungen nach Markteinführung notwendig Kick-Start für Mitarbeiter in MDD (Methodik- und Softwarekompetenz) Solide Softwarearchitektur für Weiterentwicklungen Gut etablierte Entwicklungsumgebung für Folgeprojekte Allgemein verständliche Modelle & aktuelle Doku; neue Mitarbeiter können sich einfach einarbeiten. 24 Phonak Neuentwicklung für mobiles Hörgerätezubehör Rolle EVOCEAN Begleitung in der Auswahl der Entwicklungsumgebung (Modellierung) Coaching in der Einführung MDD (UML) und Anwendung Rhapsody Rolle als Lead Software Architekt & Design verschiedener Kernfunktionen Unterstützung der Projektleitung Verantwortlich für Integration von allen Komponenten in die Anwendung On-the-Job Schulung von Rhapsody und MDD Methodik Know-how Transfer und Erfahrungsaustausch 25
EVOCEAN GmbH Die Herausforderung Automation der Schlüssel zum Erfolg - Model Driven Development - Ergänzende Bereiche Case: Phonak Case: Schindler EVOCEAN Ihr Partner für Produkt- & Systementwicklung 26 Schindler Integration Rhapsody in kundenspezifische Plattform Herausforderung Komplexe Entwicklungsaufgaben Eingeschränkte Ressourcen Termindruck Lösung UML mit Rhapsody von Telelogic Zielplattform mit Coldfire mit mehreren CAN Schnittstellen IDE GNU / C++ RTOS ecoscentric Debugger Lauterbach Trace32 Vollständige Durchgängigkeit vom Modell bis zum Code inkl. Debugging! 27
Schindler Integration Rhapsody in kundenspezifische Plattform Mehrwert für den Kunden Vereinfachte Softwareentwicklung Kontrolle von Komplexität und Risiko Frühe Tests der Anwendung dank ausführbaren Modellen (Hardware unabhängig wie auch auf der Hardware) Volle Code-Generierung aus den Modellen bis zur Zielplattform Direkte Wechsel vom Modell zum Debugger ohne Medienbruch Juan Carlos Abad, Project Manager, Schindler Aufzüge AG Die nahtlose Integration der Entwicklungsumgebung auf unserer Zielplattform ist für uns erfolgsentscheidend. MDD mit Rhapsody erlaubt uns, den Code für die Zielplattform direkt aus dem UML Modell zu generieren. Die Integration vom Debugger spart sehr viel Zeit bei der Entwicklung komplexer, eingebetteter Echtzeitanwendungen. Dank der Unterstützung von EVOCEAN sind wir heute in der Lage, das Tool effizient einzusetzen. 28 Schindler Integration Rhapsody in kundenspezifische Plattform Rolle EVOCEAN Beratung in der Auswahl der Entwicklungsumgebung Abklärung offener Punkte sowie Risikoabschätzungen Umfassende Checklisten für einen effizienten Projektstart Integration von Rhapsody in die kundenspezifische Entwicklungsumgebung und Zielplattform Integration vor Ort und on-the-job Schulung Know-how Transfer & Erfahrungsaustausch Fixer Kostenrahmen und Zeitplan 29
EVOCEAN GmbH Fehler sind menschlich und teuer Automation der Schlüssel zum Erfolg - Model Driven Development - Ergänzende Bereiche Cases: Phonak Cases: Schindler EVOCEAN Ihr Partner für Produkt- & Systementwicklung 30 Unsere Kernkompetenzen Expertise in Abstraktion, Methodik, (Meta)-Modellierung, Prozessen, Architektur, Tools, Embedded Systems Innovatives und kompetentes Team mit langjährigen Erfahrungen Strategische Partnerschaften Ganzheitliches Portfolio (Beratung, Schulung und Tools) 31
Unser Angebot für die Vertiefung (Auswahl) Focus Days eintägige Events mit vertieftem Einblick in die Thematik Model Driven Development Product Line Engineering Requirements Management Testing Solutions Trainings (Methologie) MDA-Essentials / MDA-Advanced Hands-on Agile Modelling for Real-Time Systems SyML, UML 2.x für spezifische Zielpersonen (C, C++, Firmware Engineers) Architecture, Real Time Design Patterns Workshops Varia Tool Downloads zur Evaluation, Tool Trainings, Bücher, Webinars, Whitepapers... 32 Fragen? SEE, 28. 30. April 2008, Bern 33