AUTOSAR Configuration Process - How to handle 1000s of parameters Webinar 2013-04-19 V2.0 2013-04-18
Agenda >Introduction AUTOSAR ECU Configuration Description ECU Configuration Workflow Multi-User Workflow Webinar Series Slide: 2
Introduction AUTOSAR Method Complete SW functionality of the vehicle is defined as a system of SWCs... SWC1 Virtual Function Bus VFB SWC2 SWC3..and distributed to ECUs ECU1 ECU2 SWC1 SWC3 SWC2 Software Component Description* System Description* An extract is created for each ECU... The ECU is configured based on the ECU Extract. ECU1 SWC1 SWC2 SWC1 SWC2 Basic Software (BSW) RTE Extract of System Description* ECU Configuration Description (ECUC)* * Slide: 3
Introduction AUTOSAR Method List of implementations of SW Components ECU Configuration Description (XML) RTE Config AUTOSAR RTE Configurator ECU Extract (XML) Base ECU Configuration Generator OS Config Configurator for OS, COM, etc. Configurator for other Basic SW Basic SW Module A Config MCAL Configurator Slide: 4
Introduction AUTOSAR Method ECU Configuration Description RTE Config OS Config AUTOSAR RTE Generator Generator for OS, COM,... Library *.obj Software components *.c RTE.c OS.c Software Components AUTOSAR RTE OS Other Basic SW Generator *.c other Basic Software Basic SW Module A Config MCAL Generator MCAL.c MCAL Slide: 5
Introduction AUTOSAR Method ECU Configuration Description RTE Config OS Config 1000s of parameters Large XML file Realistic file size Small ECU: e.g. 10 MB Large ECU: e.g. 50 MB Basic SW Module A Config Slide: 6
Agenda Introduction > AUTOSAR ECU Configuration Description ECU Configuration Workflow Multi-User Workflow Webinar Series Slide: 7
AUTOSAR ECU Configuration Description What is a parameter? Parameter Definition References Parameter Name Multiplicity (e.g. 0..1, 1..n) Type (integer, enum, ) Value of the parameter within the configuration of a concrete ECU Min/Max values, literals Description Example: Name: NvmBlockUsedCrcType Multiplictiy: 1:1 Type: enum (NVM_NOCRC, NVM_CRC16, NVM_CRC32) Example: NVM_CRC16 Slide: 8
AUTOSAR ECU Configuration Description Containers and Parameters Parameters are hierarchically organized in Containers A container consists of Parameters sub-containers Container Definition Parameter Definition Parameter Definition Container Definition Parameter Definition References References References References References Container Parameter Parameter Container Parameter Example: Name: NvmBlockDescriptor Multiplictiy: 1:65536 Slide: 9
AUTOSAR ECU Configuration Description Basic Software Module Description Basic Software Module Description (BSWMD) contains Parameter definitions Preconfigured values, recommended values XML format Schema defined by AUTOSAR Content defined by BSW vendor May contain AUTOSAR standard parameters, and vendor specific parameters Typically one file per BSW module Application RTE xml Basic SW Module Description (BSWMD) OS SYS DIAG XCP MEM J1939TP CAN LIN CAL COM FR IP MOST Network Services Library EXT IO Complex Drivers Microcontroller Slide: 10
AUTOSAR ECU Configuration Description Challenges Degree of freedom is reduced by Parameters (indirectly) given by the OEM > Network communication description > Parts of the diagnostic description But Parameters given by preconfiguration (preconfigured by the basic SW supplier) Still there are lots of parameters to be set Dependencies between parameters Additional challenges due to project situation > Several developers work in parallel at the same ECU > BSW is supplied by several vendors (e.g. Vector, micro-controller manufacturer) Key for success: configuration tools Slide: 11
AUTOSAR ECU Configuration Description Tool Support Comfort Views Support for integration of MCALs and add-on modules Structured display of the ECU configuration Assistance for creating the configuration Derive parameters from the ECU Extract of System Description Automatic baud rate calculation, hardware masks Automatic fragmentation of EEPROM blocks, Validation (e.g. is configuration of FullCAN objects consistent) Migration (platform switch) Development of tool extensions (Validation rules, configuration GUI, code generators) Slide: 12
Agenda Introduction AUTOSAR ECU Configuration Description > ECU Configuration Workflow Multi-User Workflow Webinar Series Slide: 13
ECU Configuration Workflow Overview PREEvision.XML ECU Extract of System Description provided by OEM Contains system information, needed for the ECU.cdd/.odx CANdela Diagnostic Data DBC LDF Fibex SystemDesc Conversion.xml ECU Extract of System Description Base ECUC Generation.xml ECU Configuration Description Input files provided by OEM Contains communication information, needed for the ECU DaVinci Configurator Pro Configuration of RTE + BSW Editing and Generation.xml Software Component Description files.c.h.c.h DaVinci Developer Embedded Coder TargetLink RTE header and code files SWC header files BSW module configuration header and code files Other AUTOSAR tools Slide:
ECU Configuration Workflow Integration of third party BSW (MCALs, Complex Driver) DaVinci Configurator Pro MICROSAR BSWMD Configuration of RTE + BSW Comfort Editors MICROSAR.c.h RTE header and code files SWC header files Eparm BSWMD creation Third Party BSWMD Generic Configuration Editor GUI Plug-in.c.h Third Party BSW module configuration header and code files Code Generator Plug-in.c.h BSW module configuration header and code files Third Party External Code Generator.c.h BSW module configuration header and code files Configuration and Generation Via standard tool features (Generic Configuration Editor, call of external code generators) Via specific Plug-Ins (GUI, code generator based on DaVinci Configurator technology) Slide:
Agenda Introduction AUTOSAR ECU Configuration Description ECU Configuration Workflow > Multi-User Workflow Webinar Series Slide: 16
Multi-User Workflow General Several developers are working in parallel at the same AUTOSAR ECU Integration effort must be small AUTOSAR configuration artifacts (AUTOSAR XML files) must be managed consistently with other artifacts of ECU development (code files, specification documents, test environments,...) Use customer s CM (configuration management) system Developer 1 Developer 2 AUTOSAR ECU Developer 3 ECU SW Integrator Slide: 17
Multi-User Workflow Responsibilities Several possible ways to organize responsibilities, e.g. Component responsibles Each component (e.g. SWC, BSW module or cluster) has one responsible Only the component responsible is allowed to change the component Component Developer 1 Component Developer 3 SWC1 SWC2 RTE OS CAN MEM BSW AUTOSAR ECU Component Developer 2 ECU SW Integrator Feature responsibles Feature developer makes changes in potentially all SWCs or BSW modules Overlapping modifications several users change e.g. same SWC No strict assignment of user to SWC/BSW-Module Feature Developer 1 SWC1 SWC2 RTE OS CAN MEM BSW AUTOSAR ECU Feature Developer 2 ECU SW Integrator Slide: 18
Multi-User Workflow Access Strategy Two general approaches regarding development process/access strategy Concurrent editing Several persons change in parallel the same objects (e.g. SWCs or BSW module configurations) Typically realized via branches in a configuration management (CM) system Requires diff/merge CM v0 v1 v2 merge v3 Exclusive editing Only one person allowed to change an object Typically realized via check-out control strategy of CM system Requires sequencing of work packages difficult to organize! CM v0 v1 v2 v3 Avoids merge Slide: 19
Multi-User Workflow Tool Support Standalone Diff-Tool Compare two ARXML files (any content) A B Show differences in native view DaVinci Tools Generic diff/merge of SWCs and ECUC Result Read-only display of objects like SWCs, Port Interfaces, Data Types, modules Available for all relevant objects, e.g. > SWCs > Port Interfaces > Data Types > Module Configurations Slide: 20
Multi-User Workflow Fine-grained Configuration Management Split-up the project data into several files Define access rights based on individual files (reflected in file state r/o vs. r/w) Only the modified files need to be merged File granularity can be selected when setting-up the project Single file Split files SWCs (DaVinci DCF Workspace) BSW Config (Split ECUC Files) SWC1.xml Os. xml r/w SWC2....xml CanIf. xml CanTp. xml r/w ECU_ Comp.xml Rte. xml... SWC1 SWC2 RTE OS CAN MEM BSW ECU1 Slide: 21
Webinar Series The webinar series about AUTOSAR (http://www.vector.com/vi_autosar_webinars_en.html): 2013-01-22 Analyzing and testing of ECU-internal (AUTOSAR) parameter using CANoe.XCP and CANoe.AMD 2013-03-12 ECU development with AUTOSAR - An introduction for AUTOSAR beginners 2013-04-16 Introduction to the AUTOSAR Method for ECU development 2013-04-19 AUTOSAR Configuration Process - How to handle 1000s of parameters 2013-04-26 Reliable Testing of AUTOSAR ECUs 2013-05-07 MICROSAR Safe: AUTOSAR basic software for safety-relevant ECUs (ISO 26262) 2013-06-05 AUTOSAR System and Software Design with PREEvision Various Webinars on MICROSAR OS the AUTOSAR operating system from Vector http://www.vector.com/vi_operatingsystems_webinars_en.html Registration to the upcoming Webinars and the list of recorded Webinars: http://www.vector.com/vi_webinars_en.html The overview of Vector s training services: http://www.vector.com/vi_training_en.html Slide: 22
Thank you for your attention. For detailed information about Vector and our products please have a look at: www.vector.com Author: Vector Informatik GmbH Ingersheimer Str. 24 70499 Stuttgart Slide: 23