logging in or signing up S02 Fuhrman slides Janelle Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: Embed: Flash iPad Copy Does not support media & animations WordPress Embed Customize Embed URL: Copy Thumbnail: Copy The presentation is successfully added In Your Favorites. Views: 707 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 14, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: spicemaan (53 month(s) ago) pl make the presentation available to download. Thanks. Saving..... Post Reply Close Saving..... Edit Comment Close Premium member Presentation Transcript The Role of Embedded Software in the Automobile Industry: The Role of Embedded Software in the Automobile Industry Tom Fuhrman General Motors April 11, 2002Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummaryOutline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummaryImportance of Embedded Automotive Software: Importance of Embedded Automotive Software 90% of future innovation in the auto industry will be driven by electronics and software — Volkswagen 80% of the car electronics in the future will be software-based. — BMW 80% of our development time is spent on software. — JPL Vehicle functionality and performance are increasingly determined by software Software is a differentiator, while computing hardware is a commodity (compare desktop computing) Case Study: Distributor in Ignition System: Case Study: Distributor in Ignition System Mechanical Distributor Advance timing as function of load and engine speed Vacuum advance — vacuum from intake manifold draws against a diaphram under heavy loads Centrifugal advance — weights swing out as engine speed increases Analog Computer Mimic same control laws as mechanical system Digital Computer Equations Look-up tables with interpolation Digital filteringCase Study: Steam Locomotive: Case Study: Steam Locomotive Steam locomotive: “The most complex mechanical device ever built by man” (or ever will be!) Complexity shifting from mechanical to electronics and softwareCase Study: Autonomy concept car: Case Study: Autonomy concept car Fusion of two key technologies: Fuel Cells, and X-By-Wire, where X = {throttle, brake, steer}Case Study: Autonomy concept car: Case Study: Autonomy concept car Some X-By-Wire advantages Weight reduction (e.g. no tie rods) Environmental (e.g. no hydraulic brake fluid, master cylinder) Packaging flexibility (e.g. Autonomy skateboard) Control flexibility (e.g. enabler for crash avoidance features) Some X-By-Wire challenges Design of fault tolerant systems CostSlide9: Features and Trends 1970 1990 2010 Electronics Functionality Index % Vehicle Cost Electronics Infancy Product Proliferation Integration & Systems Functionality % Vehicle Cost 100 1000 10000 0% 30% 15% Electronics Cost & Functionality Per Vehicle 1980 2000Growth in Embedded Vehicle Software : Growth in Embedded Vehicle Software 500 1000 1500 2000 1990 1995 1996 1997 1998 1999 2000 2001 2002 0 MEMORY UTILIZATION - (K-BYTES) MMM TELEMATICS TURN BY TURN NAVIGATION SECURITY SIR BODY/CHASSIS (ABS/TCS) AUDIO (UP LEVEL RADIO) I/P HVAC (PROGRAMMER) POWERTRAIN (PCM/VCM)Slide11: Software Vehicle Value Chain Revenue Market Share Satisfaction Aftermarket Sales Vehicle Engineering Purchasing Manufacturing & Service Dealer Customer Efficiency Speed Flexibility EconomyOutline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns Modeling of software architecture in UML SummarySlide13: Video Audio Tactile Body Control Chassis Control Powertrain Control Vehicle Electrical Architecture OEM Bus(s) Reconfigurable User-machine Interface Communication Entertainment PDA/PC Navigation Entertainment Auxiliary User Interface Outside World Infotainment Bus(es) AMI Gateway The gateway protects the vehicle, controls access to vehicle resources and translates the messagesAutomotive Computing Environment: Automotive Computing Environment ALSO: Infotainment bus IDB-C, MOST, Bluetooth, IntelliBus, USB, 1394, …Vehicle Electrical Architecture #1: Vehicle Electrical Architecture #1 S S A S A A S A S S A low speed bus gateway high speed bus S A A S A S A A F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 S A F1 Sensor Actuator Software Function Processor Hardware Communication BusVehicle Electrical Architecture #2: Vehicle Electrical Architecture #2 S S A S A A low speed bus gateway high speed bus S A A F1 F2 F3 F4 F5 F6 F7 F9 S A F1 Sensor Actuator Software Function Processor Hardware Communication Bus S S S A F13 F11 F12Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns Modeling of software architecture in UML SummarySoftware Development Process Objectives: Software Development Process Objectives Reduce lifecycle cost Improve quality Increase speed of introduction of innovative features Retain control over intellectual property Software reuse strategy Product line approach (vs. individual product)Approach: Approach Develop a library of software components that can be reused across multiple vehicle programs and across multiple model years, with independence from changes in Processor hardware Motorola vs. Siemens vs. XYZ processors Allocation across electrical architecture Number of processors Types of buses (CAN, LIN, etc.) Network topology Sensing/actuating devices Presence of new featuresSoftware Engineering Institute (SEI) Case StudyCelsiusTech†: Software Engineering Institute (SEI) Case Study CelsiusTech† A Case Study in Successful Product Line Development, SEI, 1996. http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr016.96.pdf †(now SaabTech)Reduction in Development Time: Reduction in Development TimeFactors that Enabled Success: Factors that Enabled Success Technical — software architecture Organizational structure Management commitment Education and trainingIntroduction to 3 Tiered Process: Introduction to 3 Tiered Process Strategic Asset Development Strategic Asset Library Implementation Asset Development Implementation Asset Library Vehicle Program DevelopmentIntroduction to 3 Tiered Process: Introduction to 3 Tiered Process Software Architecture Communication Strategies and Architectures Feature Architectures Strategic Asset Development Implementation Asset Development Vehicle Program Development Features Communication Kernels Real Time Operating Systems Software Component Selection Middleware Configuration Integration and TestSlide26: Design Specification Detailed feature design & Code Verification Feature Level Integration and Verification Feature requirements Unit level verification Feature Development Feature Modeling, Simulation and Prototyping Partitioned Feature Modeling (focus on reuse / location independence - conforms to architecture) Interface Specification Product integration verification and deployment Interface VerificationSlide27: Design Specification Analysis design Detailed feature design Verification Subsystem level integration and verification Feature Level integration and verification for each architecture Vehicle Requirements Unit level verification Feature Deployment in Vehicle Program Feature Modeling, Simulation and Prototyping Executable feature specification (Vehicle Architecture selection) Vehicle interface selections Product integration, verification and deployment Code generation Feature functional analysis Integration and CalibrationSlide28: V-Model Instantiations over Time Time Event- based (Body) Continuous (Powertrain and Chassis) Fail- Operational (ByWire) Update of Event-based Entry Control Exterior Lighting ABS HVAC Update of Entry Control New FeatureOutline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummaryWhat is Architecture: What is Architecture Definition The purposeful arrangement of components into a system that meets stated objectivesIEEE Definitions of Architecture: IEEE Definitions of Architecture The fundamental organization of a system, embodied in its components, their relationships to each other and to the environment, and the principles governing its design and evolution. The structure and relationships among the components of a system. The system architecture may also include the system’s interface with its operational environment. Alternate Architecture for Power Tools: Alternate Architecture for Power Tools Black & Decker ~ 1981 (still used) Drill Circular Saw Router Jigsaw See Lenherd, Alvin P, “Revitalizing the Manufacture and Design of Mature Global Products” In Bruce Guile and Harvey Brooks, eds, Technology ad Global Industries, Washington, National Acaedmy Press, 1987. © Daniel E WhitneyLayered Software Architecture: Layered Software ArchitectureWell Defined Layers: Well Defined Layers Application Platform Virtual Hardware Posix RTOS Abstract Hardware Physical Hardware Java Virtual Machine Native Drivers Posix RTOS CPU Platform VEH BUS Public and Proprietary Java APIs Product Specific Applications other H/W AMIC and/or MMM APIs GSM Phone Analog Audio Mobile Phone JNI C or C++ “drivers” JNI C or C++ “engines” Java Sound Java AWT Audio Phone Control Radio Tuner Audio Control Phone Dialer Re- Usable (Java) Middle Ware Platform Custom Public Foundation for AMIC Reference ImplementationSlide35: software Made of hardware Devices Made of actuators are sensors power gnd, fuses comm Made of I/O Systems Engineering manages capacities properties Harness Architecture Has a Has a Communication Architecture Physical Electrical Architecture Made of wires Made of datalinks ECU Software Architecture Has a is ECU Hardware Architecture Has a Vehicle Electrical Architecture ECU Vehicle Electrical System Harnesses rom ram CPU Vehicle Systems and their Architectures Distributed Software Architecture Control Algorithm ArchitectureArchitecture Description LanguagesIEEE Std 1471-2000: Architecture Description Languages IEEE Std 1471-2000Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummarySoftware Architecture Patterns: Software Architecture Patterns Evolution of Software Interfaces Façade Pattern Observer Pattern (a.k.a. Publish/Subscribe) Proxy PatternEvolution of Software Interfaces: Evolution of Software Interfaces Static API in source format (e.g. C header files) Language-independent Interface Definition Language (IDL) Design-by-contract with precondition/postcondition logic (cmp. Hoare’s triples {P}S{Q}) Dynamic interaction patterns, e.g. ROOM, RoseRT UML Representation of Interface to Distributable Unit in RoseRT: «port» PortClassX «protocolRole» master «protocol» ProtocolA UML Representation of Interface to Distributable Unit in RoseRT Claimed Benefit: Captures rules for allowed interactions between Distributable Units, enabling formal analysis, leading to faster and easier integrationFaçade Pattern: Façade Pattern ImplementationX 1 1..*Example of Façade Pattern: Example of Façade Pattern Observer (Publish/Subscribe) Pattern: Observer (Publish/Subscribe) Pattern 1: Subscribe 4: Callback 2: Subscribe 3: Register 5: Publish 6: Publish 8: Get 7: Get Example of Observer Pattern: Example of Observer Pattern 1: Subscribe 2: Register 3: Callback 4: Publish (really Trigger) 5: Get Convention: PUSH for control flow PULL for data flowProxy Pattern: Proxy Pattern PutExample of Proxy Pattern: Example of Proxy Pattern DP:Put( )Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummarySummary: Summary Embedded software does have an important, and growing, role, in the automobile industry Embedded software is the source of much of the innovation in the automobile industry Vehicle information systems (infotainment, telematics) Vehicle control (X-By-Wire) The automobile industry is undergoing a metamorphasis from a mehanical-based industry to a computer-based industry There are many exciting career opportunites for electrical, computer, and software engineers and scientists in the automobile industry of the 21st century You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
S02 Fuhrman slides Janelle Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: Embed: Flash iPad Copy Does not support media & animations WordPress Embed Customize Embed URL: Copy Thumbnail: Copy The presentation is successfully added In Your Favorites. Views: 707 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 14, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... By: spicemaan (53 month(s) ago) pl make the presentation available to download. Thanks. Saving..... Post Reply Close Saving..... Edit Comment Close Premium member Presentation Transcript The Role of Embedded Software in the Automobile Industry: The Role of Embedded Software in the Automobile Industry Tom Fuhrman General Motors April 11, 2002Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummaryOutline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummaryImportance of Embedded Automotive Software: Importance of Embedded Automotive Software 90% of future innovation in the auto industry will be driven by electronics and software — Volkswagen 80% of the car electronics in the future will be software-based. — BMW 80% of our development time is spent on software. — JPL Vehicle functionality and performance are increasingly determined by software Software is a differentiator, while computing hardware is a commodity (compare desktop computing) Case Study: Distributor in Ignition System: Case Study: Distributor in Ignition System Mechanical Distributor Advance timing as function of load and engine speed Vacuum advance — vacuum from intake manifold draws against a diaphram under heavy loads Centrifugal advance — weights swing out as engine speed increases Analog Computer Mimic same control laws as mechanical system Digital Computer Equations Look-up tables with interpolation Digital filteringCase Study: Steam Locomotive: Case Study: Steam Locomotive Steam locomotive: “The most complex mechanical device ever built by man” (or ever will be!) Complexity shifting from mechanical to electronics and softwareCase Study: Autonomy concept car: Case Study: Autonomy concept car Fusion of two key technologies: Fuel Cells, and X-By-Wire, where X = {throttle, brake, steer}Case Study: Autonomy concept car: Case Study: Autonomy concept car Some X-By-Wire advantages Weight reduction (e.g. no tie rods) Environmental (e.g. no hydraulic brake fluid, master cylinder) Packaging flexibility (e.g. Autonomy skateboard) Control flexibility (e.g. enabler for crash avoidance features) Some X-By-Wire challenges Design of fault tolerant systems CostSlide9: Features and Trends 1970 1990 2010 Electronics Functionality Index % Vehicle Cost Electronics Infancy Product Proliferation Integration & Systems Functionality % Vehicle Cost 100 1000 10000 0% 30% 15% Electronics Cost & Functionality Per Vehicle 1980 2000Growth in Embedded Vehicle Software : Growth in Embedded Vehicle Software 500 1000 1500 2000 1990 1995 1996 1997 1998 1999 2000 2001 2002 0 MEMORY UTILIZATION - (K-BYTES) MMM TELEMATICS TURN BY TURN NAVIGATION SECURITY SIR BODY/CHASSIS (ABS/TCS) AUDIO (UP LEVEL RADIO) I/P HVAC (PROGRAMMER) POWERTRAIN (PCM/VCM)Slide11: Software Vehicle Value Chain Revenue Market Share Satisfaction Aftermarket Sales Vehicle Engineering Purchasing Manufacturing & Service Dealer Customer Efficiency Speed Flexibility EconomyOutline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns Modeling of software architecture in UML SummarySlide13: Video Audio Tactile Body Control Chassis Control Powertrain Control Vehicle Electrical Architecture OEM Bus(s) Reconfigurable User-machine Interface Communication Entertainment PDA/PC Navigation Entertainment Auxiliary User Interface Outside World Infotainment Bus(es) AMI Gateway The gateway protects the vehicle, controls access to vehicle resources and translates the messagesAutomotive Computing Environment: Automotive Computing Environment ALSO: Infotainment bus IDB-C, MOST, Bluetooth, IntelliBus, USB, 1394, …Vehicle Electrical Architecture #1: Vehicle Electrical Architecture #1 S S A S A A S A S S A low speed bus gateway high speed bus S A A S A S A A F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 F13 F14 S A F1 Sensor Actuator Software Function Processor Hardware Communication BusVehicle Electrical Architecture #2: Vehicle Electrical Architecture #2 S S A S A A low speed bus gateway high speed bus S A A F1 F2 F3 F4 F5 F6 F7 F9 S A F1 Sensor Actuator Software Function Processor Hardware Communication Bus S S S A F13 F11 F12Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns Modeling of software architecture in UML SummarySoftware Development Process Objectives: Software Development Process Objectives Reduce lifecycle cost Improve quality Increase speed of introduction of innovative features Retain control over intellectual property Software reuse strategy Product line approach (vs. individual product)Approach: Approach Develop a library of software components that can be reused across multiple vehicle programs and across multiple model years, with independence from changes in Processor hardware Motorola vs. Siemens vs. XYZ processors Allocation across electrical architecture Number of processors Types of buses (CAN, LIN, etc.) Network topology Sensing/actuating devices Presence of new featuresSoftware Engineering Institute (SEI) Case StudyCelsiusTech†: Software Engineering Institute (SEI) Case Study CelsiusTech† A Case Study in Successful Product Line Development, SEI, 1996. http://www.sei.cmu.edu/pub/documents/96.reports/pdf/tr016.96.pdf †(now SaabTech)Reduction in Development Time: Reduction in Development TimeFactors that Enabled Success: Factors that Enabled Success Technical — software architecture Organizational structure Management commitment Education and trainingIntroduction to 3 Tiered Process: Introduction to 3 Tiered Process Strategic Asset Development Strategic Asset Library Implementation Asset Development Implementation Asset Library Vehicle Program DevelopmentIntroduction to 3 Tiered Process: Introduction to 3 Tiered Process Software Architecture Communication Strategies and Architectures Feature Architectures Strategic Asset Development Implementation Asset Development Vehicle Program Development Features Communication Kernels Real Time Operating Systems Software Component Selection Middleware Configuration Integration and TestSlide26: Design Specification Detailed feature design & Code Verification Feature Level Integration and Verification Feature requirements Unit level verification Feature Development Feature Modeling, Simulation and Prototyping Partitioned Feature Modeling (focus on reuse / location independence - conforms to architecture) Interface Specification Product integration verification and deployment Interface VerificationSlide27: Design Specification Analysis design Detailed feature design Verification Subsystem level integration and verification Feature Level integration and verification for each architecture Vehicle Requirements Unit level verification Feature Deployment in Vehicle Program Feature Modeling, Simulation and Prototyping Executable feature specification (Vehicle Architecture selection) Vehicle interface selections Product integration, verification and deployment Code generation Feature functional analysis Integration and CalibrationSlide28: V-Model Instantiations over Time Time Event- based (Body) Continuous (Powertrain and Chassis) Fail- Operational (ByWire) Update of Event-based Entry Control Exterior Lighting ABS HVAC Update of Entry Control New FeatureOutline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummaryWhat is Architecture: What is Architecture Definition The purposeful arrangement of components into a system that meets stated objectivesIEEE Definitions of Architecture: IEEE Definitions of Architecture The fundamental organization of a system, embodied in its components, their relationships to each other and to the environment, and the principles governing its design and evolution. The structure and relationships among the components of a system. The system architecture may also include the system’s interface with its operational environment. Alternate Architecture for Power Tools: Alternate Architecture for Power Tools Black & Decker ~ 1981 (still used) Drill Circular Saw Router Jigsaw See Lenherd, Alvin P, “Revitalizing the Manufacture and Design of Mature Global Products” In Bruce Guile and Harvey Brooks, eds, Technology ad Global Industries, Washington, National Acaedmy Press, 1987. © Daniel E WhitneyLayered Software Architecture: Layered Software ArchitectureWell Defined Layers: Well Defined Layers Application Platform Virtual Hardware Posix RTOS Abstract Hardware Physical Hardware Java Virtual Machine Native Drivers Posix RTOS CPU Platform VEH BUS Public and Proprietary Java APIs Product Specific Applications other H/W AMIC and/or MMM APIs GSM Phone Analog Audio Mobile Phone JNI C or C++ “drivers” JNI C or C++ “engines” Java Sound Java AWT Audio Phone Control Radio Tuner Audio Control Phone Dialer Re- Usable (Java) Middle Ware Platform Custom Public Foundation for AMIC Reference ImplementationSlide35: software Made of hardware Devices Made of actuators are sensors power gnd, fuses comm Made of I/O Systems Engineering manages capacities properties Harness Architecture Has a Has a Communication Architecture Physical Electrical Architecture Made of wires Made of datalinks ECU Software Architecture Has a is ECU Hardware Architecture Has a Vehicle Electrical Architecture ECU Vehicle Electrical System Harnesses rom ram CPU Vehicle Systems and their Architectures Distributed Software Architecture Control Algorithm ArchitectureArchitecture Description LanguagesIEEE Std 1471-2000: Architecture Description Languages IEEE Std 1471-2000Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummarySoftware Architecture Patterns: Software Architecture Patterns Evolution of Software Interfaces Façade Pattern Observer Pattern (a.k.a. Publish/Subscribe) Proxy PatternEvolution of Software Interfaces: Evolution of Software Interfaces Static API in source format (e.g. C header files) Language-independent Interface Definition Language (IDL) Design-by-contract with precondition/postcondition logic (cmp. Hoare’s triples {P}S{Q}) Dynamic interaction patterns, e.g. ROOM, RoseRT UML Representation of Interface to Distributable Unit in RoseRT: «port» PortClassX «protocolRole» master «protocol» ProtocolA UML Representation of Interface to Distributable Unit in RoseRT Claimed Benefit: Captures rules for allowed interactions between Distributable Units, enabling formal analysis, leading to faster and easier integrationFaçade Pattern: Façade Pattern ImplementationX 1 1..*Example of Façade Pattern: Example of Façade Pattern Observer (Publish/Subscribe) Pattern: Observer (Publish/Subscribe) Pattern 1: Subscribe 4: Callback 2: Subscribe 3: Register 5: Publish 6: Publish 8: Get 7: Get Example of Observer Pattern: Example of Observer Pattern 1: Subscribe 2: Register 3: Callback 4: Publish (really Trigger) 5: Get Convention: PUSH for control flow PULL for data flowProxy Pattern: Proxy Pattern PutExample of Proxy Pattern: Example of Proxy Pattern DP:Put( )Outline: Outline Importance of embedded automotive software Automotive computing environment Software development process Software architecture and related architectures Software architecture patterns & their models in UML SummarySummary: Summary Embedded software does have an important, and growing, role, in the automobile industry Embedded software is the source of much of the innovation in the automobile industry Vehicle information systems (infotainment, telematics) Vehicle control (X-By-Wire) The automobile industry is undergoing a metamorphasis from a mehanical-based industry to a computer-based industry There are many exciting career opportunites for electrical, computer, and software engineers and scientists in the automobile industry of the 21st century