This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Customer Functions

Customer Functions

1 - Component Implementation

Component Implementation

2 - Component Implementation

Component Implementation

Component Documentation

2.1 - BmwDrvgDynStMac_IntegrationManual

Integration Manual

For

BmwDrvgDynStMac

VERSION: 1.0

DATE: 11-APR-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.011-Apr-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF089A_BmwDrvgDynStMac_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwDrvgDynStMacInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
BmwDrvgDynStMacPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
N/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

2.2 - BmwDrvgDynStMac_MDD

Module Design Document

For

BmwDrvgDynStMac

April 13, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski117-Apr-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwDrvgDynStMac & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwDrvgDynStMac 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 7

3.2.2 Function level DFD 7

4 Constant Data Dictionary 8

4.1 Program (fixed) Constants 8

4.1.1 Embedded Constants 8

5 Software Component Implementation 9

5.1 Sub-Module Functions 9

5.1.1 Init: BmwDrvgDynStMacInit1 9

5.1.2 Per: BmwDrvgDynStMacPer1 9

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 10

5.4.1 Local Function DetermineErrorMode 10

5.4.2 Local Function Fac 10

5.4.3 Local Function AssiLvlCnd 11

5.4.4 Local Function CheckActivityTime 11

5.4.5 Local Function CheckDeactivateTime 11

5.4.6 Local Function ErrorIfTi 12

5.4.7 Local Function StateMachine 12

5.4.8 Local Function StateMachineInit 13

5.4.9 Local Function StateMachineIfAvl 13

5.4.10 Local Function StateMachineIfActv 14

5.4.11 Local Function StateMachineStbEpsSts 14

5.4.12 Local Function StateMachineEntry 15

5.5 GLOBAL Function/Macro Definitions 16

6 Known Limitations with Design 17

7 UNIT TEST CONSIDERATION 18

Appendix A Abbreviations and Acronyms 19

Appendix B Glossary 20

Appendix C References 21

Introduction

Purpose

Model Deign Document for CF089A_BmwDrvgDynStMac_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwDrvgDynStMac & High-Level Description

The component implements the functionality of Driving Dynamics State Machine. It is based on requirements for DD State Machine in LH10716411 starting from ID_6159. It outputs signals for CF083A and CF040A.

Design details of software module

Graphical representation of BmwDrvgDynStMac

Data Flow Diagram

Refer FDD

Component level DFD

None

Function level DFD

None

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
*

*Refer FDD for local constants

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: BmwDrvgDynStMacInit1

Design Rationale

Refer FDD

Module Outputs

None

Per: BmwDrvgDynStMacPer1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function DetermineErrorMode

Function NameDetermineErrorModeTypeMinMax
Arguments PassedSysStFltOutpReqDi_Cnt_T_loglboolean01
DiagcStsNonRcvrlReqDiFltPrsnt_Cnt_T_loglboolean01
DiagcStsCtrldShtDwnFltPrsnt_Cnt_T_loglboolean01
StsSteerAssi_Cnt_T_enumenum01
BmwVehCdn_Cnt_T_enumenum115
Return ValueErrMod_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "DetermineErrorMode" Simulink block

Processing

Refer FDD

Local Function Fac

Function NameFacTypeMinMax
Arguments PassedEffortCmdSca_Uls_T_f32float3212
DampgCmdSca_Uls_T_f32float3201
RtnCmdSca_Uls_T_f32float3201
Return ValueFac_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "Fac" Simulink block

Processing

Refer FDD

Local Function AssiLvlCnd

Function NameAssiLvlCndTypeMinMax
Arguments PassedMotTqCmdPwrLimd_MotNwtMtr_T_f32float32-8.88.8
Return ValueMotTqCmdPwrLimdActvtUppr_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdActvtLowr_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdDeactvtLowr_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "AssiLvlCnd" Simulink block

Processing

Refer FDD

Local Function CheckActivityTime

Function NameCheckActivityTimeTypeMinMax
Arguments PassedMotTqCmdPwrLimdCdnActvt_Cnt_T_loglbooleanFALSETRUE
Return ValueMotTqCmdPwrLimdActvt_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CheckActivity Time" Simulink block

Processing

Refer FDD

Local Function CheckDeactivateTime

Function NameCheckDeactivateTimeTypeMinMax
Arguments PassedMotTqCmdPwrLimdCdnDeactvt_Cnt_T_loglbooleanFALSETRUE
Return ValueMotTqCmdPwrLimdDeactvt_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CheckDeactivate Time" Simulink block

Processing

Refer FDD

Local Function ErrorIfTi

Function NameErrorIfTiTypeMinMax
Arguments PassedErrIf_Cnt_T_loglbooleanFALSETRUE
Return ValueErrIfTi_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "ErrorIfTi" Simulink block

Processing

Refer FDD

Local Function StateMachine

Function NameStateMachineTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
Fac_Cnt_T_loglbooleanFALSETRUE
MotTqCmdOvrlEquZero_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimd_MotNwtMtr_T_f32float32-8.88.8
Return ValueN/A

Design Rationale

Implementation of "StateMachine" Simulink state machine

Processing

Refer FDD

Local Function StateMachineInit

Function NameStateMachineInitTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
MotTqCmdPwrLimdActvtUppr_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdActvtLowr_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of INIT State

Processing

Refer FDD

Local Function StateMachineIfAvl

Function NameStateMachineIfAvlTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
MotTqCmdPwrLimdDeactvtLowr_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of IF_AVL State

Processing

Refer FDD

Local Function StateMachineIfActv

Function NameStateMachineIfActvTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
ErrIfTi_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of IF_ACTV State

Processing

Refer FDD

Local Function StateMachineStbEpsSts

Function NameStateMachineStbEpsStsTypeMinMax
Arguments PassedErrMod_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
ErrIf_Cnt_T_loglbooleanFALSETRUE
BmwTarHwTqOvrlQlfr_Cnt_T_enumenum215
BmwDrvgDynFacQlfr_Cnt_T_enumenum215
BmwTarSteerTqDrvrActrQlfr_Cnt_T_enumenum215
BmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
Fac_Cnt_T_loglbooleanFALSETRUE
MotTqCmdOvrlEquZero_Cnt_T_loglbooleanFALSETRUE
MotTqCmdPwrLimdActvtUppr_Cnt_T_loglbooleanFALSETRUE
Return ValueN/A

Design Rationale

Implementation of STB_EPS_STS State

Processing

Refer FDD

Local Function StateMachineEntry

Function NameStateSrvNotAvlStbEpsStsTypeMinMax
Arguments PassedN/A
Return ValueDrvgDynActv_Cnt_T_loglbooleanFALSETRUE
DrvgDynIfSt_Cnt_T_enumenum32255
OutpTqOvrlRampInEna_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "StateMachine" Entry sections

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF089A_BmwDrvgDynStMac_DesignSee Synergy Sub Project Version

2.3 - BmwDrvgDynStMac_Review


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwDrvgDynStMac
Revision / Baseline:


CF089A_BmwDrvgDynStMac_Impl_1.1.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#25416


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































N/AMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


N/ADavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0.5


0









Total hours









0.5



1.5


0


2




































Content reviewed





























Lines of code:


changes


Elements of .arxml content:




changes

Pages of documentation:



changes































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

06/28/18
































Lead Peer Reviewer:


Mateusz Bartocha


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwDrvgDynStMac.c
Source File Revision:


2
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwDrvgDynStMac_MDD.docx
Revision:
1

























SWC Design Name:


CF089A_BmwDrvgDynStMac_Design
Revision:
1.1.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







Yes
Comments:











































