Systems Engineering of GM’s Global EE / SW Product Line Dr. Joseph D’Ambrosio ECS Process, Methods, & Tools GLOBAL RESEARCH & DEVELOPMENT Outline ¶ Introduction ¶ Embedded Systems Development at GM ¶ Product Line Engineering ¶ Additional Topics About Me – Dr. Joseph D’Ambrosio ¶ Automotive Industry 25+ years – GM, Delphi – Research, Advance Development, Product Development – Model-Based Sys. & SW Development, Safety-Critical Systems, Cyber Security, By-Wire Systems, Vehicle Control Systems, VLSI Design & Tools, Testing – ISO Technical Expert – ISO 26262 Automotive Functional Safety Standard ¶ PhD University of Michigan – EE Design Methods / Optimization ¶ 50+ publications, 7 patents Warren, MI SHANGHAI, CHINA PALO ALTO, CA HERZLIYA, ISRAEL BIG THINGS ARE COMING… There Has Never Been A Better Time To Be An AUTOMOTIVE EMBEDDED SYSTEM ENGINEER AND WE HAVE A FRONT ROW SEAT! Energized by Petroleum Energized by Biofuels, Electricity, and Hydrogen Powered Mechanically by Internal Combustion Engine Powered Electrically by Electric Motors Controlled Mechanically Controlled Electronically Stand-alone “Connected” Totally Dependence on the Driver Semi/Full Autonomous Driving Vehicle Sized for Max Use – People and Cargo Vehicle Tailored to Specific Use CADILLAC DRIVER ASSISTANCE / ACTIVE SAFETY Package 1 – “Driver Awareness Package” Package 2 – “Driver Assist Package” Cadillac ATS Cadillac XTS Cadillac SRX Cadillac ATS Cadillac XTS Cadillac SRX Front Camera Ultrasonic Sensors Short Range Radars Long/Mid Range Radar Short Range Radars Front Camera Rear Camera Ultrasonic Sensors Lane Departure Warning Safety Alert Seat Forward Collision Alert Side Blind-Zone Alert Rear Cross-Traffic Alert Haptic Safety Alert Seat Feedback Also includes: Rear Vision Camera Front & Rear Park Assist Short Range Radars Short Range Radar Rear Camera Package 1 plus: Full Speed-Range ACC (Stop w/Go Notifier) Auto Collision Preparation (includes Collision Imminent Braking) Low-Speed Front/Rear Automatic Braking (Emergency Braking to Avoid Contact) 7 7 Improving Safety with V2V/V2X COMMUNICATIONS + “Warning” “Warning” AUTONOMOUS DRIVING Forward Vision System – Lane tracking – Object detection – Far IR Capability ShortRange Sensors Long-Range Scanning Sensor ShortRange Long- Sensors Range Sensors Rear Vision SystemEnhanced – Object detection Digital Map – Far IR Capability System Forward Vision System Ultrasonic Sensors Ultrasonic Sensors Dedicated Short-Range Communication + GPS (V2V) EN-V VIDEO Outline ¶ Introduction ¶ Embedded Systems Development at GM ¶ Product Line Engineering ¶ Additional Topics OUR CONTRIBUTION… History of GM Automotive Computing • First Embedded Controllers • 1977 – First GM production automotive microcontroller • Electronic spark timing • 1981 – All GM North American vehicles use microcontrollerbased engine controls • • • 3.9M vehicles total, 22K ECMs per day manufacturing rate 50,000 lines of assembly code, MC6800 – 8-bit 2 Mhz, Comparison against PC industry PC Sales (in 1000s) • Today • • • 40-70 microcontrollers per vehicle 400K Lines of C Code for an engine control application 64Mb flash file system for infotainment application GM Embedded Software History Assembly Language 1985 Modula-GM (Ada-like) 1990 ANSI C 1995 Model-based Development 2000 2005 2010 #include <stdio.h> file.mat structBuffer; vehicle DEFINITION MODULE { VAR nonempty, nonfull:BOOLEAN; Calibration 13 make[15]; PROCEDURE putchar (x:INTEGER); PROCEDURE getlong (VARmiles; x:INTEGER); float operating_costs; END Buffer. Calibration }; 13 Variable Variable Variable void show_vehicle(struct vehicle *); IMPLEMENTATION MODULE Buffer; LDAACONST #ACPRESUR N=num_lines; JSR VAR ADCON Variable main() in, out:void [0..N-1]; STAA n: ACPRES [0..N]; { BRCLR INPUTS,IACREQ,ACPR050 struct vehicle car[] = {“Chevrolet: 100000L, 3456.78, Cal_File BRESET DIAGMW3,M66DET,ACPR050 Ford, 11000L, 5000.00}; PROCEDURE put (x:INTEGER); BRCLR INPUTS,INOAC,ACPR060 show_vehicle (car) BEGIN ACPR050 BCLR IF TBIMW,ACPRESHI n<N THEN} JMP IMNRO060 buf[n]:=x; . . . . . . void show_vehicle(struct vehicle *vehicle_ptr) { . . . Calibration Classes of Embedded Systems • Deeply Embedded • • • • • Moderately Embedded • • • • • Real Time, Possibly Safety Critical Examples: Electronic Power Steering, Electronic Brake Controls, Powertrain, Active safety Development Tools: Simulink/Stateflow Future SW Architecture: AUTOSAR Loosely Real Time Example: Body Control, Instrument Panel, Heating/Cooling Development Tools: e.g., Rhapsody Future SW Architecture: AUTOSAR Lightly Embedded • • • Non Real Time, but may include data streaming; Security is important Example: Infotainment Systems Future SW Architecture: e.g., QNX/Linux, ANDROID, … Classes of Embedded Systems • Closed-Loop Control Systems • Based upon control system theory (e.g., PID control) • Examples: Steering systems, braking systems, propulsion systems • GM Tools: Simulink/Stateflow • State-Based Systems • Based upon state transition diagrams • Example: Body control • GM Tools: Rhapsody Classes of Embedded Systems • Non Safety Critical – no potential to cause harm • Detect fault, save diagnostic trouble code, possibly alert driver • Tools: DFMEA, Requirements-Based Testing, … • Safety Critical – potential to cause harm; timing properties are important • Fail Safe – detect fault, shut down within required fault response time, warn driver • Fail Operational – detect fault, continue to operate, possibly in a degraded mode, warn driver • Tools: Preliminary Hazard Analysis, Safety Concept, DFMEA, Fault Tree Analysis, Requirements Analysis, … Safety Case Model-Based Development Environment ¶ Algorithms: Simulink / Stateflow, Rhapsody ¶ Plant modeling: Simulink, Saber, GT Power, AmeSim, CarSim, … ¶ Non Functional System Properties – Timing / Utilization: SymtaS ¶ Electrical: Design Architect, Siemens NX ¶ DOORS, Gears, Rhapsody, RTC, Synergy Outline ¶ Introduction ¶ Embedded Systems Development at GM ¶ Product Line Engineering ¶ Additional Topics General Motors Electrical, Controls and Software ¶ 20 GM has one of the most complex systems and software product line engineering challenges in the world – 3000 contributing engineers – 300 hierarchical subsystems – Thousands of variant features – Millions of product instances per year – Tens-of-thousands of unique product variants – Dramatic increase in variation due to new propulsion systems and active safety – Global diversity in legislative regulations – Extreme economic and competitive pressures – Product line and feature set evolves annually – 15 concurrent development streams System Design Motivation 200 160 140 120 Product Types Supported 100 Simultaneous Parallel Releases From Core 80 B u ild T im e s 2 0 0 4 -2 0 0 8 Q 1 60 120 40 20 100 0 99 00 01 02 03 04 05 06 07 08 CY of Engineering M in u te s Number of Core Software Parallel Releases 180 09 10 11 12 13 14 80 ECM TCM 60 L in e a r (E C M ) L in e a r (T C M ) 40 20 0 2004- 2004- 2004- 2004- 2005- 2005- 2005- 2005- 2006- 2006- 2006- 2006- 2007- 2007- 2007- 2007- 2008Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q2 Q3 Q4 Q1 Q u a rte rs 21 GM Enables massive Reuse through Software Product Lines ¶ A Product Line is a set of systems sharing a common, managed set of features that are developed from a common set of core assets in a prescribed way ¶Why Product Line over Products for GM Embedded Software? – As much as an 85% reduction in effort for a second (third, fourth, etc.) application – As much as a 70% reduction in field claims overall Macro Engineering Method A System of Systems of Systems Best Fit Selection Standardized Set of Deployments Each Deployment Applied to Multiple Vehicles 23 Development ACC LDW LXC CTD KLE VRP ACC-v1 ACC-v1 ACC-v1 ACC-v1 ACCv1 IMC-v1 ACC-v1 ACC-v1 LXCv1 ACC-v1 ACC-v1 VRPv1 KLEC-v2 EngC-v1 ACC-v1 ACC-v1 KLEC-v1 ACC-v1 ACC-v1 LXCv3 EngC-v1 ACC-v1 ACC-v1 LDW-v1 DFI ACC-v1 ACC-v1 CTDv1 ACC-v1 ACC-v1 ACCv1 EngCyc IMC ACCv3 VRPv2 DFI-v1 KLEC-v5 LXCv3 EngC-v1 DFI-v5 VRPv1 DFI-v3 CTDv1 Chevrolet 24 Buick Software Product Line - Single Vehicle View Vehicle Controller Increasing level of integration Assembly SW Components Requirements Decreasing level of abstraction Subsystems – Chassis Engine, etc. Vehicle Software Product Line - Single Component View Controllers 1-n Assembly Increasing level of integration SW Component Decreasing level of abstraction Requirements Subsystems – Chassis Engine, etc. Vehicles Software Product Line - Components X Vehicles Represents all builds in the Product Line Represents all components in the Product Line Represent all vehicles supported by the Product Line Outline ¶ Introduction ¶ Embedded Systems Development at GM ¶ Product Line Engineering ¶ Additional Topics Additional Topics • AUTOSAR • Multicore systems • Cyber Physical System • • • Virtual Development Multi Domain Models System Optimization • Safety-Critical Systems • SysML, AADL, East ADL, SystemC Thank You!