bmw car it gmbh thema abteilung datum seite 1 bmw car it gmbh prototyping bei bmw car it
TRANSCRIPT
BMW Car IT GmbH
ThemaAbteilungDatumSeite 1 BMW Car IT GmbH
Prototyping bei BMW Car IT
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 2
Prototyping bei BMW Car ITDie Entwicklung der Elektronik/Software.
Vernetzungsgrad
Elektronische EinspritzungCheck ControlGeschwindigkeitsreglerZentralverriegelung...
1970 1980 1990 2000
Elektronische Getriebe- steuerungElektronische KlimaregelungASC Anti Slip ControlABS Anti Blocking Sys.TelefonSitzheizungssteuerungAutom. Spiegel- abblendung
NavigationssystemCD-WechslerACC Active Crouse ControlAirbagsDSC Dynamic Stability ControlAdaptive Getriebe- steuerungRollstabilisierungXenon LichtBMW AssistRDS/TMCSpracheingabeNotruf
ACC Stop&GoBFDALCKSG42-VoltInternet PortalGPRS, UMTSTelematicsOnline ServicesBlue ToothCar OfficeLocal Hazard WarningIntegrated Safty SystemSteer/Brake-By-WireI-DriveSpurhalteunterstützungPersonalisierungSW UpdateForce Feedback Pedal
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 3
Prototyping bei BMW Car ITDie Entwicklung der Elektronik/Software.
– Innovationen im Automobil bei Elektronik/Software
– 40% der Herstellungskosten fallen auf Elektronik und Software
– Funktionen verteilen sich beim 7er auf 70 ECU´s– 70 MB im aktuellen 7er– 120 MB im neuen 5er– 1 GB im 7er Nachfolger
Software muss eine Kernkompetenz von
BMW werden
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 4
Prototyping bei BMW Car ITDie BMW Car IT GmbH.
– Neu gegründete Tochterfirma der BMW AG
– Operativ seit dem 01.01.2002
– Aktuell ca. 20 MA – Aufbau bis zu 40-50 MA
– Mitarbeiterstruktur– 90% Akquisition neuer MA aus dem
Informatikbereich– 10% BMW MA zur Unterstützung der
Automobilprozesse und der Schnittstellen zur BMW Entwicklung
– Neue Organisations- und Entwicklungsumgebung– Was benötigt man für eine Automotive
Softwareentwicklung
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 5
Prototyping bei BMW Car ITForschungsgebiete der BMW Car IT
Integrierte Datenhaltung- Konfigurationsmanagement/Datenhaltung- Personalisierung
Software Download- Diagnose/Test/Systemüberwachung- Firewall/Gatewayfunktionalitäten
MMI- Multimodales, adaptives MMI - Online Dienste/Services- Individualisierung, Assistenzsysteme
Softwareprozesse- Querschnitts Thema
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 6
Prototyping bei BMW Car ITPrototyping Verständnis und Risiko
– Anspruch an Seriennähe
– Tiefe Integration mit automotive Hardware– keine „fahrenden“ Notebooks
– Notwendig um Akzeptanz der Entwicklungsabteilungen zu erlangen
– Risiko: Automotive Hardware nicht a priori vorhanden
– Hardware unabhängige Architekturen !
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 7
Prototyping bei BMW Car ITJAVA
– Plattformunabhängig– Hohe Produktivität– etc.
Risiken im embedded Umfeld:– Höherer Ressourcenverbrauch– Laufzeitperformance– Aufstartverhalten
Verzicht auf Java– Funktionen die für den Betrieb NOTWENDIG sind– Funktionen sind „einfach“, robust, echtzeitkritisch– Bsp.: Gateways, Bus-Master
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 8
- Typischerweise eine Funktion je Steuergerät- Geschlossenes System: HW ist für die Funktion optimiert
Zentrale Plattform
Dienst
Dienst
Dienst
Prototyping bei BMW Car ITZielsetzung: Zentrale/Offene Plattform
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 9
Prototyping bei BMW Car ITAnforderung: Wartbarkeit
Lebenszyklus eines Fahrzeugs bis zu 15 Jahren !
Wartung der Softwareplattform
– Updates (Produktpflege)
– Erweiterung
Herausforderung
– Sehr große Konfigurationsvielfalt
– Konfigurationsmanagement
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 10
Prototyping bei BMW Car ITOSGi (Open Service Gateway Initiative)
Historie- Start Dezember 1998 als Initiative von SUN, IBM und ERICSSON-Heute OSGi Allianz mit über 80 Mitgliedern
ZielSoftware Infrastruktur die das Deployment von Diensten über Internet auf lokale Netzte und Geräten unterstützt.
Umfeld- Set Top Boxen- Residential Gateways - Automotive- etc.
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 11
Prototyping bei BMW Car ITOSGi Gesamt Architektur
Devices
Gateway
Internet
Service Provider
Services
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 12
Prototyping bei BMW Car ITOSGi Framework
- „Deploybare“ Komponenten heißen Bundles- Framework bietet Laufzeitumgebung
- Bundle Operationen: install, uninstall, start, stop- Framework überwacht Lifecycle der Bundles
- Bundles stellen Ressourcen zur Verfügung- Framework überwacht resultierende Abhängigkeiten
- Bundles können Service anmelden- Framework verwaltet Service in Registry
- Security - Überprüft Rechte
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 13
Prototyping bei BMW Car ITOSGi Framework
- Bundles sind JAR-Archive und enthalten- Klassen- Ressourcen (Properties, etc.)- Weitere JARs- Erweitertes Manifest- Native Bibliotheken- BundleActivator (designierte Klasse)
- Abhängigkeiten auf Java Package Ebene- Werden im Manifest definiert- Bundles exportieren eigene Packages- Bundles importieren fremde Packages
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 14
Prototyping bei BMW Car ITOSGi Lifecycle Modell
installed
Resolved
Uninstalled
Starting Stopping
Active
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 15
Prototyping bei BMW Car ITOSGi Bundle-Manifest
Import-Package: javax.comm, org.apache.log4j; specification-version=1.2.8Export-Package: de.bmw.most.serial; specification-version=1.0.4Bundle-Name: SerialmostBundle-Description: Realisiert Zugriff auf MOST über OptolyzerBundle-Activator: de.bmw.most.osgi.SerialMostBundleActivatorBundle-Classpath: .Bundle-Copyright: (C) BMW Car IT GmbH 2002 All Rights Reserved.Bundle-Vendor: BMW Car ITBundle-Version: 1.0.4Bundle-DocUrl: http://www.bmw-carit.de/Bundle-ContactAddress: [email protected]
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 16
Prototyping bei BMW Car ITOSGi Classpath
- Framework verwaltet den „globalen“ Classpath
- Jedes Bundle hat eigenen Classloader- nur eigene und importierte Klassen werden geladen
- Eindeutigkeit der Klassen wird sichergestellt- einheitlicher Namespace- Keine ClassCastExceptions
- Dynamischer Package Import seit OSGi Release 3- Manifest: DynamicImport-Package: de.bmw.*
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 17
Prototyping bei BMW Car ITOSGi Schnittstelle der Bundles zum Framework
import org.osgi.framework.BundleActivator;import org.osgi.framework.BundleContext;
public class HelloWorldBundleActivator implements BundleActivator {
public void start(BundleContext bundleContext) throws Exception { }
public void stop(BundleContext bundleContext) throws Exception { }}
- Starting/Stopping sind die einzigen Zustände über die Bundle benachrichtigt wird
- BundleContext:- Services registrieren- Bundles verwalten
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 18
Service registrieren:
Service erfragen:
OSGi ist eine sehr dynamische Umgebung- Bundles müssen Abhängigkeiten zu Servicen verfolgen- Unterstützung durch Utility ServiceTracker
Prototyping bei BMW Car ITOSGi Services
ServiceRegistration inputManagerServiceReg = context.registerService(InputManager.class.getName(), inputManager, null);
ServiceReference serviceRef = context.getServiceReference(InputManager.class.getName());InputManager inputManager = (InputManager) context.getService(serviceRef);
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 19
Prototyping bei BMW Car ITExkurs: Service orientierte Architektur
Allgemein
- Durch Services lose Kopplung von Komponenten
- Trennung Abstraktion von Implementierung
- Bindung an Service zur Laufzeit möglich
Warum bei Car IT ?
- Abstraktion von Hardware
- Entkopplung von „risikobehafteten“ Komponenten
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 20
Prototyping bei BMW Car ITOSGi Projekte bei BMW Car IT
Multimedia Plattform
- Kundenwertige Funktionen- MP3-Player, Email-Client, etc.- Software als Produkt
Plattform für Systemdienste
- Fahrzeuprogrammierung- Fahrzeugdiagnose- Fahrzeugbetrieb
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 21
Prototyping bei BMW Car ITOSGi nur für embedded Systeme ?
- Leichtgewichtig
- Concern Deployment- Bundles können Komponenten enthalten
- Grundlage für Systeme die auf einen Erweiterungs –oder Pluginmechanismus angewiesen sind ?
-Equinox (Eclipse)-http://www.eclipse.org/equinox/index.html
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 22
Prototyping bei BMW Car ITFazit
- Bedeutung der Software im Fahrzeug nimmt zu.
- Wartung ist eine zentrale Anforderung an Softwareplattformen im Fahrzeug
- OSGi ist ein Framework, dass dieser Anforderung gerecht wird
Automotive SW EngineeringGerd SchäferBMW Car IT3. Juli. 2002Seite 23
Prototyping bei BMW Car ITVielen Dank für Ihre Aufmerksamkeit