for other names (component, memory







Yes
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








Yes
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








N/A
Comments:



(including any anomaly number(s) being fixed) and











Initial version
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








N/A
Comments:



changes needed as described by the work CR(s), all











Initial version
parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







Yes
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

06/28/18
































Lead Peer Reviewer:


Mateusz Bartocha


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:






Adrian Łęgowski








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 4: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwDrvgDynStMac.c




Source File Revision:


2

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










N/A
Comments:




comments still appropriate













Initial version




























Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










No
Comments:
carry over from the previous baseline








for all functions in the component per Design













Number of Function Parameters is higher than 5, but cannot be decrased because of complex state machine.










and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

06/28/18


































Lead Peer Reviewer:


Mateusz Bartocha




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 5: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 6: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

3 - Component Implementation

Component Implementation

Component Documentation

3.1 - BmwFltHndlg_IntegrationManual

Integration Manual

For

BmwFltHndlg

VERSION: 1.0

DATE: 06-NOV-2017

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.006-Nov-2017

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions01.01.00
2Software Design and Coding Standards2.1
3CF070A_BmwFltHndlg_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
DemDem.h

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwFltHndlgInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
BmwFltHndlgPer1NoneRTE(2ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwFltHndlg_STOP_SEC_CODECodeN/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A--

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

3.2 - BmwFltHndlg_MDD

Module Design Document

For

BmwFltHndlg

April 10, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrzysztof Byrski16-Nov-2017
Updated local constantsKrzysztof Byrski210-Apr-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwFltHndlg & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwFltHndlg 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwFltHndlgInit1 8

5.1.2 Per: BmwFltHndlgPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 8

5.5 GLOBAL Function/Macro Definitions 8

6 Known Limitations with Design 9

7 UNIT TEST CONSIDERATION 10

Appendix A Abbreviations and Acronyms 11

Appendix B Glossary 12

Appendix C References 13

Introduction

Purpose

Module Design Document for CF070A_BmwFltHndlg_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwFltHndlg & High-Level Description

BMW Fault Handling function provides a functionality of requesting the lamp status whenever the proper indicator status is set to on.

Design details of software module

Graphical representation of BmwFltHndlg

Data Flow Diagram

Refer FDD

Component level DFD

None

Function level DFD

None

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
*

*Refer FDD for local constants

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

None

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

Communication with Dem is not going through RTE.

UNIT TEST CONSIDERATION

Create stub of Dem_GetIndicatorStatus() function.

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA401.00.01
3EA4 Software Naming Conventions01.01.00
4Software Design and Coding Standards2.1
5CF070A_BmwFltHndlg_DesignSee Synergy Sub Project Version

3.3 - BmwFltHndlg_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwFltHndlg
Revision / Baseline:


CF070A_BmwFltHndlg_Impl_2.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#22087


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0.5


0









Total hours









0.5



1.5


0


2




































Content reviewed





























Lines of code:


Changes only


Elements of .arxml content:




Changes only

Pages of documentation:



Changes only































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/10/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly















































All changed files have been compared against previous









Yes
Comments:




versions (If available) and changes match changes














needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









N/A
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









N/A
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









N/A
Comments:

















N/A for changes

























Runnable port access matches the DataDict.m file










N/A
Comments:

















N/A for changes

























DataDict.m display variables: created as









N/A
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









N/A
Comments:




match DataDict.m file






































NVM blocks match DataDict.m file









N/A
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









N/A
Comments:

















N/A for changes





















































General Notes / Comments:





























































Review Board:



























Change Owner:

Krzysztof Byrski

Review Date :

04/10/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczyński

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwFltHndlg.c
Source File Revision:


2
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwFltHndlg_MDD.docx
Revision:
2

























SWC Design Name:


CF070A_BmwFltHndlg_Design
Revision:
2.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







N/A
Comments:











































for other names (component, memory







N/A
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/10/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:






Adrian Legowski








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwFltHndlg_MDD.docx
MDD Revision:

2


























Source File Name:


BmwFltHndlg.cSource File Revision:


2

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








N/A
Comments:




and reviewed











N/A for changes


























All Design Exceptions and Limitations are listed








N/A
Comments:













































Design rationale given for all global








N/A
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








N/A
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








N/A
Comments:

















N/A for changes


























General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/10/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwFltHndlg.c




Source File Revision:


2

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.3.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










N/A
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

04/10/2018


































Lead Peer Reviewer:


Marek Brykczyński




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 8: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

4 - Component Implementation

Component Implementation

Component Documentation

4.1 - BmwHaptcFb_IntegrationManual

Integration Manual

For

BmwHaptcFb

VERSION: 1.0

DATE: 18-MAY-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.018-May-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF020A_BmwHaptcFb_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwHaptcFbInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwHaptcFbPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
N/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

4.2 - BmwHaptcFb_MDD

Module Design Document

For

BmwHaptcFb

May 18, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski118-May-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwHaptcFb & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwHaptcFb 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwHaptcFbInit1 8

5.1.2 Per: BmwHaptcFbPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function CalcBmwHaptcFbPatNr 9

5.4.2 Local Function CalcBmwHaptcFbIntenNr 9

5.4.3 Local Function CalcHwOscnEna 10

5.4.4 Local Function CalcAmpAndFrq 10

5.5 GLOBAL Function/Macro Definitions 11

6 Known Limitations with Design 12

7 UNIT TEST CONSIDERATION 13

Appendix A Abbreviations and Acronyms 14

Appendix B Glossary 15

Appendix C References 16

Introduction

Purpose

Module Design Document for CF020A_BmwHaptcFb_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwHaptcFb & High-Level Description

This function will alert the driver through handwheel haptic feedback if a lane departure is detected. This function accepts pulse pattern, amplitude, and frequency inputs from the customer and then provides an enable/disable signal.

Design details of software module

Graphical representation of BmwHaptcFb

Data Flow Diagram

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
-

*Refer FDD for local constants

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function CalcBmwHaptcFbPatNr

Function NameCalcBmwHaptcFbPatNrTypeMinMax
Arguments PassedBmwHaptcFbPatNr_Cnt_T_enumenum015
BmwHaptcFbPatNrVld_Cnt_T_loglbooleanFALSETRUE
HwOscnActv_Cnt_T_loglbooleanFALSETRUE
Return ValueBmwHaptcFbPatNr_Cnt_T_enumenum015
BmwHaptcFbPatNrLgc_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CalcBmwHaptcFbPatNr" and "BmwHaptcFbPatNrLgc" Simulink block

Processing

Refer FDD

Local Function CalcBmwHaptcFbIntenNr

Function NameCalcBmwHaptcFbIntenNrTypeMinMax
Arguments PassedBmwHaptcFbIntenNr_Cnt_T_enumenum015
BmwHaptcFbIntenNrVld_Cnt_T_loglbooleanFALSETRUE
HwOscnActv_Cnt_T_loglbooleanFALSETRUE
Return ValueBmwHaptcFbIntenNr_Cnt_T_enumenum015
BmwHaptcFbIntenNrLgc_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CalcBmwHaptcFbIntenNr" and "BmwHaptcFbIntenNrLgc" Simulink block

Processing

Refer FDD

Local Function CalcHwOscnEna

Function NameCalcHwOscnEnaTypeMinMax
Arguments PassedPatChgReq_Cnt_T_loglfloat32FALSETRUE
ActvTi_MilliSec_T_f32float32060
PasTi_MilliSec_T_f32float3203
Return ValueHwOscnEna_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Implementation of "CalcHwOscnEna" Simulink block

Processing

Refer FDD

Local Function CalcAmpAndFrq

Function NameCalcAmpAndFrqTypeMinMax
Arguments PassedVehSpd_Kph_T_f32float320511
HwTq_HwNwtMtr_T_f32float32-1010
Return ValueHwOscnMotAmp_MotNwtMtr_T_f32float32010
HwOscnFrq_Hz_T_f32float321050

Design Rationale

Implementation of "CalcAmpAndFrq" Simulink block

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF020A_BmwHaptcFb_DesignSee Synergy Sub Project Version

4.3 - BmwHaptcFb_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
Integration Manual
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwHaptcFb
Revision / Baseline:


CF020A_BmwHaptcFb_Impl_1.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#16079


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































YesIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0.5


0









Total hours









0.5



1.5


0


2




































Content reviewed





























Lines of code:


All


Elements of .arxml content:




All

Pages of documentation:



All































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/24/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly















































All changed files have been compared against previous









N/A
Comments:




versions (If available) and changes match changes











Initial version

needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









Yes
Comments:












































Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









N/A
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









Yes
Comments:




match DataDict.m file






































NVM blocks match DataDict.m file









N/A
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Krzysztof Byrski

Review Date :

05/24/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczyński

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:
Akilan Rathakrishnan

Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwHaptcFb.c
Source File Revision:


1
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwHaptcFb_MDD.docx
Revision:
1

























SWC Design Name:


CF020A_BmwHaptcFb_Design
Revision:
1.1.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







Yes
Comments:











































for other names (component, memory







Yes
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code











Initial version
























All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








N/A
Comments:



changes needed as described by the work CR(s), all











Initial version
parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







Yes
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







Yes
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/24/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:






Adrian Legowski








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwHaptcFb_MDD.docx
MDD Revision:

1


























Source File Name:


BmwHaptcFb.cSource File Revision:


1

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








N/A
Comments:

















Initial version


























Changes Highlighted (for Unit Tester)








N/A
Comments:

















Initial version


























Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








Yes
Comments:













































Design rationale given for all global








Yes
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








Yes
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








Yes
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/24/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwHaptcFb.c




Source File Revision:


1

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.3.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










N/A
Comments:




comments still appropriate













Initial version




























Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design













Cyclomatic complexity: 7, static path: 30.

and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

05/24/2018


































Lead Peer Reviewer:


Marek Brykczyński




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: Integration Manual






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



BmwHaptcFb_IntegrationManual.doc






Integration Manual Revision:



1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








N/A
Comments:
















Initial version
























Changes Highlighted (for Integrator)








N/A
Comments:
















Initial version

























General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/24/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:
Akilan Rathakrishnan


Comments:

















































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:












































Sheet 8: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 9: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

5 - Component Implementation

Component Implementation

Component Documentation

5.1 - BmwHwAgArbnAndEotPosn_IntegrationManual

Integration Manual

For

BmwHwAgArbnAndEotPosn

VERSION: 3.0

DATE: 13-Jan-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.025-Oct-2017
2Configuration parametersKrzysztof Byrski2.030-Nov-2017
3Updated Configuration Parameters listMatthew Leser3.013-Jan-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions01.01.00
2Software Design and Coding Standards2.1
3CF071A_BmwHwAgArbnAndEotPosn_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None-

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

BmwHwAgArbnAndEotPosn_Cfg.h

Da Vinci Parameter Configuration Changes

ParameterNotesSWC

BMWHWAGARBNANDEOTPOSN_NTCHWAGSNSRNOTTRIM_CNT_ENUM

(BmwHwAgArbnAndEotPosn\BmwHwAgArbnAndEotPosnGeneral\NTCHWAGSNSRNOTTRIM)

Ntc Handwheel Angle Sensor Not TrimCF071A

BMWHWAGARBNANDEOTPOSN_NTCLOSSOFPINIOINAGZEROSPD_CNT_ENUM

(BmwHwAgArbnAndEotPosn\BmwHwAgArbnAndEotPosnGeneral\NTCLOSSOFPINIOINAGZEROSPD)

Ntc Loss of Pinion Angle Zero SpeedCF071A

BMWHWAGARBNANDEOTPOSN_NTCLOSSOFPINIONAG_CNT_ENUM

(BmwHwAgArbnAndEotPosn\BmwHwAgArbnAndEotPosnGeneral\NTCLOSSOFPINIONAG)

Ntc Loss of Pinion AngleCF071A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwHwAgArbnAndEotPosnInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
BmwHwAgArbnAndEotPosnPer1NoneRTE(2ms)
ClrBmwRackCentrToVehCentrOffs_OperNoneRTE(Event)
ClrVehCentrPosn_OperNoneRTE(Event)
SetVehCentrPosn_OperNoneRTE(Event)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwHwAgArbnAndEotPosn_START_SEC_CODECodeN/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

5.2 - BmwHwAgArbnAndEotPosn_MDD

Module Design Document

For

BmwHwAgArbnAndEotPosn

12-Jul-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrzysztof Byrski125-Oct-2017
Updated Local Functions argumentsKrzysztof Byrski208-Nov-2017
Updated Diagram and Function InputsMatthew Leser316-Jan-2018
Updated to Design version 3.0.0Krzysztof Byrski415-Mar-2018
Updated to Design version 5.1.0Marek Brykczyński529-Jun-2018
Updated graphic to include 2 new inputs, modified and added functionsShawn Penning612-Jul-2018


Table of Contents

T

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwHwAgArbnAndEotPosn & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwHwAgArbnAndEotPosn 7

3.2 Data Flow Diagram 8

3.2.1 Component level DFD 8

3.2.2 Function level DFD 8

4 Constant Data Dictionary 9

4.1 Program (fixed) Constants 9

4.1.1 Embedded Constants 9

5 Software Component Implementation 10

5.1 Sub-Module Functions 10

5.1.1 Init: BmwHwAgArbnAndEotPosnInit1 10

5.1.2 Per: BmwHwAgArbnAndEotPosnPer1 10

5.2 Server Runables 11

5.2.1 ClrBmwRackCentrToVehCentrOffs_Oper 11

5.2.2 ClrVehCentrPosn_Oper 11

5.2.3 SetVehCentrPosn_Oper 11

5.3 Interrupt Functions 11

5.4 Module Internal (Local) Functions 12

5.4.1 HwAgSnsrNotTrimNTC 12

5.4.2 HwPosnFltDetn 12

5.4.3 PinionAgFltTmr 12

5.4.4 OffsCorrnTmr 13

5.4.5 InitTmr 13

5.4.6 CalcBmwMotAgOffsSelnSt 13

5.4.7 CalcBmwMotAgOffsSelnStOffsCmpd 14

5.4.8 CalcBmwMotAgOffsSelnStSubVal 14

5.4.9 CalcBmwMotAgOffsSelnStTmpCmpd 14

5.4.10 CalcBmwMotAgOffsSelnStOffsCorrn 15

5.4.11 CalcBmwMotAgOffsSelnStSigInvld 15

5.4.12 CalcBmwMotAgOffsSelnStIni 15

5.4.13 BmwMotAgOffsSelnStTranCase 16

5.4.14 ChkNrcvrlFlt 16

5.4.15 TurnCntrCorrlnStsTmr 16

5.4.16 ChkTurnCntrCorrlnStsCdn 16

5.4.17 ProcessBmwQuadRotorOffs1 16

5.4.18 ProcessBmwQuadRotorOffs2 17

5.4.20 ProcessBmwQuadOffsSts 17

5.4.21 ActvtLpFil 17

5.4.22 CalcBmwPinionAgOffs 17

5.4.23 BmwMotAgSelnStOffsCmpd 18

5.4.24 BmwMotAgSelnStSigInvld 19

5.4.25 PinionAgCalc 19

5.4.26 ClrNotCmplPinionAgFlg 19

5.4.27 CalcEot 20

5.4.28 SetBmwRackCentrToVehCentrOffs 20

5.4.29 HndlgNTC 21

5.5 GLOBAL Function/Macro Definitions 22

6 Known Limitations with Design 23

7 UNIT TEST CONSIDERATION 24

Appendix A Abbreviations and Acronyms 25

Appendix B Glossary 26

Appendix C References 27

Introduction

Purpose

Module Design Document for CF071A_BmwHwAgArbnAndEotPosn_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwHwAgArbnAndEotPosn & High-Level Description

This function will be responsible for determining the hand wheel position using the motor position to provide an estimate of the hand wheel position.

Design details of software module

Graphical representation of BmwHwAgArbnAndEotPosn

Data Flow Diagram

Refer FDD

Component level DFD

N/A

Function level DFD

N/A

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

None

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

ClrBmwRackCentrToVehCentrOffs_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

ClrVehCentrPosn_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

SetVehCentrPosn_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

Interrupt Functions

None

Module Internal (Local) Functions

HwAgSnsrNotTrimNTC

Function NameHwAgSnsrNotTrimNTCTypeMinMax
Arguments PassedNone
Return ValueHwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

HwPosnFltDetn

Function NameHwPosnFltDetnTypeMinMax
Arguments PassedMotAgVld_Cnt_T_loglbooleanFALSETRUE
HwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
Return ValuePinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

PinionAgFltTmr

Function NamePinionAgFltTmrTypeMinMax
Arguments PassedHwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
Return ValuePinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

OffsCorrnTmr

Function NameOffsCorrnTmrTypeMinMax
Arguments PassedNone
Return ValueOffsCorrnTmrElpd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

InitTmr

Function NameInitTmrTypeMinMax
Arguments PassedNone
Return ValueAllwExitFromInit_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnSt

Function NameCalcBmwMotAgOffsSelnStTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
BmwQuadOffsSts_Cnt_T_enumenum015
PinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE
OffsCorrnTmrElpd_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwExitFromInit_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStOffsCmpd

Function NameCalcBmwMotAgOffsSelnStOffsCmpdTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
BmwQuadOffsSts_Cnt_T_enumenum015
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStSubVal

Function NameCalcBmwMotAgOffsSelnStSubValTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStTmpCmpd

Function NameCalcBmwMotAgOffsSelnStTmpCmpdTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStOffsCorrn

Function NameCalcBmwMotAgOffsSelnStOffsCorrnTypeMinMax
Arguments PassedOffsCorrnTmrElpd_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStSigInvld

Function NameCalcBmwMotAgOffsSelnStSigInvldTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
PinionAgFltTmrElpd_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcBmwMotAgOffsSelnStIni

Function NameCalcBmwMotAgOffsSelnStIniTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
HwAgNotVldFltPrsnt_Cnt_T_loglbooleanFALSETRUE
AllwExitFromInit_Cnt_T_loglbooleanFALSETRUE
AllwTran_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

BmwMotAgOffsSelnStTranCase

Function NameBmwMotAgOffsSelnStTranCaseTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
HwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
MotAgTurnCntrDeg_MotDeg_T_f32float32-8294400083008800
TurnCntrVld_Cnt_T_loglbooleanFALSETRUE
PrevLoopBmwMotAgSelnSt_Cnt_T_enumenum215
BmwQuadRotorOffs_MotRev_T_s08sint8-127127
MotAgCumvAlgnMrf_MotDeg_T_f32float32-262144262143.9998
Return ValuePinionAgTarConf_Uls_T_f32float3201
MotPosnDegArbd_MotDeg_T_f32float32- 8320614483270944>

ChkNrcvrlFlt

Function NameChkNrcvrlFltTypeMinMax
Arguments PassedNtc8CSts_Cnt_T_enumenum12
Ntc8ESts_Cnt_T_enumenum12
Return Value----

TurnCntrCorrlnStsTmr

Function NameTurnCntrCorrlnStsTmrTypeMinMax
Arguments PassedTurnCntrCorrlnSts_Cnt_T_u08enum03
Return Value----

ChkTurnCntrCorrlnStsCdn

Function NameChkTurnCntrCorrlnStsCdnTypeMinMax
Arguments PassedTurnCntrCorrlnSts_Cnt_T_u08enum03
Return Value----

ProcessBmwQuadRotorOffs1

Function NameProcessBmwQuadRotorOffsTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enum, ,Enum015
BmwQuadRotorOffs_MotRev_T_s08sint8-127127
ChgdValDetd_Cnt_T_loglbooleanFALSETRUE
Return Value----

ProcessBmwQuadRotorOffs2

Function NameProcessBmwQuadRotorOffsTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enum, ,Enum015
BmwQuadRotorOffs_MotRev_T_s08sint8-127127
ChgdValDetd_Cnt_T_loglbooleanFALSETRUE
Return Value----

ProcessBmwQuadOffsSts

Function NameProcessBmwQuadOffsStsTypeMinMax
Arguments PassedBmwQuadOffsSts_Cnt_T_enumenum015
ChgdValDetd_Cnt_T_loglbooleanFALSETRUE
Return Value----

ActvtLpFil

Function NameActvtLpFilTypeMinMax
Arguments Passed----
Return Value----

CalcBmwPinionAgOffs

Function NameCalcBmwPinionAgOffsTypeMinMax
Arguments PassedBmwPinionAgOffs_HwDeg_T_f32float32-4545
BmwPinionAgOffsSts_Cnt_T_enumenum14
Return Value-BmwPinionAgOffsOutp_HwDeg_T_f32float32-14401440

Design Rationale

Refer FDD

Processing

Refer FDD

BmwMotAgSelnStOffsCmpd

Function NameBmwMotAgSelnStOffsCmpdTypeMinMax
Arguments PassedBmwQuadRotorOffs_MotRev_T_s08sint8-127127
Return ValuePinionAgTarConf_Uls_T_f32float3201

Design Rationale

Refer FDD

Processing

Refer FDD

BmwMotAgSelnStSigInvld

Function NameBmwMotAgSelnStSigInvldTypeMinMax
Arguments PassedTurnCntrVld_Cnt_T_loglbooleanFALSETRUE
PrevLoopBmwMotAgSelnSt_Cnt_T_enumenum215
HwAgSnsrNotTrimFlt_Cnt_T_loglbooleanFALSETRUE
MotAgTurnCntrDeg_MotDeg_T_f32float32-8294400083008800
Return ValuePinionAgTarConf_Uls_T_f32float3200

Design Rationale

Refer FDD

Processing

Refer FDD

PinionAgCalc

Function NamePinionAgCalcTypeMinMax
Arguments PassedOffsCpmpdMotPosn_MotDeg_T_f32float32-8298972083054520
CmplncErrMotToPinion_HwDeg_T_f32float32-55
Return ValueBmwPinionAg_HwDeg_T_f32float32-14401440

Design Rationale

Refer FDD

Processing

Refer FDD

ClrNotCmplPinionAgFlg

Function NameClrNotCmplPinionAgFlgTypeMinMax
Arguments PassedLongTermRackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

CalcEot

Function NameCalcEotTypeMinMax
Arguments PassedTotRackTrvl_HwDeg_T_f32float32-28802880
LongTermRackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
Return ValueHwAgEotCw_HwDeg_T_f32float32360900
HwAgEotCcw_HwDeg_T_f32float32-900-360
HwAgCwDetd_Cnt_T_loglbooleanFALSETRUE
HwAgCcwDetd_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

SetBmwRackCentrToVehCentrOffs

Function NameSetBmwRackCentrToVehCentrOffsTypeMinMax
Arguments PassedLongTermRackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
RackCentrPinionAg_HwDeg_T_f32float32-14401440
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

HndlgNTC

Function NameHndlgNTCTypeMinMax
Arguments PassedVehSpdVld_Cnt_T_loglbooleanFALSETRUE
VehSpd_Kph_T_f32float320350
BmwVehSpdSts_Cnt_T_enumenum115
DiKineIntegrityTest_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Design Rationale

Refer FDD

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA401.00.01
3EA4 Software Naming Conventions01.01.00
4Software Design and Coding Standards2.1
5CF071A_BmwHwAgArbnAndEotPosn_DesignSee Synergy Sub Project Version

5.3 - BmwHwAgArbnAndEotPosn_Review


Overview

Cover Page
Summary Sheet
Synergy Project
Davinci Files
Source Code
PolySpace
help
Version History


Sheet 1: Cover Page


Nexteer Automotive Confidential Proprietary Information
Do Not Copy/Distribute Without Prior Permission


EA4 Nexteer SWC Implementation Peer Review Checklist
For
BMW FAAR WE














Prepared By:
Software Development Team
Nexteer Automotive
Tychy, Poland

EA4 Nexteer SWC Implementation Peer Review Checklist
Version: 2.02
Date: 28-Jun-2018 © Nexteer Automotive

Sheet 2: Summary Sheet
























Rev 2.0227-Jun-18

Nexteer EA4 SWC Implementation Peer Review Summary Sheet


























Component Short Name:



BmwHwAgArbnAndEotPosn
Revision / Baseline:


CF071A_BmwHwAgArbnAndEotPosn_Design_6.3.0

























Change Owner:


Marek Brykczyński
Work CR ID:


EA4#26164



























Modified File Types:



Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.

















































































































































Review Checklist Summary:






























Reviewed:




At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).












































N/AMDD


YesSource Code


YesPolySpace


N/AAuto Code



































N/AIntegration Manual


YesDavinci Files


N/ASIL Testing



































































All required reviewers participated





Yes













































Comments:





























































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up






Change owner:









0.5



0.5


0





Component developer reviewers:









0.5



0.5


0


2


Other reviewers:









0



0


0





Total hours









1



1


0


2





























Content reviewed

























Lines of code:


changes

Elements of .arxml content:




changes

Pages of documentation:



changes



















































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.

Sheet 3: Synergy Project






















Rev 2.0227-Jun-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:
naming convention




































Project contains necessary subprojects








Yes
Comments:






































Project contains the correct version of subprojects








Yes
Comments:






































Design subproject is correct version








Yes
Comments:








































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:









































File/folder structure is correct per documentation in









Yes
Comments:

TL109A_SwcSuprt






































General Notes / Comments:
























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

07/25/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 4: Davinci Files






















Rev 2.0227-Jun-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:

(compare against TL107B to ensure only implementation













data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:








































Do all port interface names end in PortIf and a sequence









Yes
Comments:

number





































Non-program-specific components saved









Yes
Comments:

in Autosar 4.0.3 format





































For components with generated configurable content:












N/A
Comments: N/A for changes
*Cfg.arxml.TT: Verfied Davinci Configurator imported the












change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments: N/A for changes

the configuration header file(s) correctly





































All changed files have been compared against previous









N/A
Comments:

versions (If available) and changes match changes













needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:

file) in all areas where arxml was changed and/or the













DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:








































Naming conventions followed. All names should









N/A
Comments: N/A for changes

match DataDict.m





































Sender/Receiver port properties match DataDict.m file









N/A
Comments: N/A for changes

(name, data type, direction)





































Calibration port properties match DataDict.m file









N/A
Comments:

(name, data type)





































Sender/Receiver port initialization values match









Yes
Comments:

DataDict.m file and have been converted to counts













for fixed point types















































Calibration port initialization values match









N/A
Comments:N/A for changes

DataDict.m file and have been converted to counts













for fixed point types















































Mapping set and all unused items have been









N/A
Comments:

removed





































All sender/receiver port read/writes using "Write (explicit)"










N/A
Comments: N/A for changes

and "Read (explicit by argument)"(List justification if not)





































Runnable calling frequencies match DataDict.m file









N/A
Comments: N/A for changes








































Runnable port access matches the DataDict.m file










N/A
Comments: N/A for changes








































DataDict.m display variables: created as









N/A
Comments: N/A for changes

PerInstanceMemory. Name and data type match DataDict.m file.





































Per Instance Memory names and data types









N/A
Comments:

match DataDict.m file





































NVM blocks match DataDict.m file









N/A
Comments:

(Named per naming convention. Default block













used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:




































































General Notes / Comments:





























































Review Board:



























Change Owner:

Marek Brykczyński

Review Date :

07/25/18
Component Type :


Application




























Lead Peer Reviewer:


Krzysztof Byrski

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:
Krzysztof Byrski

Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 5: Source Code






















Rev 2.0227-Jun-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwHwAgArbnAndEotPosn.c
Source File Revision:


13
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwHwAgArbnAndEotPosn_MDD.docx
Revision:
6

























SWC Design Name:


CF071A_BmwHwAgArbnAndEotPosn_Design
Revision:
6.3.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:
























EA4 Software Naming Convention followed:











Version:

























for variable names







Yes
Comments:







































for constant names







Yes
Comments:







































for function names







Yes
Comments:







































for other names (component, memory







Yes
Comments:

mapping handles, typedefs, etc.)



































Verified no possibility of uninitialized variables being








Yes
Comments:
written to component outputs or IRVs




































Any requirements traceability tags have been removed








Yes
Comments:
from at least the changed areas of code




































All variables are declared at the function level.








Yes
Comments:






































Synergy version matches change history








Yes
Comments:
and Version Control version in file comment block




































Change log contains detailed description of changes








Yes
Comments:
(including any anomaly number(s) being fixed) and












Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:
or Model) in all areas where code was changed and/or












Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








N/A
Comments:
changes needed as described by the work CR(s), all












parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:
(and verified for all possible combinations












of any conditionally compiled code)














































Component.h is included








N/A
Comments:






































All other includes are actually needed. (System includes








Yes
Comments:
only allowed in Nexteer library components)




































Software Design and Coding Standards followed:











Version:

























Code comments are clear, correct, and adequate







Yes
Comments:

and have been updated for the change: [N40] and












all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:

standards and contain correct information: [N41], [N42]




































Function comment blocks are per standards and







Yes
Comments:

contain correct information: [N43]




































Code formatting (indentation, placement of







Yes
Comments:

braces, etc.) is per standards: [N5], [N55], [N56],












[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:

"magic numbers": [N12]




































Memory mapping for non-RTE code







Yes
Comments:

is per standard




































All access of motor control loop data uses macros







N/A
Comments:

generated by the motor control manager




































All loops have termination conditions that ensure







N/A
Comments:

finite loop iterations: [N63]




































All divides protect against divide by zero







N/A
Comments:

if needed: [N65]




































All integer division and modulus operations







N/A
Comments:

handle negative numbers correctly: [N76]




































All typecasting and fixed point arithmetic,







Yes
Comments:

including all use of fixed point macros and












timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:

float value is non-negative: [N67]




































All conversions between signed and unsigned







Yes
Comments:

types handle msb==1 as intended: [N78]




































All pointer dereferencing protects against







Yes
Comments:

null pointer if needed: [N70]




































Component outputs are limited to the legal range







Yes
Comments:

defined in the SWC Design DataDict.m file : [N53]




































All code is mapped with SWC Design (all SWC







Yes
Comments:

Design subfunctions and/or model blocks identified












with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:

standards noticed during the review are noted in the












comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

07/25/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Patryk Kołacki



Comments:
















































Integrator and or
SW lead:
Krzysztof Byrski



Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 6: PolySpace






















Rev 2.0227-Jun-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwHwAgArbnAndEotPosn.c




Source File Revision:


13

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:

function prototypes match the latest component version










































100% Compliance to the EA4 Static Analysis

Yes
Comments:

Compliance Guideline










































Are previously added justification and deviation










N/A
Comments:

comments still appropriate










































Do all MISRA deviation comments use approved










Yes
Comments:

deviation tags










































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:

with conditional compilation, has Polyspace been run with all
















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:

for all functions in the component per Design















and Coding Standards rule [N47]




















































MISRA AGC guidelines selected for Polyspace (N/A for hand











N/A
Comments:

coded components)
































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

07/17/18


































Lead Peer Reviewer:


Krzysztof Byrski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 8: Version History















Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released
2.02Added a new tab for auto code as well as SIL testing
Corrected some of the missing hyperlinks
and formatting
Added referencing for items under Reviewed in Summary Sheet tab
SW Engineering team27-Jun-18Lonnie Newton, Steven Horwath
PCWG
28-Jun-18Released

6 - Component Implementation

Component Implementation

Component Documentation

6.1 - BmwHwTqOvrlArbn_IntegrationManual

Integration Manual

For

BmwHwTqOvrlArbn

VERSION: 1.0

DATE: 13-APR-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.017-Apr-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF089A_BmwDrvgDynStMac_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwHwTqOvrlArbnInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwHwTqOvrlArbnPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
N/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

6.2 - BmwHwTqOvrlArbn_MDD

Module Design Document

For

BmwHwTqOvrlArbn

April 17, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski118-Oct-2017


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwHwTqOvrlArbn & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwHwTqOvrlArbn 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwHwTqOvrlArbnInit1 8

5.1.2 Per: BmwHwTqOvrlArbnPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function FctlErr 9

5.4.2 Local Function HwTqOvrlArbn 9

5.5 GLOBAL Function/Macro Definitions 10

6 Known Limitations with Design 11

7 UNIT TEST CONSIDERATION 12

Appendix A Abbreviations and Acronyms 13

Appendix B Glossary 14

Appendix C References 15

Introduction

Purpose

Module Design Document for CF101A_BmwHwTqOvrlArbn_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwHwTqOvrlArbn & High-Level Description

The BMW Handwheel Torque Overlay Arbitration arbitrates Input Torque Overlay based on current driving conditions, driving dynamics interface state and provided qualifiers.

Design details of software module

Graphical representation of BmwHwTqOvrlArbn

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
*

*Refer FDD for local constants

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: BmwHwTqOvrlArbnInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: BmwHwTqOvrlArbnPer1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function FctlErr

Function NameFctlErrTypeMinMax
Arguments PassedHwTqOvrlAvl_Cnt_T_loglbooleanFALSETRUE
VehSpd_Kph_T_f32float320511
BmwTarHwTqOvrl_HwNwtMtr_T_f32float32-1010
Return ValueRte_Pim_FctlErrActvbooleanFALSETRUE

Design Rationale

Implementation of "FctlErr" Simulink block.

Processing

Refer FDD

Local Function HwTqOvrlArbn

Function NameHwTqOvrlArbnTypeMinMax
Arguments PassedFctlErr_Cnt_T_loglbooleanFALSETRUE
HwTqOvrl_HwNwtMtr_T_f32float32-1010
HwTqOvrlAvl_Cnt_T_loglbooleanFALSETRUE
Return ValueArbdHwTqOvrl_HwNwtMtr_T_f32float32-1010

Design Rationale

Implementation of "HwTqOvrlArbn" Simulink block.

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

Due to optimization reasons:

• Function FctlErr will not be fully executed when PIM FctlErrActv is set to TRUE.

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF101A_BmwHwTqOvrlArbn_DesignSee Synergy Sub Project Version

6.3 - BmwHwTqOvrlArbn_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
Integration Manual
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwHwTqOvrlArbn
Revision / Baseline:


CF101A_BmwHwTqOvrlArbn_Impl_1.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#22038


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































YesIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

*Intagrator was unavailable














































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0


0









Total hours









0.5



1


0


1.5




































Content reviewed





























Lines of code:


All


Elements of .arxml content:




All

Pages of documentation:



All































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly















































All changed files have been compared against previous









N/A
Comments:




versions (If available) and changes match changes











Initial version

needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









Yes
Comments:












































Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









Yes
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









Yes
Comments:




match DataDict.m file






































NVM blocks match DataDict.m file









Yes
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Krzysztof Byrski

Review Date :

04/14/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczyński

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

Intagrator was unavailable













































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwHwTqOvrlArbn.c
Source File Revision:


1
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwHwTqOvrlArbn_MDD.docx
Revision:
1

























SWC Design Name:


CF101A_BmwHwTqOvrlArbn_Design
Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







Yes
Comments:











































for other names (component, memory







Yes
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








N/A
Comments:



(including any anomaly number(s) being fixed) and











Initial version
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








N/A
Comments:



changes needed as described by the work CR(s), all











Initial version
parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







Yes
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:






Patryk Kołacki








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwHwTqOvrlArbn_MDD.docx
MDD Revision:

1


























Source File Name:


BmwHwTqOvrlArbn.cSource File Revision:


1

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








N/A
Comments:

















Initial version


























Changes Highlighted (for Unit Tester)








N/A
Comments:

















Initial version


























Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








Yes
Comments:













































Design rationale given for all global








Yes
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








Yes
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








Yes
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwHwTqOvrlArbn.c




Source File Revision:


1

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.3.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










N/A
Comments:




comments still appropriate













Initial version




























Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design













Cyclomatic complexity: 6, static path: 10.

and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

04/17/2018


































Lead Peer Reviewer:


Marek Brykczyński




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: Integration Manual






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



BmwHwTqOvrlArbn_IntegrationManual.doc






Integration Manual Revision:



1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








N/A
Comments:
















Initial version
























Changes Highlighted (for Integrator)








N/A
Comments:
















Initial version

























General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

04/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

Intagrator was unavailable














































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:












































Sheet 8: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 9: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

7 - Component Implementation

Component Implementation

Component Documentation

7.1 - BmwMotTqOvrlArbn_IntegrationManual

Integration Manual

For

BmwMotTqOvrlArbn

VERSION: 2.0

DATE: 04-APR-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.028-Feb-2018
2Updated dependenciesKrzysztof Byrski2.004-Apr-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF083A_BmwMotTqOvrlArbn_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
DcmDcm_GetSesCtrlType

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwMotTqOvrlArbnInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwMotTqOvrlArbnPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwMotTqOvrlArbn_START_SEC_CODECode

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

7.2 - BmwMotTqOvrlArbn_MDD

Module Design Document

For

BmwMotTqOvrlArbn

July 03, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski128-Feb-2018
Updated graphical representation as per Design 2.0.0Krzysztof Byrski204-Apr-2018
Updated unit test considerationsKrzysztof Byrski322-Jun-2018
Updated graphical representation as per Design 3.0.0Krzysztof Byrski403-Jul-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwMotTqOvrlArbn & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwMotTqOvrlArbn 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwMotTqOvrlArbnInit1 8

5.1.2 Per: BmwMotTqOvrlArbnPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function ChkForFctlErr 9

5.5 GLOBAL Function/Macro Definitions 9

6 Known Limitations with Design 10

7 UNIT TEST CONSIDERATION 11

Appendix A Abbreviations and Acronyms 12

Appendix B Glossary 13

Appendix C References 14

Introduction

Purpose

Module Design Document for CF083A_BmwMotTqOvrlArbn_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwMotTqOvrlArbn & High-Level Description

This function accepts multiple torque overlay commands and based on other supplied signals, it decides which of provided torque overlays should be used as torque overlay command. It also sets torque overlay command to zero if safety related conditions occur.

Design details of software module

Graphical representation of BmwMotTqOvrlArbn

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
CNVMILLISECTOCNT_CNTPERMILLISEC_U161CntPerMilliSec10
TWENTYCNT_CNT_U321Cnt20
ZERO_MOTNWTMTR_F32Single Precision FloatMotNwtMtr0

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

None

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function ChkForFctlErr

Function NameChkForFctlErrTypeMinMax
Arguments PassedMfgModActv_Cnt_T_loglbooleanFALSETRUE
BmwNearStillVehSpdSts_Cnt_T_enumenum1215
VehSpd_Kph_T_f32float320511
MfgModCmd_MotNwtMtr_T_f32float32-8.88.8
Return ValueN/A

Design Rationale

Implementation of “ChkForFctlErr” Simulink block.

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF083A_BmwMotTqOvrlArbn_DesignSee Synergy Sub Project Version

7.3 - BmwMotTqOvrlArbn_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwMotTqOvrlArbn
Revision / Baseline:


CF083A_BmwMotTqOvrlArbn_Impl_3.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#25257


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0


0









Total hours









0.5



1


0


1.5




































Content reviewed





























Lines of code:


Changes only


Elements of .arxml content:




Changes only

Pages of documentation:



Changes only































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

07/03/2018
































Lead Peer Reviewer:


Marek Brykczynski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the























change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly















































All changed files have been compared against previous









Yes
Comments:




versions (If available) and changes match changes














needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









N/A
Comments:

















N/A for changes

























Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









N/A
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.











N/A for changes

























Per Instance Memory names and data types









N/A
Comments:




match DataDict.m file











N/A for changes

























NVM blocks match DataDict.m file









N/A
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Krzysztof Byrski

Review Date :

07/11/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczynski

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:
Akilan Rathakrishnan

Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwMotTqOvrlArbn.c
Source File Revision:


4
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwMotTqOvrlArbn_MDD.docx
Revision:
4

























SWC Design Name:


CF083A_BmwMotTqOvrlArbn_Design
Revision:
3.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







N/A
Comments:
















N/A for changes

























for function names







N/A
Comments:
















N/A for changes

























for other names (component, memory







N/A
Comments:




mapping handles, typedefs, etc.)










N/A for changes
























Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

07/03/2018
































Lead Peer Reviewer:


Marek Brykczynski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:










Wojciech Janusz








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwMotTqOvrlArbn_MDD.docx
MDD Revision:

4


























Source File Name:


BmwMotTqOvrlArbn.cSource File Revision:


4

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








N/A
Comments:













































Design rationale given for all global








N/A
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








N/A
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








Yes
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

07/03/2018
































Lead Peer Reviewer:


Marek Brykczynski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwMotTqOvrlArbn.c




Source File Revision:


4

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

07/03/2018


































Lead Peer Reviewer:


Marek Brykczynski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 8: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

8 - Component Implementation

Component Implementation

Component Documentation

8.1 - BmwPwrPrkgDampg_IntegrationManual

Integration Manual

For

BmwPwrPrkgDampg

VERSION: 1.0

DATE: 08-JAN-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.008-Jan-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF082A_BmwPwrPrkgDampg_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwPwrPrkgDampgInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
BmwPwrPrkgDampgPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwPwrPrkgDampg_START_SEC_CODECode

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

8.2 - BmwPwrPrkgDampg_MDD

Module Design Document

For

BmwPwrPrkgDampg

April 18, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial VersionKrzysztof Byrski108-Jan-2018
Updates accordingly to the Design 2.0.0 (enabling/disabling functionality through a coding bit has been introduced)Marek Brykczyński218-Apr-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwPwrPrkgDampg & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwPwrPrkgDampg 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwPwrPrkgDampgInit1 8

5.1.2 Per: BmwPwrPrkgDampgPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 8

5.5 GLOBAL Function/Macro Definitions 8

6 Known Limitations with Design 9

7 UNIT TEST CONSIDERATION 10

Appendix A Abbreviations and Acronyms 11

Appendix B Glossary 12

Appendix C References 13

Introduction

Purpose

MDD for CF082A_BmwPwrPrkgDampg_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwPwrPrkgDampg & High-Level Description

The subject function can be activated or deactivated through a coding bit. This function is responsible for determining the amount of additional motor torque damping during parking, getting to the point the power pack cannot provide the full assist anymore. The function will avoid any hard change of assist comparable to the EOT damping. The function is primarily derived from the handwheel velocity, the pinion angle and it is scaled by the vehicle velocity.

Design details of software module

Graphical representation of BmwPwrPrkgDampg

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
ZERO_MOTNWTMTR_F32SingleMotNwtMtr0

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: BmwPwrPrkgDampgInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: BmwPwrPrkgDampgPer1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

None

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.02
4Software Design and Coding Standards2.01
5CF082A_BmwPwrPrkgDampg_DesignSee Synergy Sub Project Version

8.3 - BmwPwrPrkgDampg_Review


Overview

Summary Sheet
Source Code
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwPwrPrkgDampg
Revision / Baseline:


CF082A_BmwPwrPrkgDampg_Impl_3.0.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#23370


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































N/AMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


N/ADavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0.5



0.5


0


2





Other reviewers:









0



0


0









Total hours









1



1


0


2




































Content reviewed





























Lines of code:


changes only


Elements of .arxml content:




changes only

Pages of documentation:



changes only































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwPwrPrkgDampg.c

Source File Revision:


3
Header File Name:


-

Header File Revision:


-

























MDD Name:


BmwPwrPrkgDampg_MDD.docx
Revision:
2

























SWC Design Name:


CF082A_BmwPwrPrkgDampg_Design
Revision:
3.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:
























EA4 Software Naming Convention followed:











Version:

























for variable names







Yes
Comments:

















































for constant names







Yes
Comments:

















































for function names







Yes
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:









written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:









from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:
















































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:









(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All access of motor control loop data uses macros







N/A
Comments:










generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







Yes
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







Yes
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:










defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:










Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:










standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

05/16/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Grzegorz Szafranski



Comments:




















































Integrator and or
SW lead:









Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):









































































Rationale/justification for items marked "No" approved by:





































































Sheet 3: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwPwrPrkgDampg.c




Source File Revision:


2

Source File Name:






-









Source File Revision:


-

Source File Name:






-









Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.4.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:










function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












Yes
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

05/16/18


































Lead Peer Reviewer:


Krzysztof Byrski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 4: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 5: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

9 - Component Implementation

Component Implementation

Component Documentation

9.1 - BmwSplyCurrLim_IntegrationManual

Integration Manual

For

BmwSplyCurrLim

VERSION: 1.0

DATE: 24-MAY-2018

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionMarek Brykczyński1.024-May-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF045A_BmwSplyCurrLim_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwSplyCurrLimInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwSplyCurrLimPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwSplyCurrLim_START_SEC_CODECodeN/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

N/A

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

9.2 - BmwSplyCurrLim_MDD

Module Design Document

For

BmwSplyCurrLim

May 24, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial versionMarek Brykczyński124-May-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwSplyCurrLim & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwSplyCurrLim 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwSplyCurrLimInit1 8

5.1.2 Per: BmwSplyCurrLimPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 VltgDptCurrLim 9

5.5 GLOBAL Function/Macro Definitions 9

6 Known Limitations with Design 10

7 UNIT TEST CONSIDERATION 11

Appendix A Abbreviations and Acronyms 12

Appendix B Glossary 13

Appendix C References 14

Introduction

Purpose

Module Design Document for CF045A_BmwSplyCurrLim_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwSplyCurrLim & High-Level Description

The BMW Supply Current Limit function specifies the supply current limit based on operating conditions of the vehicle. The supply current limit is a function of vehicle speed, supply voltage measurement, customer serial communication messages and motor start stop (MSA). The function arbitrates between limits specified for each interface to meet the requirements provided by the customer.

Design details of software module

Graphical representation of BmwSplyCurrLim

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
-

Refer FDD for local constants.

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

VltgDptCurrLim

Function NameVltgDptCurrLimTypeMinMax
Arguments PassedRemCtrlPrkgEna_Cnt_T_loglbooleanFALSETRUE
BrdgVltg_Volt_T_u6p10uint16614427136
Return ValueA result of a conversion of fixed-point to float32float320120

Design Rationale

Refer FDD

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF045A_BmwSplyCurrLim_DesignSee Synergy Sub Project Version

9.3 - BmwSplyCurrLim_Review


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwSplyCurrLim
Revision / Baseline:


CF045A_BmwSplyCurrLim_Impl_1.0.1
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#24631


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































N/AMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


N/ADavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0


0









Component developer reviewers:









0.5



0


0


1





Other reviewers:









1



0


0









Total hours









2



0


0


2




































Content reviewed





























Lines of code:


changes only


Elements of .arxml content:




changes only

Pages of documentation:



N/A































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

06/06/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwSplyCurrLim.c
Source File Revision:


2
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwSplyCurrLim_MDD.docx
Revision:
1

























SWC Design Name:


CF045A_BmwSplyCurrLim_Design
Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







N/A
Comments:

for changes








































for constant names







N/A
Comments:

for changes








































for function names







N/A
Comments:

for changes








































for other names (component, memory







N/A
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








N/A
Comments:

for changes
written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







Yes
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







Yes
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

06/06/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Tomasz Lukomski



Comments:
















































Integrator and or
SW lead:
Akilan Rathakrishnan



Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 4: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwSplyCurrLim.c




Source File Revision:


2

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

06/06/18


































Lead Peer Reviewer:


Krzysztof Byrski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 5: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 6: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

10 - Component Implementation

Component Implementation

Component Documentation

10.1 - BmwStReqMgr_IntegrationManual

Integration Manual

For

BmwStReqMgr

VERSION: 1.0

DATE: 24-OCT-2017

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.024-Oct-2017

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions01.01.00
2Software Design and Coding Standards2.1
3CF069A_BmwStReqMgr_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwStReqMgrInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwStReqMgrPer1NoneRTE(2ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwStReqMgr_START_SEC_CODECode-

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

10.2 - BmwStReqMgr_MDD

Module Design Document

For

BmwStReqMgr

May 22, 2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrzysztof Byrski124-Oct-2017
Update to FDD 2.0.0Mateusz Bartocha214-Nov-17
Updated DiagramMatthew Leser310-Jan-18
Updated TargetECUState function inputsMatthew Leser423-Feb-18
Updated local functionsKrzysztof Byrski522-Mar-2018
Update to FDD 4.0.0Krzysztof Byrski622-May-2018


Table of Contents1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwStReqMgr & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwStReqMgr 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwStReqMgrInit1 8

5.1.2 Per: BmwStReqMgrPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function Override 9

5.4.2 Local Function CalcOfStsSteerAssiAndEpsFctSts 9

5.4.3 Local Function StsDrvrActvyTmr 10

5.4.4 Local Function AssiOnToOffFlg 10

5.4.5 Local Function AllwToOff 11

5.4.6 Local Function TargetECUState 11

5.5 GLOBAL Function/Macro Definitions 12

6 Known Limitations with Design 13

7 UNIT TEST CONSIDERATION 14

Appendix A Abbreviations and Acronyms 15

Appendix B Glossary 16

Appendix C References 17

Introduction

Purpose

Module Design Document for CF069A_BmwStReqMgr_Impl

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwStReqMgr & High-Level Description

This function will be responsible for requesting transitions between the states and modes of the steering system based on vehicle signals.

Design details of software module

Graphical representation of BmwStReqMgr

Data Flow Diagram

Refer FDD

Component level DFD

None

Function level DFD

None

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
-

*Refer FDD for local constants

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function Override

Function NameOverrideTypeMinMax
Arguments PassedBmwVehCdnVld_Cnt_T_loglbooleanFALSETRUE
BmwVehCdn_Cnt_T_enumenum115
Return ValueBmwVehCdnVld_Cnt_T_loglbooleanFALSETRUE
BmwVehCdn_Cnt_T_enumenum115

Design Rationale

Refer FDD

Processing

Implementation of Simulink block Override

Local Function CalcOfStsSteerAssiAndEpsFctSts

Function NameCalcOfStsSteerAssiAndEpsFctStsTypeMinMax
Arguments PassedSysSt_Cnt_T_enumenum03
ThermRednFac_Uls_T_f32float3201
RcvrlFltPrsnt_Cnt_T_loglbooleanFALSETRUE
DiagcStsNonRcvrlReqDiFltPrsnt_Cnt_T_loglbooleanFALSETRUE
PwrLimrRednFac_Uls_T_f32float3201
Return ValueStsSteerAssi_Cnt_T_enumenum01
BmwEpsFctSts_Cnt_T_enumenum96224

Design Rationale

Refer FDD

Processing

Implementation of Simulink block DeterminationOfStatusSteeringAssistAndEpsFctSts

Local Function StsDrvrActvyTmr

Function NameStsDrvrActvyTmrTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-1010
Return ValueStsDrvrActvy_Cnt_T_enumenum01

Design Rationale

Refer FDD

Processing

Implementation of Simulink block StsDrvrActvyTmr

Local Function AssiOnToOffFlg

Function NameAssiOnToOffFlgTypeMinMax
Arguments PassedDiagcStsNonRcvrlReqDiFltPrsnt_Cnt_T_loglbooleanFALSETRUE
BmwVehCdnVld_Cnt_T_loglbooleanFALSETRUE
BmwVehSpdSts_Cnt_T_enumenum115
VehSpd_Kph_T_f32float320350
BmwVehCdn_Cnt_T_enumenum115
StsDrvrActvy_Cnt_T_enumenum01
Return ValueAssiOnToOffFlg_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Implementation of Simulink block AssiOnToOffFlg

Local Function AllwToOff

Function NameAllwToOffTypeMinMax
Arguments PassedBmwVehCdn_Cnt_T_enumenum115
IgnLine_Cnt_T_loglbooleanFALSETRUE
Return ValueAllwToOff_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Implementation of Simulink block AllwToOff

Local Function TargetECUState

Function NameTargetECUStateTypeMinMax
Arguments PassedDiagcStsNonRcvrlReqDiFltPrsnt_Cnt_T_loglenumFALSETRUE
BmwVehCdn_Cnt_T_enumenum115
AssiOnToOffFlg_Cnt_T_loglbooleanFALSETRUE
AllwTranToDi_Cnt_T_loglbooleanFALSETRUE
IgnLine_Cnt_T_loglbooleanFALSETRUE
AllwToOff_Cnt_T_loglbooleanFALSETRUE
Return ValueTarEcuSt_Cnt_T_enumenum03
PwrSplyEnaReq_Cnt_T_loglbooleanFALSETRUE
SysStReqEna_Cnt_T_loglbooleanFALSETRUE
SysOperMotTqCmdSca_Uls_T_f32float01

Design Rationale

Refer FDD

Processing

Implementation of Simulink block TargetECUState

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF069A_BmwStReqMgr_DesignSee Synergy Sub Project Version

10.3 - BmwStReqMgr_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwStReqMgr
Revision / Baseline:


CF069A_BmwStReqMgr_Impl_4.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#22918


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0


0









Total hours









0.5



1


0


1.5




































Content reviewed





























Lines of code:


Changes only


Elements of .arxml content:




Changes only

Pages of documentation:



Changes only































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/22/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly















































All changed files have been compared against previous









Yes
Comments:




versions (If available) and changes match changes














needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









Yes
Comments:












































Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









N/A
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









Yes
Comments:




match DataDict.m file






































NVM blocks match DataDict.m file









N/A
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Krzysztof Byrski

Review Date :

05/25/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczyński

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:
Akilan Rathakrishnan

Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwStReqMgr.c
Source File Revision:


7
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwStReqMgr_MDD.docx
Revision:
6

























SWC Design Name:


CF069A_BmwStReqMgr_Design
Revision:
4.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







Yes
Comments:











































for other names (component, memory







N/A
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/22/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:






Grzegorz Szafranski








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwStReqMgr_MDD.docx
MDD Revision:

6


























Source File Name:


BmwStReqMgr.cSource File Revision:


7

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








N/A
Comments:













































Design rationale given for all global








N/A
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








N/A
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








N/A
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/22/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwStReqMgr.c




Source File Revision:


7

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

05/22/2018


































Lead Peer Reviewer:


Marek Brykczyński




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 8: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

11 - Component Implementation

Component Implementation

Component Documentation

11.1 - BmwSwFctDi_IntegrationManual

Integration Manual

For

BmwSwFctDi

VERSION: 1.0

DATE: 28-JUL-2018

Prepared By:

Akilan Rathakrishnan,

Nexteer Automotive,

Saginaw, MI, USA

Revision History

DescriptionAuthorVersionDate
Initial versionAkilan Rathakrishnan1.028-Jul-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions.doc01.00.00
2Software Design and Coding Standards.doc2.1
3CF108A_BmwSwFctDi _DesignSee Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

See DataDict.m file

Required Global Data Outputs

See DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwSwFctDiInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwSwFctDiPer1NoneRTE(10ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwSwFctDi_START_SEC_CODE

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

11.2 - BmwSwFctDi_MDD

Module Design Document

For

BmwSwFctDi

July 28, 2018

Prepared By:

Akilan Rathakrishnan,

Nexteer Automotive,

Saginaw, USA
Change History

DescriptionAuthorVersionDate
Initial versionAkilan Rathakrishnan1.028-Jul-2018
Updated Design rationale for periodic and init runnablesAkilan Rathakrishanan2.030-Jul-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwSwFctDi High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwVehSpd 8

3.2 Data Flow Diagram 9

3.2.1 Component level DFD 9

3.2.2 Function level DFD 9

4 Constant Data Dictionary 10

4.1 Program (fixed) Constants 10

4.1.1 Embedded Constants 10

5 Software Component Implementation 11

5.1 Sub-Module Functions 11

5.1.1 BmwSwFctDiInit1 11

5.1.1.1 Design Rationale 11

5.1.1.2 Module Outputs 11

5.1.2 BmwSwFctDiPer1 11

5.1.2.1 Design Rationale 11

5.1.2.2 Module Outputs 11

5.2 Server Runnables 11

5.3 Interrupt Functions 11

5.3.1 Interrupt Function Name 11

5.4 Module Internal (Local) Functions 11

5.4.1 UpdCodingBits 11

5.4.2 ReadCodingData 11

5.4.3 PullCmpCmdDiBmwOvrd 12

5.4.4 InertiaCmpVelCmdDiBmwOvrd 12

5.4.5 ClsdLoopHysEna 12

5.4.6 CtrldVelRtnEna 12

5.4.7 OvrdCmdEna 12

5.5 GLOBAL Function/Macro Definitions 12

6 Known Limitations with Design 13

7 UNIT TEST CONSIDERATION 14

Appendix A Abbreviations and Acronyms 15

Appendix B Glossary 16

Appendix C Please references 17

Introduction

Purpose

Module Design Document for CF0108A_BmwSwFctDi_Impl

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwSwFctDi High-Level Description

This is BMW specific and will allow features to be disabled per customer requirements without altering multiple SF''s. It will also take a client call from the BAC module coding and output Boolean logic to allow BMW to disable the required features. This client call will be changing over time from BMW and this function allows change to happen in one component instead of adjusting all the CF components that need and output from this.

Design details of software module

Please refer FDD

Graphical representation of BmwVehSpd

Data Flow Diagram

Please refer FDD

Component level DFD

Please refer FDD

Function level DFD

Please refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Please refer .m file for constants

Software Component Implementation

Sub-Module Functions

BmwSwFctDiInit1

Design Rationale

Implementation of the init runnable differs from design due to the way this component need to interact with BMW BAC Coding component.

Module Outputs

None

BmwSwFctDiPer1

Design Rationale

Implementation of the periodic differs from design due to the way this component need to interact with BMW BAC Coding component.

Module Outputs

None

Server Runnables

None

Interrupt Functions

None

Interrupt Function Name

None

Module Internal (Local) Functions

UpdCodingBits

Function NameUpdCodingBitsTypeMinMax
Arguments PassedCodingDataMode_Cnt_T_u08Uint805
Return ValueNone---

ReadCodingData

Function NameReadCodingDataTypeMinMax
Arguments PassedCodingDataMode_Cnt_T_u08uint805
Return ValueNone---

PullCmpCmdDiBmwOvrd

Function NameVehSpdRateLimTypeMinMax
Arguments PassedPullCmpCmdDi_Cnt_T_loglBooleanFALSETRUE
Return ValuePullCmpCmdDiBmwOvrd_Cnt_T_loglBooleanFALSETRUE

InertiaCmpVelCmdDiBmwOvrd

Function NameInertiaCmpVelCmdDiBmwOvrdTypeMinMax
Arguments PassedInertiaCmpVelCmdDi_Cnt_T_loglbooleanFALSETRUE
Return ValueInertiaCmpVelCmdDiBmwOvrd_Cnt_T_loglbooleanFALSETRUE

ClsdLoopHysEna

Function NameClsdLoopHysEnaTypeMinMax
Arguments PassedHwTqCmdHys_HwNwtMtr_T_f32Float32-1010
Return ValueHwTqCmdHysBmwOvrd_HwNwtMtr_T_f32Float32-1010

CtrldVelRtnEna

Function NameCtrldVelRtnEnaTypeMinMax
Arguments PassedCtrldVelRtnCmd_MotNwtMtr_T_f32Float32-8.88.8
Return ValueCtrldVelRtnCmdBmwOvrd_MotNwtMtr_T_f32Float32-8.88.8

OvrdCmdEna

Function NameProcessFourthAndGateStateTypeMinMax
Arguments PassedOvrdCal_Cnt_T_u08Uint80255
CodingBit_Cnt_T_u08Uint80255
Return ValueOvrlCmdEna_Cnt_T_loglbooleanFALSETRUE

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None.

UNIT TEST CONSIDERATION

  1. Client calls to BMW BAC Coding component are not listed in the design since this will require modeling 3rd party software.

Abbreviations and Acronyms

Abbreviation or AcronymDescription

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Please reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

Please references

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD: CF108A_BmwSwFctDi_DesignSee Synergy subproject version

11.3 - BmwSwFctDi_ReviewChecklist


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
Integration Manual
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwSwFctDi
Revision / Baseline:


CF108A_BmwSwFctDi_Impl_0.0.1
































Change Owner:


Akilan Rathakrishnan
Work CR ID:


EA4#26426


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































YesIntegration Manual


YesDavinci Files




















































































All required reviewers participated




























































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









2



1


0









Component developer reviewers:









0



1


0


4





Other reviewers:





























Total hours






















0




































Content reviewed





























Lines of code:


1032


Elements of .arxml content:







Pages of documentation:



































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








No
Comments:

Design not baselined due to logic change in the implementation









































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

07/30/18
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









No
Comments:




(compare against TL107B to ensure only implementation











BAC Coding "Data" port and "Coding_DataMode" ports are added in the component. These ports are not required to be part of StdDef since both of them are customer specific.

data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:









*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:










the configuration header file(s) correctly















































All changed files have been compared against previous









N/A
Comments:




versions (If available) and changes match changes











Initial Version

needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









No
Comments:




file) in all areas where arxml was changed and/or the











Design to be updated to match implementation

DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:


















































Naming conventions followed. All names should









Yes
Comments:










match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:










(name, data type, direction)






































Calibration port properties match DataDict.m file









No
Comments:

Additional calibrations are added during implementation.







(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:










DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:










DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:










removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:










and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









Yes
Comments:


















































Runnable port access matches the DataDict.m file










No
Comments:

BAC Coding component port accesses are not listed in the design















































DataDict.m display variables: created as









N/A
Comments:










PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









No
Comments:
Additional PIMs are needed








match DataDict.m file






































NVM blocks match DataDict.m file









N/A
Comments:










(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:














































































General Notes / Comments:





























































Review Board:



























Change Owner:

Akilan Rathakrishnan

Review Date :

07/30/18
Component Type :


Application




























Lead Peer Reviewer:


Matt Leser

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

























































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwSwFctDi.c
Source File Revision:


2
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwSwFctDi_MDD.docx
Revision:
2

























SWC Design Name:


CF108A_BmwSwFctDi_Design
Revision:
TBD


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01.00
























EA4 Software Naming Convention followed:











Version: 01.02.00

























for variable names







Yes
Comments:

















































for constant names







Yes
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:









written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:









from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:
















































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








No
Comments:

This components makes client calls to BAC Coding component interfaces.
or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








N/A
Comments:



changes needed as described by the work CR(s), all











Initial Version
parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:









(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







Yes
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All access of motor control loop data uses macros







N/A
Comments:










generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







Yes
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:










defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







No
Comments:

This components makes client calls to BAC Coding component interfaces.







Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:










standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments:









for any SWC Design corrections needed






















































General Notes / Comments:

















































































Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

07/30/18
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:









Comments:




















































Integrator and or
SW lead:









Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):









































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwSwFctDi_MDD.docx
MDD Revision:

2


























Source File Name:


BmwSwFctDi.cSource File Revision:


2

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:










and reviewed







































All Design Exceptions and Limitations are listed








Yes
Comments:



















































Design rationale given for all global








N/A
Comments:










data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








Yes
Comments:










Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








Yes
Comments:



















































General Notes / Comments:



























































Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

07/30/18
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: Integration Manual






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



BmwSwFctDi_IntegrationManual.docx

Integration Manual Revision:



1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








Yes
Comments:










































Changes Highlighted (for Integrator)








N/A
Comments:
















Initial Version

























General Notes / Comments:



























































Review Board:


























Change Owner:

Akilan Rathakrishnan


Review Date :

07/30/18
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

















































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:












































Sheet 7: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwSwFctDi.c




Source File Revision:


2

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







01.04.00







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:










function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










N/A
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Akilan Rathakrishnan




Review Date :

07/30/18


































Lead Peer Reviewer:


Matt Leser




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 8: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 9: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

12.1 - BmwTqOvrlCdngAndDrvgDynFac_IntegrationManual

Integration Manual

For

BmwTqOvrlCdngAndDrvgDynFac

VERSION: 1.0

DATE: 26-APR-2018

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionMarek Brykczyński1.017-Apr-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF011A_BmwTqOvrlCdngAndDrvgDynFac_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwTqOvrlCdngAndDrvgDynFacInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwTqOvrlCdngAndDrvgDynFacPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwTqOvrlCdngAndDrvgDynFac_START_SEC_CODECodeN/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

N/A

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

12.2 - BmwTqOvrlCdngAndDrvgDynFac_MDD

Module Design Document

For

BmwTqOvrlCdngAndDrvgDynFac

April 26, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial versionMarek Brykczyński126-Apr-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwTqOvrlCdngAndDrvgDynFac & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwTqOvrlCdngAndDrvgDynFac 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 8

3.2.2 Function level DFD 8

4 Constant Data Dictionary 9

4.1 Program (fixed) Constants 9

4.1.1 Embedded Constants 9

5 Software Component Implementation 10

5.1 Sub-Module Functions 10

5.1.1 Init: BmwTqOvrlCdngAndDrvgDynFacInit1 10

5.1.2 Per: BmwTqOvrlCdngAndDrvgDynFacPer1 10

5.2 Server Runables 10

5.3 Interrupt Functions 10

5.4 Module Internal (Local) Functions 11

5.4.1 CalcCdndTqOvrl 11

5.4.2 CalcnDampgCmdSca 11

5.4.3 CalcnEffortCmdSca 11

5.4.4 CalcnLimdCdndTqOvrl 11

5.4.5 CalcnRtnCmdSca 12

5.4.6 StTranDetn 12

5.4.7 TqOvrlCdng 12

5.5 GLOBAL Function/Macro Definitions 12

6 Known Limitations with Design 14

7 UNIT TEST CONSIDERATION 15

Appendix A Abbreviations and Acronyms 16

Appendix B Glossary 17

Appendix C References 18

Introduction

Purpose

Module Design Document for CF040A_BmwTqOvrlCdngAndDrvgDynFac_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwTqOvrlCdngAndDrvgDynFac & High-Level Description

The BMW Torque Overlay Conditioning And Driving Dynamic Factor function handles the filtering and ramping of the BMW Output Torque Overlay Command functionality and conditioning of the BMW Driving Dynamic Factors for Effort/Assist, Return and Damping.

Design details of software module

Graphical representation of BmwTqOvrlCdngAndDrvgDynFac

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
-

Refer FDD for local constants.

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: BmwTqOvrlCdngAndDrvgDynFacInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: BmwTqOvrlCdngAndDrvgDynFacPer1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

CalcCdndTqOvrl

Function NameCalcCdndTqOvrlTypeMinMax
Arguments PassedFildBmwTarSteerTqDrvrActr_MotNwtMtr_T_f32float32-8.88.8
BmwTarSteerTqDrvrActr_MotNwtMtr_T_f32float32-8.88.8
BmwDrvgDynErrIfActv_Cnt_T_loglbooleanFALSETRUE
Return ValueCdndTqOvrl_MotNwtMtr_T_f32float32-8.88.8

CalcnDampgCmdSca

Function NameCalcnDampgCmdScaTypeMinMax
Arguments PassedDrvgDynActv_Cnt_T_loglbooleanFALSETRUE
ReqdDampgCmdSca_Uls_T_f32float3201
DrvgDynActvTrig_Cnt_T_loglbooleanFALSETRUE
Return Value----

CalcnEffortCmdSca

Function NameCalcnEffortCmdScaTypeMinMax
Arguments PassedDrvgDynActv_Cnt_T_loglbooleanFALSETRUE
ReqdEffortCmdSca_Uls_T_f32float3212
DrvgDynActvTrig_Cnt_T_loglbooleanFALSETRUE
Return Value----

CalcnLimdCdndTqOvrl

Function NameCalcnLimdCdndTqOvrlTypeMinMax
Arguments PassedCdndTqOvrl_MotNwtMtr_T_f32float32-8.88.8
VehSpd_Kph_T_u9p7uint16068408
Return Value----

CalcnRtnCmdSca

Function NameCalcnRtnCmdScaTypeMinMax
Arguments PassedDrvgDynActv_Cnt_T_loglbooleanFALSETRUE
ReqdRtnCmdSca_Uls_T_f32float3201
DrvgDynActvTrig_Cnt_T_loglbooleanFALSETRUE
Return Value----

StTranDetn

Function NameStTranDetnTypeMinMax
Arguments PassedDrvgDynIfSt_Cnt_T_u08uint832255
BmwTarSteerTqDrvrActr_MotNwtMtr_T_f32float32-8.88.8
FildBmwTarSteerTqDrvrActr_MotNwtMtr_T_f32float32-8.88.8
Return ValueOutpRstTrig_Cnt_T_loglbooleanFALSETRUE

TqOvrlCdng

Function NameTqOvrlCdngTypeMinMax
Arguments PassedDrvgDynIfSt_Cnt_T_u08uint832255
BmwTarSteerTqDrvrActr_MotNwtMtr_T_f32float32-8.88.8
VehSpd_Kph_T_u9p7uint16068408
BmwDrvgDynErrIfActv_Cnt_T_loglbooleanFALSETRUE
Return ValueOutpRstTrig_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF011A_BmwTqOvrlCdngAndDrvgDynFac_DesignSee Synergy Sub Project Version

12.3 - BmwTqOvrlCdngAndDrvgDynFac_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
Integration Manual
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwTqOvrlCdngAndDrvgDynFac
Revision / Baseline:


CF040A_BmwTqOvrlCdngAndDrvgDynFac_Impl_1.0.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#21202


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































YesIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0


0









Component developer reviewers:









0.5



0


0


1





Other reviewers:









0



0


0









Total hours









1



0


0


1




































Content reviewed





























Lines of code:


all


Elements of .arxml content:




all

Pages of documentation:



N/A































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/26/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the










N/A for changes










change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly











N/A for changes


































All changed files have been compared against previous









Yes
Comments:




versions (If available) and changes match changes














needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









N/A
Comments:

















N/A for changes

























Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









Yes
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









N/A
Comments:




match DataDict.m file











N/A for changes

























NVM blocks match DataDict.m file









N/A
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Marek Brykczyński

Review Date :

04/26/18
Component Type :


Application




























Lead Peer Reviewer:


Krzysztof Byrski

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwTqOvrlCdngAndDrvgDynFac.c
Source File Revision:


1
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwTqOvrlCdngAndDrvgDynFac_MDD.docx
Revision:
1

























SWC Design Name:


CF040A_BmwTqOvrlCdngAndDrvgDynFac_Design
Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







Yes
Comments:











































for other names (component, memory







N/A
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







Yes
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







Yes
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/26/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Patryk Kołacki



Comments:
















































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwTqOvrlCdngAndDrvgDynFac_MDD.docx
MDD Revision:

1


























Source File Name:


BmwTqOvrlCdngAndDrvgDynFac.cSource File Revision:


1

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








N/A
Comments:













































Design rationale given for all global








N/A
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








N/A
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








N/A
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/26/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwTqOvrlCdngAndDrvgDynFac.c




Source File Revision:


1

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.3.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

04/26/18


































Lead Peer Reviewer:


Krzysztof Byrski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: Integration Manual






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



BmwTqOvrlCdngAndDrvgDynFac_IntegrationManual.doc

Integration Manual Revision:



1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








N/A
Comments:










































Changes Highlighted (for Integrator)








N/A
Comments:











































General Notes / Comments:



























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/26/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

















































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:












































Sheet 8: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 9: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

13 - Component Implementation

Component Implementation

Component Documentation

13.1 - BmwTrfcJamAssiDampg_IntegrationManual

Integration Manual

For

BmwTrfcJamAssiDampg

VERSION: 1.0

DATE: 17-APR-2018

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionMarek Brykczyński1.017-Apr-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF011A_BmwTrfcJamAssiDampg_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwTrfcJamAssiDampgInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwTrfcJamAssiDampgPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwTrfcJamAssiDampg_START_SEC_CODECodeN/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

N/A

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

13.2 - BmwTrfcJamAssiDampg_MDD

Module Design Document

For

BmwTrfcJamAssiDampg

April 17, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial versionMarek Brykczyński117-Apr-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwTrfcJamAssiDampg & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwTrfcJamAssiDampg 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwTrfcJamAssiDampgInit1 8

5.1.2 Per: BmwTrfcJamAssiDampgPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 CalcnTrfcJamAssiSt 9

5.4.2 ProcessBmwTrfcJamAssiDampgErr 9

5.5 GLOBAL Function/Macro Definitions 9

6 Known Limitations with Design 10

7 UNIT TEST CONSIDERATION 11

Appendix A Abbreviations and Acronyms 12

Appendix B Glossary 13

Appendix C References 14

Introduction

Purpose

Module Design Document for CF011A_BmwTrfcJamAssiDampg_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwTrfcJamAssiDampg & High-Level Description

The BMW Traffic Jam Assist Damping provides a traffic jam assist damping functionality.

Design details of software module

Graphical representation of BmwTrfcJamAssiDampg

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
-

Refer FDD for local constants.

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: Per1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

Interrupt Functions

None

Module Internal (Local) Functions

CalcnTrfcJamAssiSt

Function NameCalcnTrfcJamAssiStTypeMinMax
Arguments PassedBmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
BmwTrfcJamAssiDampgScaReqVld_Cnt_T_loglbooleanFALSETRUE
BmwTrfcJamAssiDampgStReqVld_Cnt_T_loglbooleanFALSETRUE
Return ValueBmwTrfcJamAssiSt_T_Cnt_enumenum115

ProcessBmwTrfcJamAssiDampgErr

Function NameProcessBmwTrfcJamAssiDampgErrTypeMinMax
Arguments PassedBmwTrfcJamAssiDampgStReq_Cnt_T_enumenum115
BmwTrfcJamAssiDampgScaReqVld_Cnt_T_loglbooleanFALSETRUE
BmwTrfcJamAssiDampgStReqVld_Cnt_T_loglbooleanFALSETRUE
Return ValueBmwTrfcJamAssiDampgErr_Cnt_T_loglbooleanFALSETRUE

Design Rationale

Refer FDD

Processing

Refer FDD

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF011A_BmwTrfcJamAssiDampg_DesignSee Synergy Sub Project Version

13.3 - BmwTrfcJamAssiDampg_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
Integration Manual (Template)
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwTrfcJamAssiDampg
Revision / Baseline:


CF011A_BmwTrfcJamAssiDampg_Impl_1.0.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#20924


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































YesIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0


0









Component developer reviewers:









0.5



0


0


1





Other reviewers:









0



0


0









Total hours









1



0


0


1




































Content reviewed





























Lines of code:


all


Elements of .arxml content:




all

Pages of documentation:



N/A































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/17/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the










N/A for changes










change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:




the configuration header file(s) correctly











N/A for changes


































All changed files have been compared against previous









Yes
Comments:




versions (If available) and changes match changes














needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









N/A
Comments:

















N/A for changes

























Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









Yes
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









N/A
Comments:




match DataDict.m file











N/A for changes

























NVM blocks match DataDict.m file









N/A
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Marek Brykczyński

Review Date :

04/17/18
Component Type :


Application




























Lead Peer Reviewer:


Krzysztof Byrski

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwTrfcJamAssiDampg.c
Source File Revision:


1
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwTrfcJamAssiDampg_MDD.docx
Revision:
1

























SWC Design Name:


CF011A_BmwTrfcJamAssiDampg_Design
Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







Yes
Comments:











































for other names (component, memory







N/A
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







Yes
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







Yes
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







Yes
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/17/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Patryk Kołacki



Comments:
















































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwTrfcJamAssiDampg_MDD.docx
MDD Revision:

1


























Source File Name:


BmwTrfcJamAssiDampg.cSource File Revision:


1

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








N/A
Comments:













































Design rationale given for all global








N/A
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








N/A
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








N/A
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/17/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwTrfcJamAssiDampg.c




Source File Revision:


1

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.3.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

04/17/18


































Lead Peer Reviewer:


Krzysztof Byrski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: Integration Manual (Template)






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



BmwTrfcJamAssiDampg_IntegrationManual.doc

Integration Manual Revision:



1





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








N/A
Comments:










































Changes Highlighted (for Integrator)








N/A
Comments:











































General Notes / Comments:



























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

04/17/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

















































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:












































Sheet 8: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 9: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

14 - Component Implementation

Component Implementation

Component Documentation

14.1 - BmwTunSetHndlr_IntegrationManual

Integration Manual

For

BmwTunSetHndlr

VERSION: 2.0

DATE: 17-MAY-2018

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Location: The official version of this document is stored in the Nexteer Configuration Management System.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.027-Mar-2018
2Updated to Design 3.0.0Krzysztof Byrski2.017-May-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
FDDFunctional Design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions1.02
2Software Design and Coding Standards2.01
3CF081A_BmwTunSetHndlr_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

BmwTunSetHndlr_Cfg.h

Da Vinci Parameter Configuration Changes

ParameterNotesSWC

BMWTUNSETHNDLR_DESININIDXNOTPRSNT_CNT_ENUM

(BmwTunSetHndlr\BmwTunSetHndlrGeneral\DESININIDXNOTPRSNT)

NTC “Desired Initialization Index Not Present”CF081A
BMWTUNSETHNDLR_DESININOPTSETAISXNOTPRSNT_CNT_ENUM (BmwTunSetHndlr\BmwTunSetHndlrGeneral\DESININOPTSETAISXNOTPRSNT)NTC “Desired Initialization Index Not Present”CF081A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer FDD

Required Global Data Outputs

Refer FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwTunSetHndlrInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwTunSetHndlrPer1NoneRTE(10ms)
TunVrntRead_OperNoneRTE(Event)
TunVrntWr_OperNoneRTE(Event)
MotVrntRead_OperNoneRTE(Event)
MotVrntWr_OperNoneRTE(Event)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwTunSetHndlr_START_SEC_CODECodeN/A

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM
N/A

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

*See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

14.2 - BmwTunSetHndlr_MDD

Module Design Document

For

BmwTunSetHndlr

May 17, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski127-Mar-2018
Updates per design 2.0.0Marek Brykczyński210-Apr-2018
Updates per design 3.0.0Krzysztof Byrski317-May-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 BmwTunSetHndlr & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of BmwTunSetHndlr 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

3.2.2 Function level DFD 6

4 Constant Data Dictionary 7

4.1 Program (fixed) Constants 7

4.1.1 Embedded Constants 7

5 Software Component Implementation 8

5.1 Sub-Module Functions 8

5.1.1 Init: BmwTunSetHndlrInit1 8

5.1.2 Per: BmwTunSetHndlrPer1 8

5.2 Server Runables 9

5.2.1 TunVrntRead_Oper 9

5.2.2 TunVrntWr_Oper 9

5.2.3 MotVrntRead_Oper 9

5.2.4 MotVrntWr_Oper 9

5.3 Interrupt Functions 10

5.4 Module Internal (Local) Functions 10

5.5 GLOBAL Function/Macro Definitions 10

6 Known Limitations with Design 11

7 UNIT TEST CONSIDERATION 12

Appendix A Abbreviations and Acronyms 13

Appendix B Glossary 14

Appendix C References 15

Introduction

Purpose

Module Design Document for CF081A_BmwTunSetHndlr_Impl.

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwTunSetHndlr & High-Level Description

The BMW Tuning Set Handler provides a desired Runtime Index of an integer type. As the input, the function receives the desired Runtime Index. If a received value is valid then the function maps it to one of three defined values. If the proper calibration is set then the function allows overriding the output to a calibratable value. The function provides two server runnables in order to write to and to read from the NVM. During the initialization, it evaluates if the NVM is valid, if the NVM is detected invalid then it stores a predefined constant.

Design details of software module

Graphical representation of BmwTunSetHndlr

Data Flow Diagram

Refer FDD

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
-

Refer FDD for local constants.

Software Component Implementation

Sub-Module Functions

The sub-module functions are grouped based on similar functionality that needs to be executed in a given “State” of the system (refer States and Modes). For a given module, the MDD will identify the type and number of sub-modules required. The sub-module types are described below.

Init: BmwTunSetHndlrInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: BmwTunSetHndlrPer1

Design Rationale

Refer FDD

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runables

TunVrntRead_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

TunVrntWr_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

MotVrntRead_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

MotVrntWr_Oper

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

Interrupt Functions

None

Module Internal (Local) Functions

None

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document. (See references)

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

References

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.4.0 R4.0 Rev 3
2MDD Guideline EA41.02
3EA4 Software Naming Conventions1.01
4Software Design and Coding Standards2.01
5CF081A_BmwTunSetHndlr_DesignSee Synergy Sub Project Version

14.3 - BmwTunSetHndlr_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
Integration Manual
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwTunSetHndlr
Revision / Baseline:


CF081A_BmwTunSetHndlr_Impl_3.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#22925


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































YesIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0.5


0









Component developer reviewers:









0



0.5


0


1.5





Other reviewers:









0



0.5


0









Total hours









0.5



1.5


0


2




































Content reviewed





























Lines of code:


Changes only


Elements of .arxml content:




Changes only

Pages of documentation:



Changes only































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












Yes
Comments:



*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









Yes
Comments:




the configuration header file(s) correctly















































All changed files have been compared against previous









Yes
Comments:




versions (If available) and changes match changes














needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:












































Naming conventions followed. All names should









Yes
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:




(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:




(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:




DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:




removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:




and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









Yes
Comments:












































Runnable port access matches the DataDict.m file










Yes
Comments:












































DataDict.m display variables: created as









N/A
Comments:




PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









Yes
Comments:




match DataDict.m file






































NVM blocks match DataDict.m file









Yes
Comments:




(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:








































































General Notes / Comments:





























































Review Board:



























Change Owner:

Krzysztof Byrski

Review Date :

05/17/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczyński

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:
















































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwTunSetHndlr.c
Source File Revision:


3
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwTunSetHndlr_MDD.docx
Revision:
3

























SWC Design Name:


CF081A_BmwTunSetHndlr_Design
Revision:
3.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments:











































for constant names







Yes
Comments:











































for function names







N/A
Comments:











































for other names (component, memory







Yes
Comments:




mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:



written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:



from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:










































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








Yes
Comments:



changes needed as described by the work CR(s), all













parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:



(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:










































All other includes are actually needed. (System includes








Yes
Comments:



only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:




and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:




standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:




contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:




braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:




is per standard





































All access of motor control loop data uses macros







N/A
Comments:




generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:




finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:




if needed: [N65]





































All integer division and modulus operations







N/A
Comments:




handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:




including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:




float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:




types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







Yes
Comments:




null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:




defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:




Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









Yes
Comments:




standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any SWC Design corrections needed































































General Notes / Comments:

















































































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:





Comments:






Patryk Kołacki








































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):


Joe Hagan





























































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwTunSetHndlr_MDD.docx
MDD Revision:

3


























Source File Name:


BmwTunSetHndlr.cSource File Revision:


3

Source File Name:


-Source File Revision:


-

Source File Name:


-Source File Revision:


-


























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:




and reviewed







































All Design Exceptions and Limitations are listed








Yes
Comments:













































Design rationale given for all global








N/A
Comments:




data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








Yes
Comments:




Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








Yes
Comments:













































General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwTunSetHndlr.c




Source File Revision:


3

Source File Name:


-




Source File Revision:


-

Source File Name:


-




Source File Revision:


-




























EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:



2013b





TL109A sub project version:

2.3.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:




function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










Yes
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

05/17/2018


































Lead Peer Reviewer:


Marek Brykczyński




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: Integration Manual






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



BmwTunSetHndlr_IntegrationManual.doc






Integration Manual Revision:



2





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








Yes
Comments:










































Latest template used








Yes
Comments:










































Change log contains detailed description of changes








Yes
Comments:










































Changes Highlighted (for Integrator)








Yes
Comments:











































General Notes / Comments:



























































Review Board:


























Change Owner:

Krzysztof Byrski


Review Date :

05/17/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

















































Other Reviewer(s):

































































Rationale/justification for items marked "No" approved by:












































Sheet 8: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 9: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released

15 - Component Implementation

Component Implementation

Component Documentation

15.1 - BmwVehSpd_IntegrationManual

Integration Manual

For

BmwVehSpd

VERSION: 1.0

DATE: 27-FEB-2018

Prepared By:

Matthew Leser,

Nexteer Automotive,

Saginaw, MI, USA

Revision History

DescriptionAuthorVersionDate
Initial versionMatthew Leser1.027-Feb-2018

Table of Contents

1 Abbrevations And Acronyms 4

2 References 5

3 Dependencies 6

3.1 SWCs 6

3.2 Global Functions(Non RTE) to be provided to Integration Project 6

4 Configuration REQUIREMeNTS 7

4.1 Build Time Config 7

4.2 Configuration Files to be provided by Integration Project 7

4.3 Da Vinci Parameter Configuration Changes 7

4.4 DaVinci Interrupt Configuration Changes 7

4.5 Manual Configuration Changes 7

5 Integration DATAFLOW REQUIREMENTS 8

5.1 Required Global Data Inputs 8

5.2 Required Global Data Outputs 8

5.3 Specific Include Path present 8

6 Runnable Scheduling 9

7 Memory Map REQUIREMENTS 10

7.1 Mapping 10

7.2 Usage 10

7.3 NvM Blocks 10

8 Compiler Settings 11

8.1 Preprocessor MACRO 11

8.2 Optimization Settings 11

9 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document

References

This section lists the title & version of all the documents that are referred for development of this document

Sr. No.TitleVersion
1EA4 Software Naming Conventions.doc01.00.00
2Software Design and Coding Standards.doc2.1
3CF080A_BmwVehSpd_DesignSee Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature
None

Note : Referencing the external components should be avoided in most cases. Only in unavoidable circumstance external components should be referred. Developer should track the references.

Global Functions(Non RTE) to be provided to Integration Project

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
None

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
None

Manual Configuration Changes

ConstantNotesSWC
None

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

See DataDict.m file

Required Global Data Outputs

See DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
BmwVehSpdInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
BmwVehSpdPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
BmwVehSpd_START_SEC_CODE

* Each …START_SEC… constant is terminated by a …STOP_SEC… constant as specified in the AUTOSAR Memory Mapping requirements.

Usage

FeatureRAMROM

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

15.2 - BmwVehSpd_MDD

Module Design Document

For

BmwVehSpd

June 22, 2018

Prepared By:

Marek Brykczyński,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial versionMatthew Leser1.027-Feb-2018
Updated according to design 3.0.0Marek Brykczyński2.025-Jun-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 BmwVehSpd High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of BmwVehSpd 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 7

3.2.2 Function level DFD 7

4 Constant Data Dictionary 8

4.1 Program (fixed) Constants 8

4.1.1 Embedded Constants 8

5 Software Component Implementation 9

5.1 Sub-Module Functions 9

5.1.1 BmwVehSpdInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 BmwVehSpdPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Module Outputs 9

5.2 Server Runnables 9

5.3 Interrupt Functions 9

5.3.1 Interrupt Function Name 9

5.4 Module Internal (Local) Functions 9

5.4.1 Cntr 9

5.4.2 VehSpdVldCalcn 10

5.4.3 VehSpdRateLim 10

5.4.4 ProcessSecondAndGateState 10

5.4.5 ProcessThirdAndGateState 10

5.4.6 ProcessSixthAndGateState 10

5.4.7 ProcessFourthAndGateState 11

5.4.8 ProcessThridConditionOfOrGate 11

5.5 GLOBAL Function/Macro Definitions 11

6 Known Limitations with Design 12

7 UNIT TEST CONSIDERATION 13

Appendix A Abbreviations and Acronyms 14

Appendix B Glossary 15

Appendix C Please references 16

Introduction

Purpose

Module Design Document for CF080A_BmwVehSpd_Impl

Scope

The following definitions are used throughout this document:

  • Shall: indicates a mandatory requirement without exception in compliance.

  • Should: indicates a mandatory requirement; exceptions allowed only with documented justification.

  • May: indicates an optional action.

BmwVehSpd High-Level Description

The BmwVehSpd software component is responsible for determining the Vehicle Speed.

Design details of software module

Please refer FDD

Graphical representation of BmwVehSpd

Data Flow Diagram

Please refer FDD

Component level DFD

Please refer FDD

Function level DFD

Please refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Please refer .m file for constants

Software Component Implementation

Sub-Module Functions

BmwVehSpdInit1

Design Rationale

Please refer FDD

Module Outputs

None

BmwVehSpdPer1

Design Rationale

Please refer FDD.

Module Outputs

None

Server Runnables

None

Interrupt Functions

None

Interrupt Function Name

None

Module Internal (Local) Functions

Cntr

Function NameCntrTypeMinMax
Arguments PassedCntrTrigInp_Cnt_T_loglbooleanFALSETRUE
SigValVld_Cnt_T_loglconst pointer to booleanFALSETRUE
CdnDurnSigValVld_Cnt_T_loglconst pointer to booleanFALSETRUE
Return ValueNone---

VehSpdVldCalcn

Function NameVehSpdVldCalcnTypeMinMax
Arguments PassedBmwSecurVehSpdSts_Cnt_T_enumuint8115
Return ValueVehSpdVld_Cnt_T_loglbooleanFALSETRUE

VehSpdRateLim

Function NameVehSpdRateLimTypeMinMax
Arguments PassedBmwSecurVehSpdSts_Cnt_T_enumuint8115
IntEpsVehSpd_Kph_T_f32float320350
Return Value*Rte_Pim_VehSpdLimPrev()float320511

ProcessSecondAndGateState

Function NameProcessSecondAndGateStateTypeMinMax
Arguments PassedBmwCogVehSpdVld_Cnt_T_loglbooleanFALSETRUE
BmwCogVehSpdQlfrVld_Cnt_T_loglbooleanFALSETRUE
BmwCogVehSpdQlfr_Cnt_T_enumuint8115
Return ValueSecondAndGateEval_Cnt_T_loglbooleanFALSETRUE

ProcessThirdAndGateState

Function NameProcessThirdAndGateStateTypeMinMax
Arguments PassedBmwCogVehSpdVld_Cnt_T_loglbooleanFALSETRUE
BmwCogVehSpdQlfrVld_Cnt_T_loglbooleanFALSETRUE
BmwCogVehSpdQlfr_Cnt_T_enumuint8115
Return ValueThirdAndGateEval_Cnt_T_loglbooleanFALSETRUE

ProcessSixthAndGateState

Function NameProcessSixthAndGateStateTypeMinMax
Arguments PassedBmwPinionAgQlfr_Cnt_T_enumbooleanFALSETRUE
Return ValueSixthAndGateEval_Cnt_T_loglbooleanFALSETRUE

ProcessFourthAndGateState

Function NameProcessFourthAndGateStateTypeMinMax
Arguments PassedThirdAndGateEval_Cnt_T_loglbooleanFALSETRUE
SixthAndGateEval_Cnt_T_loglbooleanFALSETRUE
Return Valuefunction’s return valuebooleanFALSETRUE

ProcessThridConditionOfOrGate

Function NameProcessThridConditionOfOrGateTypeMinMax
Arguments PassedBmwCogVehSpdQlfrVld_Cnt_T_loglbooleanFALSETRUE
CdnDurnSigValVld_Cnt_T_loglbooleanFALSETRUE
BmwCogVehSpdQlfr_Cnt_T_enumuint8115
Return ValueLogicResult_Cnt_T_loglbooleanFALSETRUE

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None.

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

Abbreviation or AcronymDescription

Glossary

Note: Terms and definitions from the source “Nexteer Automotive” take precedence over all other definitions of the same term. Terms and definitions from the source “Nexteer Automotive” are formulated from multiple sources, including the following:

  • ISO 9000

  • ISO/IEC 12207

  • ISO/IEC 15504

  • Automotive SPICE® Process Please reference Model (PRM)

  • Automotive SPICE® Process Assessment Model (PAM)

  • ISO/IEC 15288

  • ISO 26262

  • IEEE Standards

  • SWEBOK

  • PMBOK

  • Existing Nexteer Automotive documentation

TermDefinitionSource
MDDModule Design Document
DFDData Flow Diagram

Please references

Ref. #TitleVersion
1AUTOSAR Specification of Memory Mapping (Link:AUTOSAR_SWS_MemoryMapping.pdf)v1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD: CF080A_BmwVehSpd_DesignSee Synergy subproject version

15.3 - BmwVehSpd_ReviewChecklist


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



BmwVehSpd
Revision / Baseline:


CF080A_BmwVehSpd_Impl_3.0.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#24330


































Modified File Types:






Check the file types that needed modification for the Work CR(s); macros for the check boxes will populate the appropriate checklist tabs for the review.
























































































































































































Review Checklist Summary:





































Reviewed:








At start of review, all items below should be marked "No". At the end of the review, all items should be marked "Yes" or "N/A" where N/A indicates the reviewers have reviewed the existing (unchanged) item and confirmed no updates were needed for the Work CR(s).




























































YesMDD


YesSource Code


YesPolySpace

















































N/AIntegration Manual


YesDavinci Files




















































































All required reviewers participated





Yes





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0.5



0


0









Component developer reviewers:









0.5



0.5


0


1.5





Other reviewers:









0



0


0









Total hours









1



0.5


0


1.5




































Content reviewed





























Lines of code:


changes only


Elements of .arxml content:




changes only

Pages of documentation:



changes only































































































General Guidelines:
- The reviews shall be performed over the portions of the component that were modified as a result of the Change Request.
- New components should include SWC Owner and/or SWC Design author and Integrator and/or SW Lead as apart of the Group Review Board (Source Code, Integration Manual, and Davinci Files)
- Enter any rework required into the comment field and select No. When the rework is complete, review again using this same review sheet and select Yes. Add date and additional comment stating that the rework is completed.
- To review a component with multiple source code files use the "Add Source" button to create a Source code tab for each source file.
- .h file should be reviewed with the source file as part of the source file.

Each peer review shall start with a clean copy of the latest peer review checklist template. Save in the doc folder of the component implementation, with the file name in the format SWCShortName_Review.xlsx. If the existing review in Synergy has a different name, the name must be changed IN SYNERGY (rather than by syncing in a new file with the new name) so that the file history will be properly maintained.

Before the peer review, the change owner shall: (NOTE - time for completing these items is to be counted as the Change Owner Review Prep Time)
o Review the previous component peer review and copy any relevant comments to the new review sheet.
o Review all checklist items and make all corrections needed, so that the component is ready for peer review. The expectation is that peer review should find very few issues,
because the change owner has already used the checklist to ensure the component changes are complete and correct.
o Fill in all file name and version information as needed on peer review checklist tabs (file names may be copied from the previous peer review where appropriate)
o Fill in checklist answers (Yes/No/NA pulldowns) ONLY on those items which are NA for the current change. All other checklist items should be blank going into the review
meeting.

During the peer review meeting:
o For each page of the review, first review the items already marked as N/A for this change, to confirm that reviewers agree with this assessment; change the checklist box to
blank if it is found that the item does apply.
o Then review the items with the checklist box blank. After reviewing each of these items, the checklist box will be marked as "Yes", or the checklist box will be marked as
"No" with needed rework indicated or with rationale indicated.
o If any items are marked "No" with rationale indicated, this must be approved by a software supervisor or the software manager; there is a line in the "Review Board" section
of each tab to indicate who approved the "No" items on that tab.





Sheet 2: Synergy Project






















Rev 2.0121-Feb-18

























Peer Review Meeting Log (Component Synergy Project Review)



















































Quality Check Items:




































Rationale is required for all answers of No










New baseline version name from Summary Sheet follows








Yes
Comments:



naming convention





































Project contains necessary subprojects








Yes
Comments:










































Project contains the correct version of subprojects








Yes
Comments:










































Design subproject is correct version








Yes
Comments:












































.gpj file in tools folder matches .gpj generated by TL109 script








Yes
Comments:













































File/folder structure is correct per documentation in









Yes
Comments:




TL109A_SwcSuprt







































General Notes / Comments:
























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

25/6/2018
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 3: Davinci Files






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Davinci Review)



























Quality Check Items:






































Rationale is required for all answers of No










Only StdDef Port interfaces and datatypes are used









Yes
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









Yes
Comments:












































Do all port interface names end in PortIf and a sequence









Yes
Comments:




number






































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format






































For components with generated configurable content:












N/A
Comments:









*Cfg.arxml.TT: Verfied Davinci Configurator imported the






















change correctly















































*Cfg.h.TT: Verfied Davinci Configurator generates









N/A
Comments:










the configuration header file(s) correctly















































All changed files have been compared against previous









N/A
Comments:




versions (If available) and changes match changes











Initial Version

needed as described by the work CR(s), all parent CRs























and parent anomalies, and the SWC Design change log.















































Davinci files accurately implement SWC Design (DataDict.m









Yes
Comments:




file) in all areas where arxml was changed and/or the














DataDict.m file was changed as shown by























comparing the DataDict.m from the current SWC Design























with the DataDict.m used in the previous implementation.























(This is NOT always the predecessor.)
















































Automated validation check is performed with no issues found










Yes
Comments:


















































Naming conventions followed. All names should









Yes
Comments:










match DataDict.m






































Sender/Receiver port properties match DataDict.m file









Yes
Comments:










(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:










(name, data type)






































Sender/Receiver port initialization values match









Yes
Comments:










DataDict.m file and have been converted to counts














for fixed point types















































Calibration port initialization values match









Yes
Comments:










DataDict.m file and have been converted to counts














for fixed point types















































Mapping set and all unused items have been









Yes
Comments:










removed






































All sender/receiver port read/writes using "Write (explicit)"










Yes
Comments:










and "Read (explicit by argument)"(List justification if not)






































Runnable calling frequencies match DataDict.m file









Yes
Comments:


















































Runnable port access matches the DataDict.m file










Yes
Comments:


















































DataDict.m display variables: created as









N/A
Comments:










PerInstanceMemory. Name and data type match DataDict.m file.






































Per Instance Memory names and data types









Yes
Comments:










match DataDict.m file






































NVM blocks match DataDict.m file









N/A
Comments:










(Named per naming convention. Default block














used if specified in DataDict.m file. Data type























matches DatatDict.m file)















































Component is correct component type









Yes
Comments:














































































General Notes / Comments:





























































Review Board:



























Change Owner:

Marek Brykczyński

Review Date :

25/6/2018
Component Type :


Application




























Lead Peer Reviewer:


Krzysztof Byrski

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

























































Other Reviewer(s):




































































Rationale/justification for items marked "No" approved by:














































Sheet 4: Source Code






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


BmwVehSpd.c
Source File Revision:


2
Header File Name:


-
Header File Revision:


-

























MDD Name:


BmwVehSpd_MDD.docx
Revision:
2

























SWC Design Name:


CF080A_BmwVehSpd_Design
Revision:
3.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 01.01.00
























EA4 Software Naming Convention followed:











Version: 01.02.00

























for variable names







Yes
Comments:

















































for constant names







Yes
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































Verified no possibility of uninitialized variables being








Yes
Comments:









written to component outputs or IRVs





































Any requirements traceability tags have been removed








N/A
Comments:









from at least the changed areas of code





































All variables are declared at the function level.








Yes
Comments:
















































Synergy version matches change history








Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



(including any anomaly number(s) being fixed) and













Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



or Model) in all areas where code was changed and/or













Simulink model was color-coded as changed and/or






















mentioned in SWC Design change log.













































Code comparison against previous version matches








N/A
Comments:



changes needed as described by the work CR(s), all











Initial Version
parent CRs and parent anomalies, and the SWC






















Design change log.














































Verified no Compiler Errors or Warnings








Yes
Comments:









(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








N/A
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







Yes
Comments:










and have been updated for the change: [N40] and













all other rules in the same section as rule [N40],






















plus [N75], [N12], [N23], [N33], [N37], [N38],






















[N48], [N54], [N77], [N79], [N72]














































Source file (.c and .h) comment blocks are per







Yes
Comments:










standards and contain correct information: [N41], [N42]





































Function comment blocks are per standards and







N/A
Comments:










contain correct information: [N43]





































Code formatting (indentation, placement of







Yes
Comments:










braces, etc.) is per standards: [N5], [N55], [N56],













[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All access of motor control loop data uses macros







N/A
Comments:










generated by the motor control manager





































All loops have termination conditions that ensure







N/A
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







N/A
Comments:










if needed: [N65]





































All integer division and modulus operations







N/A
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







N/A
Comments:










including all use of fixed point macros and













timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsigned conversions ensure the.







N/A
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










types handle msb==1 as intended: [N78]





































All pointer dereferencing protects against







N/A
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







Yes
Comments:










defined in the SWC Design DataDict.m file : [N53]





































All code is mapped with SWC Design (all SWC







Yes
Comments:










Design subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some SWC Design subfunction and/or model block):






















[N40]














































Any other violations of design and coding









N/A
Comments:










standards noticed during the review are noted in the













comments section for rework.













































Anomaly or Design Work CR created








N/A
Comments:









for any SWC Design corrections needed






















































General Notes / Comments:

















































































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

25/6/2018
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Adrian Legowski







Comments:




















































Integrator and or
SW lead:









Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):









































































Rationale/justification for items marked "No" approved by:





































































Sheet 5: MDD






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

BmwVehSpd_MDD.docx
MDD Revision:

2


























Source File Name:


BmwVehSpd.cSource File Revision:


2

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches document








Yes
Comments:













































Change log contains detailed description of changes








Yes
Comments:













































Changes Highlighted (for Unit Tester)








Yes
Comments:













































Diagrams have been included per MDD Guideline








Yes
Comments:










and reviewed







































All Design Exceptions and Limitations are listed








N/A
Comments:



















































Design rationale given for all global








N/A
Comments:










data not communicated through RTE ports, per














Design and Coding Standards rules [N9] and [N10].
















































All implementation details that differ from the SWC








N/A
Comments:










Design are noted and explained in Design Rationale







































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

25/6/2018
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Rationale/justification for items marked "No" approved by:












































Sheet 6: PolySpace






















Rev 2.0121-Feb-18
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


BmwVehSpd.c




Source File Revision:


2

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







01.04.00







Poly Space version:



2013b





TL109A sub project version:

2.5.0



































Quality Check Items:








































Rationale is required for all answers of No





































tools/local folders' header files are appropriate and










Yes
Comments:










function prototypes match the latest component version











































100% Compliance to the EA4 Static Analysis

Yes
Comments:




Compliance Guideline











































Are previously added justification and deviation










N/A
Comments:




comments still appropriate











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags











































For any component source files (.c, .h, generated Cfg.c and Cfg.h)












N/A
Comments:




with conditional compilation, has Polyspace been run with all

















combinations of build constants that can be used together in a build?

























(Note which conditional compilation results have been archived)




















































Codemetrics count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

25/6/2018


































Lead Peer Reviewer:


Krzysztof Byrski




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































Rationale/justification for items marked "No" approved by:
















































Sheet 7: help

Summary sheet:






Intended Use: Identify which component is being reviewed. This should match the component short name from the DataDict.m fileand the middle part of the Synergy project name, e.g. Assi for the SF001A_Assi_Impl Synergy project







Intended Use: Identify the implementation baseline name intended to be used for the changed component when changes are approved E.g. SF001A_Assi_Impl_1.2.0





Intended Use: Identify the developer who made the change(s) being reviewed




Intended Use: Identify the Implementation Work CR whose work is being reviewed (may be more than one)




Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed.





Source code:





This item includes looking at all layers of Simulink model for possible color coding not reflected at a higher level, and includes looking at any intermediate SWC Design versions between the version being implemented and the version that was included as a subproject in the previous implementation.
Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified
file in the working project)





Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)



Intended Use: Synergy version number of the file being reviewed. (Version number that Synergy displays on the checked out or unmodified file in the working project)







Intended Use: For SWC Designs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the SWC Design baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1"









Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s).















Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored).













Intended Use: list version/revision of latest released Software Design and Coding Standards document.





Davinci Files





Intended Use: Identify if previous version was compared and only the expected change(s) was present. This is for text files only, not binary or GUIs








Polyspace





eg. 2013b





Integration manual





Intended Use: Identify which file is being reviewed





Intended Use: Identify which version of the integration manual has been reviewed.



Synergy





Refer to EA4 Common Naming Conventions document, section “Synergy Baseline Names for core components”





The following subprojects should be included for all component implementations:
• AR200A_ArSuprt_Impl
• AR201A_ArCplrSuprt_Impl
• TL101A_CptRteGen
• TL103A_CplrSuprt
• TL109A_SwcSuprt
• Corresponding _Design project used for the implementation

The following subprojects should be included as needed by each component:
• AR10xx_Nxtr*_Impl library components as needed by each component
• AR202x_MicroCtrlrSuprt_Impl as needed (for register header files for components making direct register access)[add notes about when to add a stub header file]
• Xx999x_xxxxGlbPrm_Impl as needed by each component
• TL105A_Artt for components with generated content

The following should NOT be included as subprojects:
• TL107x_DavinciSuprt (aka StdDef)
• TL100A_QACSuprt (QAC subproject was previously included but should be removed going forward)
• Any other component (not mentioned anywhere above) whose .h file is needed. For these components, a “stub” .h file should be created, containing only the multiple include protection and the definitions and function prototypes actually needed by the component with the #include, and placed in the “including” component’s local\include folder.

misc in Summary sheet





(integrator, designer, unit test coordinator, etc.)





For a new component, use number of lines in all source files reviewed, including files in the src and include folders and any generated cfg.h and cfg.c files.  For a changed component, try to add up how many lines, including comments and blank lines, were in the changed areas that were reviewed. Not just the actual changed lines, but the number of lines in the blocks of code you had to look at to review the change.
add up the number of ports, number of PIM variables, number if IRVs, number of runnables, number of NVM blocks in the component  (all of them for review of a new component, the new and modified ones for review of a change)
add the number of pages in the MDD and integration manual for a new component; for a modified component, count the number of pages that contained a change.












ReviewerRequired attendance for this type of changeReview spreadsheet tab(s)
Component group peerAllAll
Component owner and/or SWC Design author*Initial creation of any new component
*Simulink model changes (any change to the model other than just updating the change log)
Source
Integrator and/or SW lead of first program planning to use the component*Initial creation of any new component
*new or changed NVM blocks, NVM datatypes, or NVM usage (added or removed or changed NVM API calls in any runnable)
*Major rev (X changed in the X.Y.X design baseline number; means there was a component interface change)
*new or changed config params
*all MM component changes
Davinci files, Integration manual, source for NVM changes and for all MM component changes.
Unit test coordinatorFixes for coverage issuesSource
SQANoneNone








For each reviewer category listed on each tab, there should either be
• the name of the reviewer who attended
or
• a comment indicating
o why that reviewer was not required for this change
or
o who approved holding the review without that required reviewer (approval must
be from the software manager or a software supervisor)


Sheet 8: Version History















File Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus






Draft/ Released






































































Template Version History





VersionDescriptionAuthor(s)Revision DateApproved ByApproved DateStatus
1.0Initial VersionSW Engineering team24-May-15NANAReleased
1.01Changed name to be EA4 specificSW Engineering team25-Jun-15NANAReleased
1.02Modified Summary Sheet General Guidelines, Clarified wording on first item in Synergy project sheet.SW Engineering team30-Jul-15NANAReleased
1.02Made corrections and clarifications to Source Code check list.SW Engineering team30-Jul-15NANAReleased
1.02updated Davinci, MDD, and Polyspace/QAC tabsSW Engineering team30-Jul-15NANAReleased
1.03Aligned to portal version guidelinesUmesh Sambhari21-Nov-17NANAReleased
2.00Summary sheet template:
Changed title to indicate Implementation Peer Review
Corrected and/or clarified mouse hover comments, added instructions, renamed some fields.
Changed the default setting to "No" on the items reviewed
SW Engineering team29-Nov-17Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod ShankarNAReleased
Source code template:
Removed hyperlink for naming conventions, corrected name of naming conventions document, added version field for naming conventions document.
Changed item about requirements tags to reflect that they should be removed
Added clarification that all combinations of conditionally compiled code must be checked
Item about accurately implementing SWC Design is modified and a new item added, both to clarify where to look when determining needed changes.
Added point for version of common naming conventions
Reworded multiple items for clarity
SW Engineering team29-Nov-17
Synergy project template:
added items for file/folder structure
added point on .gpj file in tools folder
SW Engineering team29-Nov-17
Davinci files template:
Clarified the StdDef item
Added new item for OBSOLETE
Clarified item on datadict.m comparison
Removed the references to .m file helper tool
Updated to reflect that all component should now use only implementation data types
Added points on PIMs and NVMs
SW Engineering team29-Nov-17
All template tabs:
Added/clarified/removed mouse hover comments.
Updated Review Board section
Removed the gridlines from all tabs
Updated titles to say "Nexteer SWC Implementation Peer Review"
Changed all occurences of "FDD" to "SWC Design"
SW Engineering team29-Nov-17
2.01Added a help tab and appropriate links
Added field on Summary sheet to report hours spent and content reviewed
Changed wording in an item in Polyspace tab and Source code tab
SW Engineering team21-Feb-18Lonnie Newton, Steven Horwath, Kevin Smith, Lucas Wendling, Vinod Shankar21-Feb-18Released