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

Return to the regular view of this page.

System Function (Applicative Software)

System Function (Applicative Software)

1 - Component Implementation

Component Implementation

Component Documentation

1.1 - ClsdLoopDampg_IntegrationManual

Integration Manual

For

ClsdLoopDampg

VERSION: 2.0

DATE: 05-APR-2018

Prepared By:

TATA ELXSI,

INDIA

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski1.027-Feb-2018
2

Updated to add the include path present- sec 5.3

Updated sec 3.2 to explain the new Init function

Vipin David2.005-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.0.3 draft
2Software Design and Coding Standards3.0 draft
3SF072A_ClsdLoopDampg_DesignSee Synergy Sub Project Version

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

Note: There is a global Non-Rte function ClsdLoopDmpg_Init. This init function is generated by embedded coder and is not present in the Simulink model. This function is always empty and shall not be called.

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

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
ClsdLoopDampgInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
ClsdLoopDampgPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
ClsdLoopDampg_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

None

1.2 - ClsdLoopDampg_MDD

Module Design Document

For

ClsdLoopDampg

April 05, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

TATA ELXSI,

INDIA


Change History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKrzysztof Byrski127-Feb-2018
2

Updated to add the additional _Init function generated for autocode in Section 5.

Updated to add additional local constants required for autocode in Section 4.1.1.1

Vipin David205-Apr-2018


Table of Contents1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 ClsdLoopDampg & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of ClsdLoopDampg 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: ClsdLoopDampgInit1 8

5.1.2 Init: ClsdLoopDampg_Init 8

5.1.3 Per: ClsdLoopDampgPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 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 SF072A_ClsdLoopDampg_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.

ClsdLoopDampg & High-Level Description

This function produces a handwheel reference torque for the closed loop system. This function calculates damping torque based on motor velocity and scaled by factors such a rack force estimation. Closed Loop Damping shall be calibrated based on vehicle speed, and motor velocity. End of Travel shall affect the output signal command based on the EoT State, EoT Delta Angle and EoT Assist Scale.

Design details of software module

Graphical representation of ClsdLoopDampg

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 SF072A_ClsdLoopDampg_DataDict.m for details.

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: ClsdLoopDampgInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Init: ClsdLoopDampg_Init

Design Rationale

This init function is generated by embedded coder and is not present in the Simulink model.

This function is always empty and is not called.

Module Outputs

There are no outputs for this function.

Per: ClsdLoopDampgPer1

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.0.3 draft
4Software Design and Coding Standards3.0 draft
5SF072A_ClsdLoopDampg_DesignSee Synergy Sub Project Version

1.3 - ClsdLoopDampg_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:



ClsdLoopDampg
Revision / Baseline:


SF072A_ClsdLoopDampg_AGC_Impl_2.0.0
































Change Owner:


Nimmy Mathews
Work CR ID:


EA4#20917


































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:









1



1


0









Component developer reviewers:









0



1


0


3





Other reviewers:









0



0


0









Total hours









1



2


0


3




































Content reviewed





























Lines of code:


200


Elements of .arxml content:




1

Pages of documentation:



24































































































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:

Nimmy Mathews


Review Date :

04/16/18
































Lead Peer Reviewer:


Avinash James


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









N/A
Comments:




(compare against TL107B to ensure only implementation














data types are used)















































OBSOLETE/OBSELETE doesn’t appear in any arxml file









N/A
Comments:












































Do all port interface names end in PortIf and a sequence









N/A
Comments:




number






































Non-program-specific components saved









N/A
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









N/A
Comments:




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











Initial version

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:

















The init value of DampgCmdSca is changed from 0 to 1

























Naming conventions followed. All names should









N/A
Comments:




match DataDict.m






































Sender/Receiver port properties match DataDict.m file









N/A
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











The init value of DampgCmdSca is changed from 0 to 1

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









N/A
Comments:




removed






































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










N/A
Comments:




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






































Runnable calling frequencies match DataDict.m file









N/A
Comments:












































Runnable port access matches the DataDict.m file










N/A
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









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:
























The only change from the previous version is that the init value of DampgCmdSca has changed from 0 to 1



































Review Board:



























Change Owner:

Nimmy Mathews

Review Date :

04/16/18
Component Type :


Application




























Lead Peer Reviewer:


Avinash James

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:


ClsdLoopDampg.c
Source File Revision:


2
Header File Name:


ClsdLoopDampg.h
Header File Revision:


1

























MDD Name:


ClsdLoopDampg_MDD.docx
Revision:
2

























SWC Design Name:


SF072A_ClsdLoopDampg_AGC_Design
Revision:
2.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:1.0.1
























EA4 Software Naming Convention followed:











Version:1.0.3 draft

























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








No
Comments:



and Version Control version in file comment block











Need new rules for autocoding
























Change log contains detailed description of changes








No
Comments:



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











Need new rules for autocoding
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: 3.0 draft

























Code comments are clear, correct, and adequate







Yes
Comments:




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










Comments are autogenerated.Need new rules for autocoding

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]










Need new rules for autocoding

























Function comment blocks are per standards and







No
Comments:




contain correct information: [N43]










Need new rules for autocoding

























Code formatting (indentation, placement of







Yes
Comments:




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










As per the draft version 3.0

[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:




"magic numbers": [N12]










As per the draft version 3.0

























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:

Nimmy Mathews


Review Date :

04/16/18
































Lead Peer Reviewer:


Avinash James


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:

ClsdLoopDampg_MDD.docx
MDD Revision:

2


























Source File Name:


ClsdLoopDampg.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







































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:

Nimmy Mathews


Review Date :

04/16/18
































Lead Peer Reviewer:


Avinash James


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:


ClsdLoopDampg.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










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:

























The dimension for the 2D array is flipped manually in Rte_Stubs.h




































Review Board:




























Change Owner:

Nimmy Mathews




Review Date :

04/16/18


































Lead Peer Reviewer:


Avinash James




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:



ClsdLoopDampg_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:

Nimmy Mathews


Review Date :

04/16/18
































Lead Peer Reviewer:


Avinash James


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

2 - Component Implementation

Component Implementation

Component Documentation

2.1 - ClsdLoopHys_IntegrationManual

Integration Manual

For

ClsdLoopHys

VERSION: 1.0

DATE: 10-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.010-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
3SF073A_ClsdLoopHys_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
ClsdLoopHysInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
ClsdLoopHysPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
ClsdLoopHys_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

2.2 - ClsdLoopHys_MDD

Module Design Document

For

ClsdLoopHys

July 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ński110-May-2018

Added: New input port and local function

Modified: the function Interpolate

Marek Brykczyński217-July-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 ClsdLoopHys & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of ClsdLoopHys 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: ClsdLoopHysInit1 8

5.1.2 Per: ClsdLoopHysPer1 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 Interpolate 9

5.4.2 IntgtrLimCalcn 9

5.4.3 CompCalcn1 9

5.4.4 CompCalcn1 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

The Module Design Document for SF073A_ClsdLoopHys_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.

ClsdLoopHys & High-Level Description

The Closed Loop Hysteresis function shall provide a controllable hysteresis shaped Reference Handwheel Torque component based on a current Rack Load.

Design details of software module

Graphical representation of ClsdLoopHys

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

Interpolate

Function NameInterpolateTypeMinMax
Arguments Passed

Y_Tbl_1D:

- ClsdLoopHysDelta

- ClsdLoopHysGain

- ClsdLoopHysRho*

Pointer to const table with uint16010240 / 20480*
VehSpd_Kph_T_u9p7uint16065408
Return ValueA result of a conversion of fixed-point to float32float32010 / 20*

IntgtrLimCalcn

Function NameIntgtrLimCalcnTypeMinMax
Arguments PassedHwVel_HwRadPerSec_T_f32float32-4242
HwAg_HwRad_T_f32float32-25.1327419225.13274192
UpprIngtrLim_Uls_T_f32const pointer to float32-55
LwrIngtrLim_Uls_T_f32const pointer to float32-55
Return Value----

CompCalcn1

Function NameCompCalcn1TypeMinMax
Arguments PassedHwVel_HwRadPerSec_T_f32float32-4242
HysBasFac_Uls_T_f32float32-1010
Delta_Uls_T_f32float32010
Return ValueResult_T_Uls_f32Float32-4200042000

CompCalcn1

Function NameCompCalcn2TypeMinMax
Arguments PassedHwVel_HwRadPerSec_T_f32float32-4242
HysBasFac_Uls_T_f32float32-1010
Delta_Uls_T_f32float32010
Return ValueResult_T_Uls_f32float32-420037800

SysFricOffsLimdCalc

Function NameSysFricOffsLimdCalcTypeMinMax
Arguments PassedVehSpd_Kph_T_u9p7uint16065408
SysFricOffs_HwNwtMtr_T_f32float32-55
Return Valuereturn value of conversion from u2p14 to float32float3202

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
5SF073A_ClsdLoopHys_DesignSee Synergy Sub Project Version

2.3 - ClsdLoopHys_Review


Overview

Cover Page
Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
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:



ClsdLoopHys
Revision / Baseline:


SF073A_ClsdLoopHys_Design_2.0.0

























Change Owner:


Marek Brykczyński
Work CR ID:


EA4#25676



























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/AAuto Code



































YesIntegration 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/19/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:
*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













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 :

07/19/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:


ClsdLoopHys.c
Source File Revision:


2
Header File Name:


-
Header File Revision:


-

























MDD Name:


ClsdLoopHys_MDD.docx
Revision:
2

























SWC Design Name:


SF073A_ClsdLoopHys_Design
Revision:
2.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







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/19/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Grzegorz Szafrański



Comments:
















































Integrator and or
SW lead:





Comments:









































































Unit test co-ordinator:







Comments:
























































Other Reviewer(s):

































































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





































































Sheet 6: MDD






















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


























MDD Name:

ClsdLoopHys_MDD.docx
MDD Revision:

2


























Source File Name:


ClsdLoopHys.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








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








N/A
Comments:









































General Notes / Comments:



























































Review Board:


























Change Owner:

Marek Brykczyński


Review Date :

07/19/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 7: PolySpace






















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




























Source File Name:


ClsdLoopHys.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










































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/19/18


































Lead Peer Reviewer:


Krzysztof Byrski




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















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

3 - Component Implementation

Component Implementation

Component Documentation

3.1 - CmplncErr_IntegrationManual

Integration Manual

For

Compliance Error

VERSION: 1.0

DATE: 11-JAN-2016

Prepared By:

Kannappa Chidambaram,

Tata Elxsi, INDIA

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKannappa Chidambaram P R1.001/11/2016

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
1FDD : SF041A_CmplncErr_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

Please refer DataDict.m file.

Required Global Data Outputs

Please refer DataDict.m file.

Specific Include Path present

NA

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
CmplncErrInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
CmplncErrPer1NoneRTE(2 ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None.

Appendix

None.

3.2 - CmplncErr_MDD

Module Design Document

For

CmplncErr

Prepared For:

,

Prepared By:

Kannappa Chidambaram,

Tata Elxsi, INDIA


Change History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKannappa Chidambaram P R1.001/11/2016


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 CmplncErr & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of CmplncErr 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: CmplncErrInit1 8

5.1.2 Per: CmplncErrPer1 8

5.2 Server Runnable 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

CmplncErr & High-Level Description

Please refer FDD

Design details of software module

Graphical representation of CmplncErr

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

Software Component Implementation

Sub-Module Functions

Init: CmplncErrInit1

Design Rationale

None

Module Outputs

None

Per: CmplncErrPer1

Design Rationale

None

Store Module Inputs to Local copies

None

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runnable

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

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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.docProcess 4.02.00
4Software Design and Coding Standards.docProcess 4.02.00
5FDD: SF041A_ CmplncErr_DesignSee Synergy sub project version

3.3 - CmplncErr_Review

Review_Checklist

Overview

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


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet




























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF041A_CmplncErr_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF041A_CmplncErr_Impl_1.0.0



























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Kannappa Chidambaram (Tata Elxsi)
Work CR ID:


EA4#2701





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:








































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

01/25/16
































Lead Peer Reviewer:


Sankardu V


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








N/A
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kannappa Chidambaram, Krishna Anne
Review Date :

20-Jan-16
Component Type :


Application



























Lead Peer Reviewer:


Sankardu V
Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Sudeep Shankar






































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


CmplncErr.c

Source File Revision:


1
Header File Name:





Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this.

























MDD Name:

CmplncErr_MDD

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF041A_CmplncErr_Design

Revision:
1.1.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








Yes
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:
















Use of explicit typecasting of uint16 type variable to sint32 type suppress the QAC 10.1 rule
























Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kannappa Chidambaram, Krishna Anne


Review Date :

21-Jan-16
































Lead Peer Reviewer:


Sankardu V


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sudeep Shankar






































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

CmplncErr_MDD













MDD Revision:

1


























Source File Name:


CmplncErr.c











Source File Revision:


1

Source File Name:


NA











Source File Revision:





Source File Name:


NA











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)








N/A
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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kannappa Chidambaram, Krishna Anne


Review Date :

21-Jan-16
































Lead Peer Reviewer:


Sankardu V


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sudeep Shankar






































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


CmplncErr.c











Source File Revision:


1

Source File Name:


NA











Source File Revision:





Source File Name:


NA











Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.01.00














Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 TL108A_PolyspaceSuprt_1.0.0

QAC version:


Windows User: eg 8.1.1-R 8.1.1-R
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 TL100A_QACSuprt_1.2.0


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kannappa Chidambaram, Krishna Anne


Review Date :

21-Jan-16
































Lead Peer Reviewer:


Sankardu V


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sudeep Shankar






































































Sheet 7: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. CmplncErr_IntegrationManual

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Kannappa Chidambaram, Krishna Anne


Review Date :

21-Jan-16
































Lead Peer Reviewer:


Sankardu V


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sudeep Shankar





































































3.4 - requirements

FDDIDSourceFunctionLine(s)StatusComment
.SwFileName.SwFuncName.SwLines.SwStatus.SwComment
SF041A51CmplncErr.cCmplncErrPer1264I
SF041A39CmplncErr.cCmplncErrPer1262,264I
SF041A38CmplncErr.cCmplncErrPer1256I
SF041A48CmplncErr.cCmplncErrPer1264I
SF041A49CmplncErr.cCmplncErrPer1250I
SF041A54CmplncErr.cCmplncErrPer1234I
SF041A57CmplncErr.cCmplncErrPer1234I
SF041A56CmplncErr.cCmplncErrPer1234I
SF041A42CmplncErr.cCmplncErrPer1262,264I
SF041A36CmplncErr.cCmplncErrPer1234I
SF041A40CmplncErr.cCmplncErrPer1234I
SF041A41CmplncErr.cCmplncErrPer1262,264I
SF041A35CmplncErr.cCmplncErrPer1240I
SF041A62CmplncErr.cCmplncErrPer1250I
SF041A63CmplncErr.cCmplncErrPer1224,228I
SF041A64CmplncErr.cCmplncErrPer1262I
SF041A65CmplncErr.cCmplncErrPer1222,245I
SF041A66CmplncErr.cCmplncErrPer1264I
SF041A47CmplncErr.cCmplncErrPer1262I
SF041A52CmplncErr.cCmplncErrPer1262I
SF041A53CmplncErr.cCmplncErrPer1250I

4 - Component Implementation

Component Implementation

Component Documentation

4.1 - CtrldVelRtn_ Peer Review Checklists


Overview

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


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF065A_CtrldVelRtn_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF065A_CtrldVelRtn_Impl_1.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Ramachandran(Tata Elxsi)
Work CR ID:


EA4#14086





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/25/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Krishna Anne






































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








N/A
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.








Initial Version
























Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








Yes
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi )
Review Date :

10/25/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


CtrldVelRtn.c

Source File Revision:


1
Header File Name:


NA

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. NA

























MDD Name:

CtrldVelRtn_MDD

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF065A_CtrldVelRtn_Design

Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








N/A
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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







Yes
Comments:










finite loop iterations: [N63]





































All divides protect against divide by zero







Yes
Comments:










if needed: [N65]





































All integer division and modulus operations







Yes
Comments:










handle negative numbers correctly: [N76]





































All typecasting and fixed point arithmetic,







Yes
Comments:










including all use of fixed point macros and










There is no unintended overflow.

timer functions, is correct and has no possibility






















of unintended overflow or underflow: [N66]














































All float-to-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/25/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Krishna Anne






































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:




CtrldVelRtn_MDD










MDD Revision:

1


























Source File Name:






CtrldVelRtn.c







Source File Revision:


1

Source File Name:





NA








Source File Revision:


NA

Source File Name:





NA








Source File Revision:


NA


























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)








N/A
Comments:

















Initial Version


























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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/25/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Krishna Anne






































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:




CtrldVelRtn.c









Source File Revision:


1

Source File Name:




NA









Source File Revision:


NA

Source File Name:




NA









Source File Revision:


NA


























EA4 Static Analysis Compliance Guideline version:








01.03.00













Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 NA

QAC version:


Windows User: eg 8.1.1-R NA
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 NA


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/25/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Krishna Anne






































































Sheet 7: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. CtrldVelRtn_IntegrationManual

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 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:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/25/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Krishna Anne





































































4.2 - CtrldVelRtn_Integration Manual

Integration Manual

For

CtrldVelRtn

VERSION: 1.0

DATE: 17-OCT-2017

Prepared By:

TATA

TRIVANDRUM, INDIA

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionTATA1.017-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 Non RTE NvM Blocks 10

7.4 RTE 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
1FDD : SF065A_CtrldVelRtn_DesignSee Synergy Sub Project Version
2Software Naming Conventions1.0
3Software Design and Coding Standards2.1

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
CtrldVelRtnInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
CtrldVelRtnPer1NoneRTE (2 ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None.

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None.

Appendix

None.

4.3 - CtrldVelRtn_MDD

Module Design Document

For

CtrldVelRtn

OCT 17,2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

TATA

TRIVANDRUM, INDIA


Change History

DescriptionAuthorVersionDate
Initial VersionTATA1.017-Oct-2017


Table of Contents

1 Introduction 5

1.1 Purpose 5

2 CtrldVelRtn & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of CtrldVelRtn 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: CtrldVelRtnInit1 10

5.1.1.1 Design Rationale 10

5.1.1.2 Module Outputs 10

5.1.2Per: CtrldVelRtnPer1 10

5.1.1.3 Design Rationale 10

5.1.1.4 Store Module Inputs to Local copies 10

5.1.1.5 (Processing of function)……… 10

5.1.1.6 Store Local copy of outputs into Module Outputs 10

5.2 Server Runables 10

5.3 Interrupt Functions 10

5.4 Module Internal (Local) Functions 11

5.4.1 Local Function #1 11

5.4.1.1 Design Rationale 11

5.4.1.2 Processing 11

5.4.2 Local Function #2 11

5.4.2.1 Design Rationale 11

5.4.2.2 Processing 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 References 16

Introduction

Purpose

MDD for Controlled Velocity Return.

CtrldVelRtn & High-Level Description

Please refer FDD.

Design details of software module

Graphical representation of CtrldVelRtn

Data Flow Diagram

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 Data Dictionary .m fileNANANA
IDX2_CNT_U08Uint8CNT2U
IDX3_CNT_U08Uint8CNT3U
IDX4_CNT_U08Uint8CNT4U
IDX5_CNT_U08Uint8CNT5U

Software Component Implementation

Sub-Module Functions

5.1.1 Init: CtrldVelRtnInit1

Design Rationale

None

Module Outputs

None

5.1.2Per: CtrldVelRtnPer1

Design Rationale

None

Store Module Inputs to Local copies

None

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameDrvrTqSelnTypeMinMax
Arguments PassedMotTqCmdPwrLimd_MotNwtMtr_T_f32float32-8.8F8.8F
HwTq_HwNwtMtr_T_f32float32-10.0F10.0F
HwAgCmp_HwDeg_T_f32float32-1440.0F1440.0F
HwVel_HwRadPerSec_T_f32float32-42.0F42.0F
AssiMechPolarity_Uls_T_s08sint8-1U1U
Return ValueDrvrTq_HwNwtMtr_T_f32float32-10.0F10.0F

Design Rationale

None.

Processing

Refer to the “DriverTorque Selector” block of the Simulink model of the design.

Local Function #2

Function NameDampgTypeMinMax
Arguments PassedHwVel_HwDegPerSec_T_f32float32-2406.0F2406.0F
CtrlSca_Uls_T_f32float320.0F1.0F
VehSpd_Kph_T_u9p7Uint160U65535U
Return ValueDampgTerm_HwNwtMtr_T_f32float32-100.0F100.0F

Design Rationale

None.

Processing

Refer to the “Damping” block of the Simulink model of the design.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD : SF065A_CtrldVelRtn_DesignSee Synergy Sub-project version

5 - Component Implementation

Component Implementation

Component Documentation

5.1 - DutyCycThermProtn_DesignReview


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF009A_DutyCycThermProtn_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF009A_DutyCycThermProtn_Impl_4.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Ramachandran(Tata Elxsi)
Work CR ID:


EA4#13255





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:

Only changes were reviewed.



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/26/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








N/A
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:























Only for the changes


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)
Review Date :

10/26/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


DutyCycThermProtn.c

Source File Revision:


8
Header File Name:





Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this.

























MDD Name:

DutyCycThermProtn_MDD.docx

Revision:
5

























FDD/SCIR/DSR/FDR/CM Name:




SF009A_DutyCycThermProtn_Design

Revision:
4.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































All loops have termination conditions that ensure







Yes
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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/26/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

DutyCycThermProtn_MDD.docx
MDD Revision:

5


























Source File Name:


DutyCycThermProtn.c



Source File Revision:


8

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 FDD are








Yes
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:























No changes were made. Previous conditions are kept as is


























General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/26/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


DutyCycThermProtn.c



Source File Revision:


8

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:









01.03.00












Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A

QAC version:


Windows User: eg 8.1.1-R NA
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 NA


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/26/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































5.2 - DutyCycThermProtn_Integration Manual

Integration Manual

For

SF009A_DutyCycThermProtn

VERSION: 1.0

DATE: 02-Oct-2015

Prepared By:

Sarika Natu,

KPIT Technologies,

India

Revision History

DescriptionAuthorVersionDate
Initial versionSarika Natu1.002-Oct-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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

Sr. No.TitleVersion
1MDD GuidelinesSoftware Process Release 04.02.00
2Software Naming ConventionsSoftware Process Release 04.02.00
3Design and Coding standardsSoftware Process Release 04.02.00
4FDD – SF009A_DutyCycThermProtn_DesignSee Synergy sub project version

Dependencies

SWCs

ModuleRequired Feature
None

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
DutyCycThermProtnInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
DutyCycThermProtnPer1NoneRTE(100ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
DutyCycThermProtn_START_SEC_CODE

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

Usage

FeatureRAMROM
<Memmap usuage info>

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

See DataDict.m

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

5.3 - DutyCycThermProtn_MDD

Module Design Document

For

DutyCycThermProtn

Oct 26, 2017

Prepared By:

TATA ELXSI, TRIVANDRUM, INDIA


Change History

DescriptionAuthorVersionDate
Initial VersionSarika Natu(KPIT Technologies)1.002-Oct-2015
Updated to version 2.0.0 of FDDKrishna Anne2.007-Apr-2016
Fix for anomaly EA4# 7558Krishna Anne3.029-Sep-2016
Updated to FDD v3.0.0Shruthi Raghavan4.014-Dec-2016
Updated as per FDD v4.0.0TATA5.025-Oct-2017


Table of Contents

1 DutyCycThermProtn & High-Level Description 5

2 Design details of software module 6

2.1 Graphical representation of DutyCycThermProtn 6

2.2 Data Flow Diagram 7

2.2.1 Component level DFD 7

2.2.2 Function level DFD 7

3 Constant Data Dictionary 8

3.1 Program (fixed) Constants 8

3.1.1 Embedded Constants 8

4 Software Component Implementation 9

4.1 Sub-Module Functions 9

4.1.1 Init: DutyCycThermProtn_Init1 9

4.1.1.1 Design Rationale 9

4.1.1.2 Module Outputs 9

4.1.2 Per: DutyCycThermProtn_Per1 9

4.1.2.1 Design Rationale 9

4.1.2.2 Store Module Inputs to Local copies 9

4.1.2.3 (Processing of function)……… 9

4.1.2.4 Store Local copy of outputs into Module Outputs 9

4.2 Server Runables 9

4.3 Interrupt Functions 9

4.4 Module Internal (Local) Functions 9

4.4.1 Local Function #1 9

4.4.1.1 Design Rationale 9

4.4.1.2 Processing 10

4.4.2 Local Function #2 10

4.4.2.1 Design Rationale 10

4.4.2.2 Processing 10

4.4.3 Local Function #3 10

4.4.3.1 Design Rationale 10

4.4.3.2 Processing 10

4.4.4 Local Function #4 10

4.4.4.1 Design Rationale 11

4.4.4.2 Processing 11

4.4.5 Local Function #5 11

4.4.5.1 Design Rationale 11

4.4.5.2 Processing 11

4.4.6 Local Function #6 11

4.4.6.1 Design Rationale 11

4.4.7 Local Function #7 11

4.4.7.1 Design Rationale 12

4.4.8 Local Function #8 12

4.4.8.1 Design Rationale 12

4.4.8.2 Processing 12

4.5 GLOBAL Function/Macro Definitions 12

5 Known Limitations with Design 13

6 UNIT TEST CONSIDERATION 14

Appendix A Abbreviations and Acronyms 15

Appendix B Glossary 16

Appendix C References 17

DutyCycThermProtn & High-Level Description

The purpose of the Thermal Duty Cycle Protection is to limit and protect the system from excessive use, based on motor rotational velocity and system temperature. It also provides protection status information for use by other functions.

Design details of software module

Graphical representation of DutyCycThermProtn

Data Flow Diagram

See FDD

Component level DFD

See FDD

Function level DFD

See FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Refer .m file

Constant NameValue
THERMLOADLIMSIZE_CNT_U088U
MULTFILTERSIZE_CNT_U086U
BITMASK2_CNT_U082U
BITMASK4_CNT_U084U
IDX5_CNT_U085U
IDX8_CNT_U088U

Software Component Implementation

Sub-Module Functions

Init: DutyCycThermProtn_Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: DutyCycThermProtn_Per1

Design Rationale

DutyCycThermProtn_Per1 function is divided into various functions to reduce the cyclomatic complexity.

The subsystems ‘Multiplier’ and ‘FilterPercMax’ are clubbed into ‘MultiFilterPercMax’ local function.

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 #1

Function NameFiltSVReinitTypeMinMax
Arguments PassedIgnTiOff_Cnt_T_u32uint3201720000
VehTiVld_Cnt_T_LoglBoolean01
Return ValueNone

Design Rationale

Name of local function matches with subsystem name from FDD

Processing

Local Function #2

Function NameTemperatureSelectionTypeMinMax
Arguments PassedDiagcStsLimdTPrfmnc_Cnt_T_Loglboolean01
EcuTFild_DegCgrd_T_f32float32-50150
MotFetT_DegCgrd_T_f32float32-50200
MotMagT_DegCgrd_T_f32float32-50150
MotWidgT_DegCgrd_T_f32float32-50300
*Mult12Temp_DegCgrd_T_ s15p0Sint16-50200
*Mult36Temp_DegCgrd_T_s15p0Sint16-50300
Return ValueSlcTemp_DegCgrd_T_s15p0sint16-50300

Design Rationale

Name of local function matches with subsystem name from FDD

Note: The outputs of the function are Mult12Temp_DegCgrd_T_s15p0, Mult36Temp_DegCgrd_T_s15p0 and SlcTemp_DegCgrd_T_f32.

Processing

None

Local Function #3

Function NameTemperatureLimitingTypeMinMax
Arguments PassedEcuTFild_DegCgrd_T_f32float32-50150
MotWidgT_DegCgrd_T_f32float32-50300
Return ValueAbsTempLimitSlew_MotNwtMtr_T_f32float3208.79

Design Rationale

Name of local function matches with subsystem name from FDD

Processing

None

Local Function #4

Function NameMultiFilterPercMaxTypeMinMax
Arguments PassedMult12Temp_DegCgrd_T_s15p0sint16-50200
Mult36Temp_DegCgrd_T_s15p0sint16-50300
DutyCycThermProtnDi_Cnt_T_Loglboolean01
MotVelCrf_MotRadPerSec_T_f32float32-13501350
MotCurrPeakEstimd_AmprSqd_T_f32float32062500
MotCurrPeakEstimdFild_AmprSqd_T_f32float32062500
*MaxOut_Uls_T_u16p0uint160200
Return ValueThermLimSlowFilMax_Uls_T_f32float320200

Design Rationale

The subsystems ‘Multiplier’ and ‘FilterPercMax’ are clubbed into ‘MultiFilterPercMax’ local function.

Note: The outputs of the function are MaxOut_Uls_T_u16p0 and ThermLimSlowFilMax_Uls_T_f32.

Processing

None

Local Function #5

Function NameThermalLoadLimitTypeMinMax
Arguments PassedMotVelCrf_MotRadPerSec_T_f32float32-13501350
SlcTemp_DegCgrd_T_s15p0sint16-50300
MaxOut_Uls_T_u16p0uint160200
Return ValueThermalLoadLmt_MotNwtMtr_T_f32float3208.8

Design Rationale

Name of local function matches with subsystem name from FDD

Processing

None

Local Function #6

Function NameThermalLimitStatusTypeMinMax
Arguments PassedDutyCycThermProtnDi_Cnt_T_LoglBoolean01
MaxOut_Uls_T_u16p0uint160200
ThermMotTqLim_MotNwtMtr_T_f32float3208.8
Return ValueThermRednFac_Uls_T_f32float3201

Design Rationale

Name of local function matches with subsystem name from FDD. Initializing ThermRednFac_Uls_T_f32 to 0.0 helps to avoid writing another statement in the if-conditional (optimized compared to FDD)

Local Function #7

Function NameTherrmalLimitScalingTypeMinMax
Arguments PassedDualEcuFltMtgtnEna_Cnt_T_loglBoolean01
IvtrLoaMtgtnEna_Cnt_T_loglBoolean01
AbsTempLimitSlew_MotNwtMtr_T_f32float3208.79
DutyCycThermProtnDi_Cnt_T_LoglBoolean01
ThermalLoadLmt_MotNwtMtr_T_f32float3208.8
* ThermLoadDptLim_MotNwtMtr_T_f32Float3208.8
* ThermTempDptLim_MotNwtMtr_T_f32Float3208.8
Return ValueThermMotTqLim_MotNwtMtr_T_f32float3208.8

Design Rationale

Name of local function matches with subsystem name from FDD

The if-action subsystem blocks for calculation of LoadDptLim and TempDptLim are clubbed together and optimized since the condition for the subsystem execution was same.

Local Function #8

Function NameUseInpLowrTypeMinMax
Arguments Passed*TableX_Cnt_T_s16sint16FULLFULL
*TableY_Cnt_T_u16uint16FULLFULL
Size_Cnt_T_u16uint16120
Input_Cnt_T_s16sint16FULLFULL
Return ValueTableY_Cnt_T_u16[Idx_Cnt_T_u08]uint16FULLFULL

Design Rationale

None.

Processing

None

Local Function #9

Function NameDecoderTypeMinMax
Arguments PassedMotAndThermProtnLoaMod_Cnt_T_u08Uint80U255U
Return ValueIvtrLoaMtgtnEna_Cnt_T_loglbooleanFALSETRUE

Design Rationale

None.

Processing

Refer to the “Decoder” block of the Simulink model of the design.

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

  1. In Init function CurrMeasLoaMtgtnEna and FetLoaMtgtnEna are terminated. In Periodic1 CurrMeasLoaMtgtnEna is terminated. These flags need not be computed at all.

  2. MotAndThermProtnLoaMod input readable to init runnable also. It is need to update in Data Dictionary.

UNIT TEST CONSIDERATION

  • Function UseInpLowr to be tested only as called by the component; input and output ranges will not be reached.

  • Function UseInpLowr’s TableX must have strictly increasing elements.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 02.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD – SF009A_DutyCycThermProtn_DesignSee Synergy sub project version

6 - Component Implementation

Component Implementation

Component Documentation

6.1 - Effort_IntegrationManual

Integration Manual

For

Effort

VERSION: 2.0

DATE: 7-MARCH-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-Jan-2018
2

Updated to add the include path present- sec 5.3

Updated sec 3.2 to explain the new Init function

Nimmy Mathews2.07-Mar-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.0.3 draft
2Software Design and Coding Standards3.0 draft
3SF068A_Effort_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

Note: There is a global Non-Rte function Effort_Init. This init function is generated by embedded coder and is not present in the Simulink model. This function is always empty and shall not be called. 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

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
EffortInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
EffortPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
Effort_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

6.2 - Effort_MDD

Module Design Document

For

Effort

May 9, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionKrzysztof Byrski125-Jan-2018
Updated to add the additional _Init function generated for autocode in Section 5Nimmy Mathews27-Mar-2018
Added new input EffortCmdScaNimmy Mathews39-May-2018


Table of Contents1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 Effort & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of Effort 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: EffortInit1 8

5.1.2 Init: Effort_Init 8

5.1.3 Per: EffortPer1 8

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 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 SF068A_Effort_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.

Effort & High-Level Description

This function produces a handwheel reference torque for the closed loop system. The function should generate torque equal to the effort felt the driver on the handwheel. Output effort reference torque is a function of the Rack Force Estimated and Vehicle Speed.

Design details of software module

Graphical representation of Effort

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
HWTQCMDEFFORTHILIM_HWNWTMTR_F32Single precisionHwNwtMtr10
HWTQCMDEFFORTLOLIM_HWNWTMTR_F32Single precisionHwNwtMtr-10

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: EffortInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Init: Effort_Init

Design Rationale

_This init function is generated by embedded coder and is not present in the Simulink model.

This function is always empty and is not called.

Module Outputs

There are no outputs for this function.

Per: EffortPer1

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.0.3 draft
4Software Design and Coding Standards3.0 draft
5SF068A_Effort_DesignSee Synergy Sub Project Version

6.3 - Effort_Review


Overview

Summary Sheet
Synergy Project
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:



Effort
Revision / Baseline:


SF068A_Effort_AGC_Impl_2.1.0
































Change Owner:


Nimmy Mathews
Work CR ID:


EA4# 24063


































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





No





















































Comments:

















































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









1



1


0









Component developer reviewers:









0



0


0


2





Other reviewers:









0



0


0









Total hours









1



1


0


2




































Content reviewed





























Lines of code:


2


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








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:

Nimmy Mathews


Review Date :

05/22/18
































Lead Peer Reviewer:


Avinash James


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:


Effort.c

Source File Revision:


4
Header File Name:


Effort.h

Header File Revision:


3

























MDD Name:


Effort_MDD.docx
Revision:
3

























SWC Design Name:


SF068A_Effort_Design
Revision:
2.1.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:1.0.1
























EA4 Software Naming Convention followed:











Version:1.0.3 draft

























for variable names







N/A
Comments:

















































for constant names







N/A
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








N/A
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








No
Comments:



and Version Control version in file comment block











Need new rules for autocoding
























Change log contains detailed description of changes








No
Comments:



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











Need new rules for autocoding
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



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











Verified using SIL testing
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








Yes
Comments:
















































All other includes are actually needed. (System includes








No
Comments:









only allowed in Nexteer library components)











Multiple inclusion for #include "NxtrFixdPt.h" in Effort.h file
























Software Design and Coding Standards followed:











Version: 3.0 draft

























Code comments are clear, correct, and adequate







N/A
Comments:










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










Comments are autogenerated.Need new rules for autocoding

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







N/A
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







N/A
Comments:










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













[N57], [N58], [N59]














































Embedded constants used per standards; no







N/A
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







N/A
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:























Multiple inclusion for #include "NxtrFixdPt.h" in Effort.h file. This is a bug reported to Mathworks. For timebeing we don’t have a solution to this. There will be no impact since there is inclusion protection in NxtrFixdPt.h file
























































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

05/22/18
































Lead Peer Reviewer:


Avinash James


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 4: MDD






















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


























MDD Name:

Effort_MDD.docx













MDD Revision:

3


























Source File Name:


Effort.c











Source 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








N/A
Comments:













































Change log contains detailed description of changes








N/A
Comments:













































Changes Highlighted (for Unit Tester)








N/A
Comments:













































Diagrams have been included per MDD Guideline








N/A
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:























No change required


































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

05/22/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 5: PolySpace






















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




























Source File Name:


Effort.c













Source File Revision:


4

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







2.0 draft
















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:

Nimmy Mathews




Review Date :

05/22/18


































Lead Peer Reviewer:


Avinash James




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:



Effort_IntegrationManual.doc

Integration Manual Revision:



2





























Quality Check Items:




































Rationale is required for all answers of No










Synergy version matches header








N/A
Comments:










































Latest template used








N/A
Comments:










































Change log contains detailed description of changes








N/A
Comments:










































Changes Highlighted (for Integrator)








N/A
Comments:











































General Notes / Comments:























No change required to Integration manual


































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

05/22/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

















































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

7 - Component Implementation

Component Implementation

Component Documentation

7.1 - ElecPwrCns_IntegrationManual

Integration Manual

For

Electric Power Consumption

VERSION: 1.0

DATE: 10-May-2016

Prepared By:

Vishnu Mohan (Tata Elxsi),

Trivandrum, INDIA.

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionVishnu Mohan1.005/10/2016

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
1FDD : SF109A_ElecPwrCns_DesignSee Synergy sub project version
2Software Naming Conventions1.0
3Software Design and Coding Standards2.0

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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 DataDict.m file.

Required Global Data Outputs

Refer DataDict.m file.

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
None
RunnableScheduling RequirementsTrigger
ElecPwrCnsPer1NoneRTE(10 ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

7.2 - ElecPwrCns_MDD

Module Design Document

For

ElecPwrCns

SepMay 2510, 20167

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

TATA Trivandrum, INDIA

Change History

DescriptionAuthorVersionDate
Initial VersionVishnu Mohan1.010-May-2016
Updated to FDD v2.0.0TATA2.025-Sep-2017

Table of Contents

1 Introduction 4

1.1 Purpose 4

2 ElecPwrCns & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of ElecPwrCns 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 Per: ElecPwrCnsPer1 8

5.1.1.1 Design Rationale 8

5.1.1.2 Store Module Inputs to Local copies 8

5.1.1.3 (Processing of function)……… 8

5.1.1.4 Store Local copy of outputs into Module Outputs 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 Electrical Electric Power Consumption

ElecPwrCns & High-Level Description

Please refer FDD

Design details of software module

Graphical representation of ElecPwrCns

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 the .m file
BITMASK1_CNT_U08uint8CNT1U
BITMASK2_CNT_U08uint8CNT2U
BITMASK4_CNT_U08uint8CNT4U

Software Component Implementation

Sub-Module Functions

Per: ElecPwrCnsPer1

Design Rationale

None

Store Module Inputs to Local copies

None

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please 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

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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD: SF109A_ElecPwrCns_DesignSee Synergy sub project version

7.3 - ElecPwrCns_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet




























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF109A_ElecPwrCns_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF109A_ElecPwrCns_Impl _2.0.0



























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Ramachandran(Tata Elxsi)
Work CR ID:


EA4#13249





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:








































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anna


Review Date :

10/09/17
































Lead Peer Reviewer:


Krishna Anna


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)










NA for the changes

































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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










NA for the changes










for fixed point types














































Mapping set and all unused items have been







Yes
Comments:










removed













































All sender/receiver port read/writes using direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








N/A
Comments:






















NA for the changes









DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD











NA for the changes
























Component is correct component type








Yes
Comments:











































































General Notes / Comments:


























Only for the changes































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)
Review Date :

10/09/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


ElecPwrCns.c

Source File Revision:


2
Header File Name:


NA

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. NA

























MDD Name:

ElecPwrCns_MDD

Revision:
2.0

























FDD/SCIR/DSR/FDR/CM Name:




SF109A_ElecPwrCns_Design

Revision:
2.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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]










NA for the changes

























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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/09/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

ElecPwrCns_MDD













MDD Revision:

2.0


























Source File Name:


ElecPwrCns.c











Source File Revision:


2

Source File Name:


NA











Source File Revision:


NA

Source File Name:


NA











Source File Revision:


NA


























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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/09/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


ElecPwrCns.c











Source File Revision:


2

Source File Name:


NA











Source File Revision:


NA

Source File Name:


NA











Source File Revision:


NA


























EA4 Static Analysis Compliance Guideline version:







01.01.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 1.3.0

QAC version:


Windows User: eg 8.1.1-R NA
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 NA


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Ramachandran(Tata Elxsi)


Review Date :

10/09/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































8 - Component Implementation

Component Implementation

Component Documentation

8.1 - EotProtn_DesignReview


Overview

Summary Sheet
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF018A_EotProtn_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF018A_EotProtn_Impl_1.8.1

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Matthew Leser
Work CR ID:


EA4#15559





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


N/ASource Code


N/APolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:

Update was to bring in new design version.



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser
Review Date :

09/25/17


































Lead Peer Reviewer:


Avinash James
Approved by Reviewer(s):



Yes

































Other Reviewer(s):









































































8.2 - EotProtn_Integration Manual

Integration Manual

For

SF018A_EotProtn

VERSION: 1.0

DATE: 01-Oct-2015

Prepared By:

Sarika Natu,

KPIT Technologies,

India

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

Revision History

DescriptionAuthorVersionDate
Initial versionSarika Natu1.001-Oct-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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
1MDD GuidelinesSoftware Process Release 04.02.00
2Software Naming ConventionsSoftware Process Release 04.02.00
3Design and Coding standardsSoftware Process Release 04.02.00
4FDD – SF018A_EotProtn_DesignSee Synergy sub project version

Dependencies

SWCs

ModuleRequired Feature
None

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
EotProtnInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
EotProtnPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
EotProtn_START_SEC_CODE

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

Usage

FeatureRAMROM
<Memmap usuage info>

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

8.3 - EotProtn_MDD

Module Design Document

For

EotProtn

Aug 16, 2017

Prepared By:

Matthew Leser

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA


Change History

SNo.DescriptionAuthorVersionDate
1Initial VersionSarika Natu(KPIT Technologies)1.001-Oct-2015
2Implemented SF018A design version 1.5.0SB2.001-Jul-2016
3Updated Graph, Function Inputs, and Unit Test ConsiderationsMatthew Leser3.016-Aug-2017


Table of Contents

1 EotProtn & High-Level Description 5

2 Design details of software module 6

2.1 Graphical representation of EotProtn 6

2.2 Data Flow Diagram 7

2.2.1 Component level DFD 7

2.2.2 Function level DFD 7

3 Constant Data Dictionary 8

3.1 Program (fixed) Constants 8

3.1.1 Embedded Constants 8

4 Software Component Implementation 9

4.1 Sub-Module Functions 9

4.1.1 Init: EotProtn_Init1 9

4.1.1.1 Design Rationale 9

4.1.1.2 Module Outputs 9

4.1.2 Per: EotProtn_Per1 9

4.1.2.1 Design Rationale 9

4.1.2.2 Store Module Inputs to Local copies 9

4.1.2.3 (Processing of function)……… 9

4.1.2.4 Store Local copy of outputs into Module Outputs 9

4.2 Server Runables 9

4.3 Interrupt Functions 9

4.4 Module Internal (Local) Functions 9

4.4.1 Local Function #1 9

4.4.1.1 Design Rationale 10

4.4.1.2 Processing 10

4.4.2 Local Function #2 10

4.4.2.1 Design Rationale 10

4.4.2.2 Processing 10

4.4.3 Local Function #3 10

4.4.3.1 Design Rationale 10

4.4.3.2 Processing 10

4.4.4 Local Function #4 11

4.4.4.1 Design Rationale 11

4.4.4.2 Processing 11

4.4.5 Local Function #5 11

4.4.5.1 Design Rationale 11

4.4.5.2 Processing 11

4.4.6 Local Function #6 11

4.4.6.1 Design Rationale 11

4.4.6.2 Processing 11

4.4.7 Local Function #7 11

4.4.7.1 Design Rationale 12

4.4.7.2 Processing 12

4.4.8 Local Function #8 12

4.4.8.1 Design Rationale 12

4.4.8.2 Processing 12

4.4.9 Local Function #9 12

4.4.9.1 Design Rationale 13

4.4.9.2 Processing 13

4.5 GLOBAL Function/Macro Definitions 13

5 Known Limitations with Design 14

6 UNIT TEST CONSIDERATION 15

Appendix A Abbreviations and Acronyms 16

Appendix B Glossary 17

Appendix C References 18

EotProtn & High-Level Description

The End of Travel Protection function specifies performance attributes as the steering system approaches the mechanical end of travel of the steering gear.

Design details of software module

Graphical representation of EotProtn

Data Flow Diagram

See FDD

Component level DFD

See FDD

Function level DFD

See FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

ConstantValue
DAMPGPTSIZE_CNT_U082
DAMPGVEHSPDSIZE_CNT_U084
GAINVEHSPDSIZE_CNT_U085

Software Component Implementation

Sub-Module Functions

Init: EotProtn_Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: EotProtn_Per1

Design Rationale

EotProtn_Per1 function is divided into various functions to reduce the cyclomatic complexity.

The limiting of ‘EotAssiSca’ output is performed in SoftEndStop subsystem in FDD. But in code it is limiting calculations are done where the output is calculated i.e. FildEotGain function.

The model is incorrectly handling a Case Statement by not having a default case. A solution was discussed with designers and has been implemented where the default case is Case 2 and Case 3.

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 #1

Function NameEotVelImpctTypeMinMax
Arguments PassedHwAgEotCw_HwDeg_T_f32float32360900
HwAgEotCcw_HwDeg_T_f32float32-900-360
HwAg_HwDeg_T_f32float32-14401440
VehSpd_Kph_T_f32float320511
HwAgAuthy_Uls_T_f32float3201
MotVelCrf_MotRadPerSec_T_f32float32-13501350
Return ValueEotMotTqLim_MotNwtMtr_T_f32float3208.8

Design Rationale

None

Note: Outputs of “EotVelImpct” function is - EotMotTqLim_MotNwtMtr_T_f32.

Processing

Refer to the “EotVelImpct” subsystem of the Simulink model of the design

Local Function #2

Function NameLimPosnDetdTypeMinMax
Arguments PassedRackTrvlLimrRngEna_Cnt_T_loglbooleanFalseTrue
HwAgEotCw_HwDeg_T_f32float32360900
HwAgEotCcw_HwDeg_T_f32float32-900-360
HwAg_HwDeg_T_f32float32-14401440
Return ValueLimPosn_HwDeg_T_f32float32-14401440

Design Rationale

None

Note: Outputs of “LimPosnDetd” function is - LimPosn_HwDeg_T_f32.

Processing

Refer to the “LimPosnDetd” subsystem of the Simulink model of the design

Local Function #3

Function NameCalcEntrGainTypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-14401440
VehSpd_Kph_T_f32float320511
LimPosn_HwDeg_T_f32float32-14401440
HwAgAuthy_Uls_T_f32float3201
Return ValueEntrGain_Uls_T_f32float3201

Design Rationale

None

Note: Outputs of “CalcEntrGain” function is - EntrGain_Uls_T_f32.

Processing

Refer to the “CalcEntrGain” subsystem of the Simulink model of the design

Local Function #4

Function NameCalcExitGainTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-1010
Return ValueExitGain_Uls_T_f32float3201

Design Rationale

Calculation of Filtered Handwheel torque is done after ‘CalcExitGain’ function is executed.

Note: Outputs of “CalcExitGain” function is - FildHwTq_HwNwtMtr_T_f32

Processing

Refer to the “CalcExitGain” subsystem of the Simulink model of the design

Local Function #5

Function NameCalcEotGainTypeMinMax
Arguments PassedEntrGain_Uls_T_f32float3201
ExitGain_Uls_T_f32float3201
Return ValueEotGain_Uls_T_f32float3201

Design Rationale

None

Note: Outputs of “CalcEotGain” function is - EotGain_Uls_T_f32

Processing

Refer to the “CalcEotGain” subsystem of the Simulink model of the design

Local Function #6

Function NameFildEotGainTypeMinMax
Arguments PassedEotGain_Uls_T_f32float3201
Return ValueEotAssiSca_Uls_T_f32float3201

Design Rationale

Limit of EotAssiSca is moved to local function FildEotGain.

Note: Outputs of “FildEotGain” function is - EotAssiSca_Uls_T_f32

Processing

Refer to the “FildEotGain” subsystem of the Simulink model of the design

Local Function #7

Function NameCalcEotDampgTypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-14401440
VehSpd_Kph_T_f32float320511
HwAgEotCw_HwDeg_T_f32float32360900
HwAgEotCcw_HwDeg_T_f32float32-900-360
MotVelCrf_MotRadPerSec_T_f32float32-13501350
Return ValueEotDampgCmd_MotNwtMtr_T_f32float32-8.88.8

Design Rationale

None

Note: Outputs of “CalcEotDampg” function is - EotDampgCmd_MotNwtMtr_T_f32

Processing

Refer to the “CalcEotDampg” calculation of the Simulink model of the design

Local Function #8

Function NameEotActvCmdCalcTypeMinMax
Arguments PassedRackTrvlLimrDi_Cnt_T_loglbooleanFalseTrue
HwAgAuthy_Uls_T_f32float3201
VehSpd_Kph_T_f32float320511
HwAg_HwDeg_T_f32float32-14401440
MotVelCrf_MotRadPerSec_T_f32float32-13501350
LimPosn_HwDeg_T_f32float32-14401440
Return ValueEotActvCmd_MotNwtMtr_T_f32float32-8.88.8

Design Rationale

None

Note: Outputs of “EotActvCmdCalc” function is - EotActvCmd_MotNwtMtr_T_f32

Processing

Refer to the “EotActvCmdCalc” calculation of the Simulink model of the design

Local Function #9

Function NameSoftEndStopStCtrlTypeMinMax
Arguments PassedVehSpd_Kph_T_f32float320511
HwAgAuthy_Uls_T_f32float3201
EotProtnDi_Cnt_T_Loglboolean01
EotDetd_Cnt_T_Loglboolean01
HwAg_HwDeg_T_f32float32-14401440
FildHwTq_HwNwtMtr_T_f32float32-3.4E+383.4E+38
SysMotTqCmdSca_Uls_T_f32float3201
LimPosn_HwDeg_T_f32float32-14401440
Return ValueNonefloat32-8.88.8

Design Rationale

None

Processing

Refer to the “SoftEndStopStCtrl” calculation of the Simulink model of the design

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

Source Model Mismatch will occur in PIL Testing. This is because the model is incorrectly handling a Case Statement by not having a default case. A solution was discussed with designers and has been implemented where the default case is Case 2 and Case 3. The design will be updated later through ICR EA4#14690.

Abbreviations and Acronyms

Abbreviation or AcronymDescription
FDDFunctional Design Document

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)Process release 04.02.01
2MDD GuidelineProcess release 04.02.01
3Software Naming Conventions.doc2.0
4Software Design and Coding Standards.doc2.1
5SF018A_EotProtn_DesignSee Synergy subproject version

9 - Component Implementation

Component Implementation

Component Documentation

9.1 - EpsStEstimn_IntegrationManual

Integration Manual

For

EpsStEstimn

VERSION: 1.0

DATE: April 12, 2018

Prepared By:

Matthew Leser,

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 versionMatthew Leser1.012-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
1FDD – SF066A_EpsStEstimn_DesignSee Synergy subproject version
2Software Naming ConventionsProcess 04.02.00
3Software Coding StandardsProcess 04.02.00

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 DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
EpsStEstimnInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
EpsStEstimnPer1NoneRTE (2 ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
EpsStEstimn_START_SEC_CODE

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None.

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None.

9.2 - EpsStEstimn_MDD

Module Design Document

For

EpsStEstimn

April 12, 2018

Prepared By:

Matthew Leser

Software Group,

Nexteer Automotive,

Saginaw, MI, USAChange History

DescriptionAuthorVersionDate
Initial VersionMatthew Leser1.012-Apr-2018

Table of Contents

1 Introduction 4

1.1 Purpose 4

2 EpsStEstimn & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of EpsStEstimn 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: EpsStEstimnInit1 8

5.1.1.1 Design Rationale 8

5.1.1.2 Module Outputs 8

5.1.2 Per: EpsStEstimnPer1 8

5.1.2.1 Design Rationale 8

5.1.2.2 Store Module Inputs to Local copies 8

5.1.2.3 (Processing of function)……… 8

5.1.2.4 Store Local copy of outputs into Module Outputs 8

5.2 Server Runables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 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

Introduction

Purpose

Module design document for EpsStEstimn.

EpsStEstimn & High-Level Description

Design details of software module

Graphical representation of EpsStEstimn

Data Flow Diagram

Component level DFD

N/A

Function level DFD

N/A

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
NANANANA

Refer to .m file for other defined constants.

Software Component Implementation

Sub-Module Functions

Init: EpsStEstimnInit1

Design Rationale

Module Outputs

Refer to FDD

Per: EpsStEstimnPer1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Server Runnables

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
DFDDesign functional diagram
MDDModule design Document

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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD – SF066A_EpsStEstimn_DesignSee Synergy subproject version

9.3 - EpsStEstimn_PeerReviewChecklist


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:



EpsStEstimn
Revision / Baseline:


SF066A_EpsStEstimn_Impl_2.1.0
































Change Owner:


Shawn Penning
Work CR ID:


EA4#23204


































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.5









Component developer reviewers:









0



0.5


0


2





Other reviewers:









0



0.5


0









Total hours









0.5







0.5


1




































Content reviewed





























Lines of code:


30


Elements of .arxml content:




0

Pages of documentation:



0































































































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:

Shawn Penning


Review Date :

05/04/18
































Lead Peer Reviewer:


Avinash James


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:


EpsStEstimn.c
Source File Revision:


2
Header File Name:





Header File Revision:




























MDD Name:


EpsStEstimn_MDD.docx
Revision:
1

























SWC Design Name:


SF066A_EpsStEstimn_Design
Revision:
1


























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







N/A
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.








N/A
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








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







N/A
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







Yes
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







N/A
Comments:










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





































All code is mapped with SWC Design (all SWC







N/A
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:

Shawn Penning


Review Date :

05/04/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Akilan



Comments:

KPIT did design however Fei filled as designer reviewer. Approved by Steve Horwath.

































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:


EpsStEstimn.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.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)












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:
Path Count is 324, above the 300 threshold.

for all functions in the component per Design













Due to time constraints, path count will not be fixed until next version.

and Coding Standards rule [N47]
































































































General Notes / Comments:

























Rte_Stubs.h was hand modified for Polyspace. The reason being that TL109A does not understand how to interpret an output that is a structure type.

Polyspace flags writing to the elements of the output structure'TorsBarStEstimd_Uls_T_rec'. This is because polyspace does not understand that the output is a structure. There is no legitimate issue here as this is an issue with polyspace understanding this variable. - Approved by Steven Horwath 4/18/2018

































Review Board:




























Change Owner:

Shawn Penning




Review Date :

05/04/18


































Lead Peer Reviewer:


Avinash James




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































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









Steve Horwath





































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 - FalbckAssi_IntegrationManual

Integration Manual

For

FalbckAssi

VERSION: 1.0

DATE: 16-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.016-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
3SF111A_FalbckAssi_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
FalbckAssiInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
FalbckAssiPer1NoneRTE(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

10.2 - FalbckAssi_MDD

Module Design Document

For

FalbckAssi

April 19, 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 FalbckAssi & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of FalbckAssi 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: FalbckAssiInit1 8

5.1.2 Per: FalbckAssiPer1 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 SF111A_FalbckAssi_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.

FalbckAssi & High-Level Description

Fallback Assist shall provide assist motor torque command in a situation when system detects fault of a main motor torque generation functionality

Design details of software module

Graphical representation of FalbckAssi

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: FalbckAssiInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: FalbckAssiPer1

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.01
4Software Design and Coding Standards2.01
5SF111A_FalbckAssi_DesignSee Synergy Sub Project Version

10.3 - FalbckAssi_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:



FalbckAssi
Revision / Baseline:


SF111A_FalbckAssi_Impl_1.0.0
































Change Owner:


Krzysztof Byrski
Work CR ID:


EA4#22536


































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 :

04/20/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 :

04/20/2018
Component Type :


Application




























Lead Peer Reviewer:


Marek Brykczyński

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

Integrator 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:


FalbckAssi.c
Source File Revision:


1
Header File Name:


-
Header File Revision:


-

























MDD Name:


FalbckAssi_MDD.docx
Revision:
1

























SWC Design Name:


SF111A_FalbckAssi_Design
Revision:



























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:











































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











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








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







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,







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/20/2018
































Lead Peer Reviewer:


Marek Brykczyński


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:

FalbckAssi_MDD.docx
MDD Revision:

1


























Source File Name:


FalbckAssi.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/20/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:


FalbckAssi.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: 1, static path: 1.

and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krzysztof Byrski




Review Date :

04/20/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:



FalbckAssi_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/20/2018
































Lead Peer Reviewer:


Marek Brykczyński


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:




Comments:

Integrator 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

11 - Component Implementation

Component Implementation

Component Documentation

11.1 - GlbLimr_IntegrationManual

Integration Manual

For

GlbLimr

VERSION: 1.0

DATE: 20-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.020-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
3CF082A_GlbLimr_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
GlbLimrInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
GlbLimrPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
GlbLimr_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

11.2 - GlbLimr_MDD

Module Design Document

For

GlbLimr

April 20, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial versionMarek Brykczyński120-Apr-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 GlbLimr & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of GlbLimr 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: GlbLimr_Init1 8

5.1.2 Per: GlbLimr_Per1 8

5.2 Server Runnables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 GlbLimrCompensator 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

MDD for SF110A_GlbLimr_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.

GlbLimr & High-Level Description

The Global Limiter software component defines safe operating conditions and applies limits to a motor torque command based on these conditions.

Design details of software module

<The Data Flow Diagrams should be created in the absence of this representation with the FDD.>

Graphical representation of GlbLimr

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
D_NUMLOOPS_CNT1Cnt2

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: GlbLimr_Init1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: GlbLimr_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 Runnables

None

Interrupt Functions

None

Module Internal (Local) Functions

GlbLimrCompensator

Function NameGlbLimrCompensatorTypeMinMax
Arguments PassedAssist_MotNwtMtr_T_f32float32-8.88.8
GlbLimrNotchNumberFil1_Uls_T_f32float32-10000000001000000000
GlbLimrNotchNumberFil2_Uls_T_f32float32-10000000001000000000
Return ValueCompAssist_MotNwtMtr_T_f32float32-8.88.8

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
5See Synergy Sub Project Version

11.3 - GlbLimr_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:



GlbLimr
Revision / Baseline:


SF110A_GlbLimr_Impl_1.0.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#22473


































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.5



0.5


0


2





Other reviewers:









0



0


0









Total hours









1



1


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:

Marek Brykczyński


Review Date :

04/20/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






















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:

Marek Brykczyński

Review Date :

04/20/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:


GlbLimr.c

Source File Revision:


1
Header File Name:


-

Header File Revision:


-

























MDD Name:


GlbLimr_MDD.docx
Revision:
1

























SWC Design Name:


SF110A_GlbLimr_Design
Revision:
1.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 :

04/20/18
































Lead Peer Reviewer:


Krzysztof Byrski


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Wojciech Janusz



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:

GlbLimr_MDD.docx
MDD Revision:

1


























Source File Name:


GlbLimr.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








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








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/20/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:


GlbLimr.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.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 :

04/20/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















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 - Component Implementation

Component Implementation

Component Documentation

12.1 - HiLoadStallLimr_IntegrationManual

Integration Manual

For

HiLoadStallLimr

VERSION: 1.0

DATE: 19-AUG-2015

Prepared By:

Krishna Kanth Anne,

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 versionKrishna Kanth Anne1.019-Aug-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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
1SF017A_HiLoadStallLimr_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
HiLoadStallLimrInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
HiLoadStallLimrPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

12.2 - HiLoadStallLimr_MDD

Module Design Document

For

HiLoadStallLimr

March 22, 2018

Prepared By:

Jayakrishnan T,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrishna Kanth AnneEA4 01.00.0119-Aug-2015
Updated to Design Ver 2.0.0Matthew Leser2.028-Feb-2017
Updated DiagramMatthew Leser3.020-Oct-2017
Updated Local constant valuesJayakrishnan T4.022-Mar-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

2 HiLoadStallLimr & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of HiLoadStallLimr 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: HiLoadStallLimrInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: HiLoadStallLimrPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function #1 9

5.5 GLOBAL Function/Macro Definitions 10

5.5.1 GLOBAL Function #1 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

MDD for HiLoadStallLimr

HiLoadStallLimr & High-Level Description

Please refer FDD.

Design details of software module

Graphical representation of HiLoadStallLimr

Data Flow Diagram

Please refer FDD.

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Please refer .m file
IVTRLOABITMASK_CNT_U081CNT2U
FETLOABITMASK_CNT_U081CNT4U

Software Component Implementation

Sub-Module Functions

None

Init: HiLoadStallLimrInit1

Design Rationale

Module Outputs

None

Per: HiLoadStallLimrPer1

Design Rationale

None

Store Module Inputs to Local copies

Please refer FDD

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameNoneTypeMinMax
Arguments PassedNoneNANANA
NoneNANANA
Return ValueNANANANA

GLOBAL Function/Macro Definitions

GLOBAL Function #1

Function NameNATypeMinMax
Arguments PassedNone
NA
Return ValueNA

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.0
5FDD : SF017A_HiLoadStallLimr_DesignSee Synergy sub project version

12.3 - HiLoadStallLimr_Review


Overview

Summary Sheet
Synergy Project
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:



HiLoadStallLimr
Revision / Baseline:


SF017A_HiLoadStallLimr_Impl_3.1.0
































Change Owner:


Jayakrishnan T
Work CR ID:


EA4#21877


































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


N/ADavinci Files




















































































All required reviewers participated





No





















































Comments:

Siva did an offline review of the changes as he was busy with other meetings and I had to get the component










reviewed before Noon


































































































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









Total hours









0.5



1


0


1.5




































Content reviewed





























Lines of code:


6


Elements of .arxml content:




0

Pages of documentation:



3































































































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:

Jayakrishnan T


Review Date :

03/22/18
































Lead Peer Reviewer:


Matt Lesser


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:


HiLoadStallLimr.c

Source File Revision:


4
Header File Name:





Header File Revision:




























MDD Name:


HiLoadStallLimr_MDD.docx
Revision:
4

























SWC Design Name:


SF017A_HiLoadStallLimr_Design
Revision:
3.1.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:









Yes
Version:
























EA4 Software Naming Convention followed:









Yes
Version:

























for variable names







N/A
Comments:

















































for constant names







N/A
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








N/A
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.








N/A
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:

























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







N/A
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:

Jayakrishnan T


Review Date :

03/22/18
































Lead Peer Reviewer:


Matt Lesser


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Siva







Comments:




















































Integrator and or
SW lead:
Akilan







Comments:













































































Unit test co-ordinator:


Vivek







Comments:
























































Other Reviewer(s):









































































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





































































Sheet 4: MDD






















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


























MDD Name:



HiLoadStallLimr_MDD.docx











MDD Revision:

4


























Source File Name:




HiLoadStallLimr.c









Source 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








N/A
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:

Jayakrishnan T


Review Date :

03/22/18
































Lead Peer Reviewer:


Matt Lesser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 5: PolySpace






















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




























Source File Name:



HiLoadStallLimr.c












Source File Revision:


4

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.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:

Jayakrishnan T




Review Date :

03/22/18


































Lead Peer Reviewer:


Matt Lesser




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































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
















































Sheet 6: 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 7: 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 - HwRefTqSum_IntegrationManual

Integration Manual

For

HwRefTqSum

VERSION: 2.0

DATE: 7-Mar-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 versionTATA1.002/12/2018
2

Updated to add the include path present- sec 5.3

Updated sec 3.2 to explain the new Init function

Nimmy Mathews2.07-Mar-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 Non RTE NvM Blocks 10

7.4 RTE 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
1FDD: SF069A_HwRefTqSum_Design_1.0.0See synergy sub project version
2Software Naming Conventions1.0.3 draft
3Software Coding Standards3.0 draft

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

Note: There is a global Non-Rte function HwRefTqSum_Init. This init function is generated by embedded coder and is not present in the Simulink model. This function is always empty and shall not be called. Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
NoneN/A

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
NoneN/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
NoneN/A

Manual Configuration Changes

ConstantNotesSWC
NoneN/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

Yes Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
HwRefTqSumInit1NoneRTE Init
RunnableScheduling RequirementsTrigger
HwRefTqSumPer1NoneRTE (2ms)
Srv RunnableScheduling RequirementsTrigger
NoneNoneNone
Srv RunnableScheduling RequirementsTrigger
NoneNoneNone

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
HwRefTqSum_START_SEC_CODECode

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

13.2 - HwRefTqSum_MDD

Module Design Document

For

HwRefTqSum

March 7, 2018Feb 12, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Change History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionTATA1.012-Feb-2018
2Updated to add the additional _Init function generated for autocode in Section 5Nimmy Mathews27-Mar-2018

Table of Contents

1 Introduction 4

1.1 Purpose 4

2 HwRefTqSum & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of HwRefTqSum 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: HwRefTqSumInit1 8

5.1.2 Init: HwRefTqSum_Init 8

5.1.3 Per: HwRefTqSumPer1 8

5.2 Server Runnables 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 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

MDD for HwRefTqSum

HwRefTqSum & High-Level Description

Please refer FDD.

Design details of software module

Graphical representation of HwRefTqSum

Data Flow Diagram

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 Data Dictionary .m fileNANANA

Software Component Implementation

Sub-Module Functions

Init: HwRefTqSumInit1

Design Rationale

None

Module Outputs

None

Init: HwRefTqSum_Init

Design Rationale

_This init function is generated by embedded coder and is not present in the Simulink model.

This function is always empty and is not called.

Module Outputs

There are no outputs for this function.

Per: HwRefTqSumPer1

Design Rationale

None

Store Module Inputs to Local copies

None

Processing of function

None

Store Local copy of outputs into Module Outputs

None

Server Runnables

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

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 Guideline1.02
3Software Naming Conventions.doc1.0.3 draft
4Software Design and Coding Standards.doc3.0 draft
5FDD: SF069A_HwRefTqSum_Design_1.0.1See Synergy sub project version

13.3 - HwRefTqSum_Review


Overview

Summary Sheet
Synergy Project
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:



HwRefTqSum
Revision / Baseline:


SF069A_HwRefTqSum_AGC_Impl_1.1.0
































Change Owner:


Nimmy Mathews
Work CR ID:


EA4#20880


































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:









1



1


0









Component developer reviewers:









0



2


0


4





Other reviewers:









0



1


0









Total hours









1



4


0


5




































Content reviewed





























Lines of code:


25


Elements of .arxml content:







Pages of documentation:



4































































































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:

Nimmy Mathews


Review Date :

03/09/18
































Lead Peer Reviewer:


Matthew Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):




Shawn Penning
Siva


































































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:


HwRefTqSum.c

Source File Revision:


2
Header File Name:


HwRefTqSum.h

Header File Revision:


1

























MDD Name:


HwRefTqSum_MDD.doc
Revision:
2

























SWC Design Name:


SF069A_HwRefTqSum_Design
Revision:
1.0.1


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:1.0.1
























EA4 Software Naming Convention followed:











Version:1.0.3 draft

























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








No
Comments:



and Version Control version in file comment block











Need new rules for autocoding
























Change log contains detailed description of changes








No
Comments:



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











Need new rules for autocoding
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



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











Verified using SIL testing
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








Yes
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:






































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







No
Comments:










contain correct information: [N43]










Need new rules for autocoding

























Code formatting (indentation, placement of







Yes
Comments:










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










As per the draft version 3.0

[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:

Nimmy Mathews


Review Date :

03/09/18
































Lead Peer Reviewer:


Matthew Leser


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Nimmy Mathews







Comments:




















































Integrator and or
SW lead:









Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):


Siva, Shawn Penning





































































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









Steven Horwath


























































Sheet 4: MDD






















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


























MDD Name:

HwRefTqSum_MDD.doc













MDD Revision:

2


























Source File Name:


HwRefTqSum.c











Source 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











No change for this version


























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:

Nimmy Mathews


Review Date :

03/09/18
































Lead Peer Reviewer:


Matthew Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):


siva


Shawn Penning


































































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












































Sheet 5: PolySpace






















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




























Source File Name:


HwRefTqSum.c













Source File Revision:


2

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







2.0 draft
















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:

Nimmy Mathews




Review Date :

03/09/18


































Lead Peer Reviewer:


Matthew Leser




Approved by Reviewer(s):



Yes

































Other Reviewer(s):




Shawn Penning
Siva










































































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:



HwRefTqSum_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:

Nimmy Mathews


Review Date :

03/09/18
































Lead Peer Reviewer:


Matthew Leser


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:
Kevin Smith


Comments:

















































Other Reviewer(s):


Siva



















Shawn Penning








































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

14 - Component Implementation

Component Implementation

Component Documentation

14.1 - HwTqTrakgCtrl_IntegrationManual

Integration Manual

For

HwTqTrakgCtrl

VERSION: 1.0

DATE: 7-MARCH-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 versionNimmy Mathews1.07-Mar-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 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

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.0.3 draft
2Software Design and Coding Standards3.0 draft
3SF070A_HwTqTrakgCtrl_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

Note: There is a global Non-Rte function HwTqTrakgCtrl_Init. This init function is generated by embedded coder and is not present in the Simulink model. This function is always empty and shall not be called.

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

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
HwTqTrakgCtrlInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
HwTqTrakgCtrlPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
HwTqTrakgCtrl_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

14.2 - HwTqTrakgCtrl_MDD

Module Design Document

For

HwTqTrakgCtrl

May 9, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial versionNimmy Mathews17-Mar-2018
Added new input MotTqCmdOvrlNimmy Mathews29-May-2018


Table of Contents

Table of Contents 3

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 HwTqTrakgCtrl High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of HwTqTrakgCtrl 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: HwTqTrakgCtrlInit1 8

5.1.2 Init: HwTqTrakgCtrl_Init 8

5.1.3 Per: HwTqTrakgCtrlPer1 8

5.2 Server Runnables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 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 SF070A_HwTqTrakgCtrl_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.

HwTqTrakgCtrl High-Level Description

This component is used to calculate motor torque command from estimate, torsion bar states, handwheel torque command and tracking control gains.

Design details of software module

Graphical representation of HwTqTrakgCtrl

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
SYSTQRATMAXVAL_HWNWTMTRPERMOTNWTMTR_F32Single precisionHwNwtMtrPerMotNwtMtr50
SYSTQRATMINVAL_HWNWTMTRPERMOTNWTMTR_F32Single precisionHwNwtMtrPerMotNwtMtr10

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: HwTqTrakgCtrlInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Init: HwTqTrakgCtrl_Init

Design Rationale

This init function is generated by embedded coder and is not present in the Simulink model.

This function is always empty and is not called.

Module Outputs

There are no outputs for this function.

Per: HwTqTrakgCtrlPer1

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 Runnables

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.0.3 draft
4Software Design and Coding Standards3.0 draft
5SF070A_HwTqTrakgCtrl_DesignSee Synergy Sub Project Version

14.3 - HwTqTrakgCtrl_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:



HwTqTrakgCtrl
Revision / Baseline:


SF070A_HwTqTrakgCtrl_AGC_Impl_2.0.0
































Change Owner:


Nimmy Mathews
Work CR ID:


EA4#21439


































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:









1



1


1









Component developer reviewers:









0



0


0


3





Other reviewers:









0



0


0









Total hours









1



0


1


2




































Content reviewed





























Lines of code:


10


Elements of .arxml content:




8

Pages of documentation:



5































































































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:
















Waiting for baseline


























.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:























Remove unused file from tools folder - Component.dzvc93.silent.dcusr































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

05/14/18
































Lead Peer Reviewer:


Avinash James


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









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






































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:

Nimmy Mathews

Review Date :

05/14/18
Component Type :


Application




























Lead Peer Reviewer:


Avinash James

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:


HwTqTrakgCtrl.c

Source File Revision:


2
Header File Name:


HwTqTrakgCtrl.h

Header File Revision:


2

























MDD Name:


HwTqTrakgCtrl_MDD.docx
Revision:
2

























SWC Design Name:


SF070A_HwTqTrakgCtrl_Design
Revision:
2.0.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:1.0.1
























EA4 Software Naming Convention followed:











Version:1.0.3 draft

























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








No
Comments:



and Version Control version in file comment block











Need new rules for autocoding
























Change log contains detailed description of changes








No
Comments:



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











Need new rules for autocoding
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



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











Verified using SIL testing
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








Yes
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:






































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







No
Comments:










contain correct information: [N43]










Need new rules for autocoding

























Code formatting (indentation, placement of







Yes
Comments:










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










As per the draft version 3.0

[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







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









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:























Complexity in understanding the code- Better to break up the code to multiple lines
























































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

05/14/18
































Lead Peer Reviewer:


Avinash James


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:

HwTqTrakgCtrl_MDD.doc













MDD Revision:

2


























Source File Name:


HwTqTrakgCtrl.c











Source 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:

Nimmy Mathews


Review Date :

05/14/18
































Lead Peer Reviewer:


Avinash James


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:


HwTqTrakgCtrl.c













Source File Revision:


2

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







2.0 draft
















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:

























Polypsace Compilation Error: The prototype for Rte_Read_TorsBarStEstimd_Rec is not available in the Rte_Stubs.h file due to TL109 limitation to support input structure will cause compilation error. The Rte_Read_TorsBarStEstimd_Val in the Rte_Stubs.h has been manually changed to Rte_Read_TorsBarStEstimd_Rec to resolve this issue

Polypsace Overflow Warning: Polsypace gives overflow warning for the structure elements since DRS doesn’t include the min/max for the structure elements due to the limitation of TL109 to support input structure. Hence the min/max of the structure elements are added manually to DRS to remove this overflow warning.

































Review Board:




























Change Owner:

Nimmy Mathews




Review Date :

05/14/18


































Lead Peer Reviewer:


Avinash James




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

15 - Component Implementation

Component Implementation

Component Documentation

15.1 - InertiaCmpVel_IntegrationManual

Integration Manual

For

InertiaCmpVel

VERSION: 1.0

DATE: 23-Jul-2015

Prepared By:

Spandana Balani

Nexteer Automotive,

Saginaw, MI, USA


Revision History

: ARM Cortex R4 Memory Usage

Sl. No.DescriptionAuthorVersionDate
1Initial versionSB1.023-July-2015


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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 4.01.00
<2><Software Naming Conventions>Process 4.01.00
<3><Coding standards>Process 4.01.00
<4>FDD – SF014A_InertiaCmpVel_DesignSee Synergy Subproject version

Dependencies

SWCs

ModuleRequired Feature
None

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

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
FLTINJENASet to STD_ON for Fault injection

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
InertiaCmpVelInit1On InitRTE_Init
RunnableScheduling RequirementsTrigger
InertiaCmpVelPer1NoneRTE(2ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

15.2 - InertiaCmpVel_MDD

Module Design Document

For

InertiaCmpVel

August 18, 2017

Prepared By:

Matthew Leser,

Nexteer Automotive,

Saginaw, MI, USA
Change History

SNoDescriptionAuthorVersionDate
1Initial VersionSB1.023-Jul-2015
2Updated to version 1.3.0 of designSB2.011-Mar-2016
3Updated to version 1.7.0 and 1.8.0 of designKK3.021-Jun-2016
4Updated to version 1.9.0 of designKK4.014-Jul-2016
5Updated Graph and function inputML5.018-Aug-2017


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 InertiaCmpVel & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of InertiaCmpVel 6

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.1 Sub-Module Functions 9

5.1.2 Interrupt Service Routines 9

5.1.3 Server Runnable Functions 9

5.1.4 Module Internal (Local) Functions 9

5.1.5 Transition Functions 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

Scope

InertiaCmpVel & High-Level Description

Refer FDD

Design details of software module

Graphical representation of InertiaCmpVel

Data Flow Diagram

Component level DFD

Refer FDD

Function level DFD

Refer FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

None

Global Constants

Refer .m file

User defined typedef definition/declaration

This section documents any user types uniquely used for the module.

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

typedef struct FilCoeffRecb0_Uls_f32Float32FULLFULL
b1_Uls_f32Float32FULLFULL
b2_Uls_f32Float32FULLFULL
a0_Uls_f32Float32FULLFULL
a1_Uls_f32Float32FULLFULL
a2_Uls_f32Float32FULLFULL

Software Component Implementation

Sub-Module Functions

Initialization sub-module InertiaCmpVelInit1()

Design Rational:

Init function is not present in the model but in reference to the Init.txt text file Low pass filter and Notch filter are initialized.

For Low pass filter standard EA4 LPF implementation from NxtrFil.h is followed and for Notch filter initialization, EA3 implementation is followed.

Periodic sub-module InertiaCmpVelPer1()

Interrupt Service Routines

None

Server Runnable Functions

None

Module Internal (Local) Functions

Calculate Driver Velocity

Function NameDrvrVelCalcTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-1010
MotVelCrf_MotRadPerSec_T_f32float32-13501350
VehSpd_Kph_T_f32float320511
Return ValueScadDrvrVel_MotRadPerSec_T_f32float32-13501350

Calculate ADD Coefficient

Function NameADDCoeffCalcTypeMinMax
Arguments PassedAssiCmdBas_MotNwtMtr_T_f32float32-8.88.8
WhlImbRejctnAmp_MotNwtMtr_T_f32float3208.8
VehSpd_Kph_T_f32float320511
Return ValueADDCoeffCalc_MotNwtMtrSpRad_T_f32float320.00.00007

Calculate Gain

Function NameDecelGainTypeMinMax
Arguments PassedVehLgtA_KphPerSec_T_f32float32-3535
MotVelCrf_MotRadPerSec_T_f32float32-13501350
Return ValueDecelGain_Uls_T_f32float3201

Calculate Filter Coefficients

Function NameFilCoeffCalcTypeMinMax
Arguments PassedADDCoeff_MotNwtMtrPerMotRadPerSec_T_f32float320.00.041306
WhlImbRejctnAmp_MotNwtMtr_T_f32float3208.8
VehSpd_Kph_T_f32float320511
Return Value*FilCoeff_T_Recb0_Uls_f32float32-2.741562052401790
b1_Uls_f32float320.00.330448
b2_Uls_f32float32-0.1600838624551132.41111405240179
a0_Uls_f32float320.55258853.9498924
a1_Uls_f32float32-7.9996842-4.8417266
a2_Uls_f32float324.050423410.6056849

Generate Command

Function NameGenFddIcCmdTypeMinMax
Arguments PassedScadDrvrVel_MotRadPerSec_T_f32float32-7226.6527226.652
*FilCoeff_T_Recb0_Uls_f32float32-2.741562052401790
b1_Uls_f32float320.00.330448
b2_Uls_f32float32-0.1662621330091642.41111405240179
a0_Uls_f32float320.55258853.9498924
a1_Uls_f32float32-7.9996842-4.8417266
a2_Uls_f32float324.050423410.6056849
Return ValueInertiaCmp_MotNwtMtr_T_f32Float-8.88.8

NotchCmp

Function NameNotchCmpTypeMinMax
Arguments PassedVehSpd_Kph_T_f32float320511
InertiaCmp_MotNwtMtr_T_f32float32-8.88.8
WhlImbRejctnAmp_MotNwtMtr_T_f32float3208.8
Return ValueNotchCmp _MotNwtMtr_T_f32float32-8.88.8

FilNotchFullUpdOutp_f32

Function NameFilNotchFullUpdOutp_f32TypeMinMax
Arguments PassedInpfloat32See unit test consideration
FilNotchStRecPtrFilNotchStRec1
FilNotchGainRecPtrFilNotchGainRec1
Return ValueNone
Description

Notch filter output calculation implemented based on ‘Inertia Comp Notch’ block functionality.

FilNotchInit

Function NameFilNotchInitTypeMinMax
Arguments PassedInpfloat32See unit test consideration
FilNotchStRecPtrFilNotchStRec1
FilNotchGainRecPtrFilNotchGainRec1
Return ValueFilOutfloat32
Description

Notch filter initialization function implemented based on EA3 design.

Transition Functions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

  1. Since the notch filter implementation used in this module is dynamic in nature, absolute ranges are difficult to determine without pre-defined knowledge on the combination of coefficient values (A1, A2, B0, B1, B2). Because of this, the systems group ran simulations on 10 different combinations of coefficients (2 with defined default calibrations, 8 considered extreme cases of notch filters) and logged the ranges of the filter state variables and outputs during a frequency sweep. The ranges given throughout this module were taken as the worst case results of all of the given test cases.

To provide useful cases for unit testing, the boundary checks tested during unit testing should be altered to test the state variable minimum and maximum for each of the 10 test cases with the given coefficients set to the values given in that test case. In the case where the default values of the coefficients are used in a vector, the unit tester should not test the corresponding state variables with values over the range defined for that set of coefficients. See attached simulation results.

  1. GenFddIcCmd function is designed to work with argument values from the calling function as used with the other functions in the module, and outputs may be out of the expected range if tested with arbitrary combinations of input values. Unit testing of this function should use only passed argument value combinations coming from the calling function.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc2.0
4Software Design and Coding Standards.doc2.1
5FDD – SF014A_InetiaCmpVel_DesignSee Synergy Sub project version

15.3 - InertiaCmpVel_PeerReview


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 2.0029-Nov-17

Nexteer SWC Implementation Peer Review Summary Sheet


























Component Short Name:


Windows User: 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
InertiaCmpVel
Revision / Baseline:

Windows User: 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
SF014A_IntertiaCmpVel_Impl_1.13.0

























Change Owner:
Windows User: Intended Use: Identify the developer who made the change(s) being reviewed

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

EA4#19710





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. 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.
























































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form 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








































































Comments:































































































































































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. Before the peer review, the change owner shall:
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.0029-Nov-17

























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:

Matthew Leser


Review Date :

02/06/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 3: Source Code






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


InertiaCmpVel.c
Source File Revision:


Windows User: 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) 10
Header File Name:





Header File Revision:


Windows User: 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)

























MDD Name:


InertiaCmpVel_MDD.docx
Revision:
Windows User: 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) 5

























SWC Design Name:


SF014A_InertiaCmpVel_Design
Revision:
Windows User: Intended Use: For FDDs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the FDD baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1" 1.16.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.01.00

























for variable names







N/A
Comments:

















































for constant names







N/A
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








N/A
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.








N/A
Comments:
















































Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


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 or Model)








Yes
Comments:



in all areas where code was changed and/or Simulink













model was color-coded as changed and/or mentioned






















in SWC Design change log. (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.)














































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





KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used.


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








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











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

























Code comments are clear, correct, and adequate







N/A
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







N/A
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







N/A
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:

Matthew Leser


Review Date :

02/06/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Fei Yuan



Comments:




















































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.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


InertiaCmpVel.c




Source File Revision:


10

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







01.04.00







Poly Space version:

Windows User: eg. 2013b

2013b





TL109A sub project version:

2.2.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)




















































Cyclomatic complexity and Static path count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Matthew Leser




Review Date :

02/06/18


































Lead Peer Reviewer:


Avinash James




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































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















































16 - Component Implementation

Component Implementation

Component Documentation

16.1 - LimrCdng_IntegrationManual

Integration Manual

For

LimrCdng

VERSION: 1.0

DATE: 22-Jul-2015

Prepared By:

Nick Saxton,

Nexteer Automotive,

Saginaw, MI, USA

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionN. Saxton1.022-Jul-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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
1Software Naming Conventions2.0
2Software Design and Coding Standards2.1
3SF038A LimrCdng FDDSee Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature
None

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

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
FLTINJENASet to STD_ON for Fault Injection

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 .m file in FDD

Required Global Data Outputs

Refer .m file in FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
None
RunnableScheduling RequirementsTrigger
LimrCdngPer1NoneRTE (2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

16.2 - LimrCdng_MDD

Module Design Document

For

LimrCdng

July 22, 2015

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Nick Saxton,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionN. Saxton1.0.022-Jul-2015


Table of Contents

1 LimrCdng High-Level Description 4

2 Design details of software module 5

2.1 Graphical representation of LimrCdng 5

2.2 Data Flow Diagram 5

2.2.1 Component level DFD 5

2.2.2 Function level DFD 5

3 Constant Data Dictionary 6

3.1 Program (fixed) Constants 6

3.1.1 Embedded Constants 6

4 Software Component Implementation 7

4.1.1 Sub-Module Functions 7

4.1.2 Interrupt Service Routines 7

4.1.3 Server Runnable Functions 7

4.1.4 Module Internal (Local) Functions 7

4.1.5 Transition Functions 7

5 Known Limitations with Design 8

6 UNIT TEST CONSIDERATION 9

Appendix A Abbreviations and Acronyms 10

Appendix B Glossary 11

Appendix C References 12

LimrCdng High-Level Description

This function provides a layer of protection from erroneous signals feeding into SF04 Sum & Limit. It is applied primarily to limiting signals that serve to reduce motor torque command under certain operating conditions. This function can prevent step response or toggling behavior that might cause undesirable vehicle feel. It includes fault injection capability at some inputs to facilitate tuning.

Design details of software module

Refer FDD

Graphical representation of LimrCdng

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

Refer .m file

Software Component Implementation

Sub-Module Functions

Initialization sub-module {_Init()}

None

Periodic sub-module {LimrCdngPer1}

Refer FDD

Interrupt Service Routines

None

Server Runnable Functions

None

Module Internal (Local) Functions

None

Transition Functions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

None

Abbreviations and Acronyms

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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc2.0
4Software Design and Coding Standards.doc2.1
5SF038A LimrCdng FDDSee Synergy subproject version

16.3 - LimrCdng_PeerReview


Overview

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


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF038A_LimrCdng_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. 1.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Nick Saxton
Work CR ID:


EA4#853





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

07/31/15
































Lead Peer Reviewer:


Spandana


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sankar






































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








N/A
Comments:

Initial version

versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:

LimrCdngTqIncSlewY should be Ary1D_u13p3_2 - Done 8/3/15

file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:

No display variables
PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton
Review Date :

07/31/15
Component Type :


Application



























Lead Peer Reviewer:


Spandana
Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Sankar






































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


LimrCdng.c

Source File Revision:


1
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

LimrCdng_MDD.docx

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF038A_LimrCdng_Design_1.0.0

Revision:
1


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:






















Cal tables need '_u9p7/u13p3' at end of names - Done 7/31/15

























for constant names







Yes
Comments:

















































for function names







Yes
Comments:

















































for other names (component, memory







Yes
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








Yes
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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 execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

07/31/15
































Lead Peer Reviewer:


Spandana


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sankar






































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

LimrCdng_MDD.docx
MDD Revision:

1


























Source File Name:


LimrCdng.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)








N/A
Comments:

Initial version










































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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

07/31/15
































Lead Peer Reviewer:


Spandana


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sankar






































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


LimrCdng.cSource File Revision:


1

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







1







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A

QAC version:


Windows User: eg 8.1.1-R 8.1.1-R
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 1.1.0


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline










Refer comments

















Are previously added justification and deviation








N/A
Comments:

Initial version


comments still appropriate






































Do all MISRA deviation comments use approved








No
Comments:





deviation tags










Refer comments


























Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























11.5 warning appears to be a bug in polyspace because the 'const' qualifier is retained
12.3 warnings on 'sizeof' are because the cals appear in contract file as functions
19.11 warning is evaluated and code is OK. Deviation comments to be added after the approved Deviation tag and Rationale are added to the MISRA deviation list



































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

07/31/15
































Lead Peer Reviewer:


Spandana


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sankar






































































Sheet 7: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. LimrCdng_IntegrationManual.doc

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 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:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

07/31/15
































Lead Peer Reviewer:


Spandana


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Sankar





































































17 - Component Implementation

Component Implementation

Component Documentation

17.1 - LoaMgr_IntegrationManual

Integration Manual

For

LoaMgr

VERSION: 1.0

DATE: 06-Oct-2017

Prepared By:

Matthew Leser,

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 versionMatthew Leser1.006-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 Non RTE NvM Blocks 10

7.4 RTE 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
1FDD : SF049B_LoaMgr_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

Dependencies

SWCs

ModuleRequired Feature
None

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

Exclusive Area ‘LoaMgrExclusiveArea’ must be configured to block OS interrupts.

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
LoaMgrInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
LoaMgrPer1NoneRTE (4 ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None.

Appendix

None

17.2 - LoaMgr_MDD

Module Design Document

For

LoaMgr

October 6, 2017

Prepared By:

Matthew Leser

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA


Change History

DescriptionAuthorVersionDate
Initial VersionMatthew Leser106-Oct-2017


Table of Contents1 Introduction 5

1.1 Purpose 5

2 LoaMgr High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of LoaMgr 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: LoaMgrInit1 10

5.1.1.1 Design Rationale 10

5.1.1.2 Module Outputs 10

5.1.2 Per: LoaMgrPer1 10

5.1.2.1 Design Rationale 10

5.1.2.2 Store Module Inputs to Local copies 10

5.1.2.3 (Processing of function)……… 10

5.1.2.4 Store Local copy of outputs into Module Outputs 10

5.2 Server Runables 10

5.3 Interrupt Functions 10

5.4 Module Internal (Local) Functions 10

5.4.1 Local Function #1 10

5.4.1.1 Design Rationale 10

5.4.1.2 Processing 11

5.4.2 Local Function #2 11

5.4.2.1 Design Rationale 11

5.4.2.2 Processing 11

5.4.3 Local Function #3 11

5.4.3.1 Design Rationale 11

5.4.3.2 Processing 11

5.4.4 Local Function #4 11

5.4.4.1 Design Rationale 11

5.4.4.2 Processing 11

5.4.5 Local Function #5 12

5.4.5.1 Design Rationale 12

5.4.5.2 Processing 12

5.4.6 Local Function #6 12

5.4.6.1 Design Rationale 12

5.4.6.2 Processing 12

5.4.7 Local Function #7 12

5.4.7.1 Design Rationale 12

5.4.7.2 Processing 13

5.4.8 Local Function #8 13

5.4.8.1 Design Rationale 13

5.4.8.2 Processing 13

5.5 GLOBAL Function/Macro Definitions 13

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

MDD for Loss of Assist Manager

LoaMgr High-Level Description

Refer to FDD

Design details of software module

Graphical representation of LoaMgr

Data Flow Diagram

Refer FDD

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Refer .m file

Software Component Implementation

Sub-Module Functions

Init: LoaMgrInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: LoaMgrPer1

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 #1

Function NameLtchInpTypeMinMax
Arguments PassedIdptSig_Cnt_T_u08uint804
MaxAllwdVal_Cnt_T_u08uint824
*PrevVal_Cnt_T_u08uint804
Return ValueHwTqResp_Cnt_T_u08uint804

Design Rationale

None

Processing

Refer to ‘Latch_Inputs’ block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/Latch_Inputs’

Local Function #2

Function NameCntMtgtnReqTypeMinMax
Arguments PassedHwTqLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
MotAgLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
CurrMeasLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
Return ValueMultiMtgtnResp_Cnt_T_u08uint803

Design Rationale

None

Processing

Refer to ‘CntMtgtnReq’ block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses/CntSwBasdMtgtn/CntMtgtnReq’

Local Function #3

Function NameReqHwTqRespTypeMinMax
Arguments PassedHwTqIdptMin_Cnt_T_u08uint804
TqLoaAvl_Cnt_T_lgcbooleanFALSETRUE
Return ValueHwTqResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘HwTqResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #4

Function NameReqMotAgRespTypeMinMax
Arguments PassedMotAgIdptMin_Cnt_T_u08uint803
MotAgSnsrlsAvl_Cnt_T_loglbooleanFALSETRUE
Return ValueMotAgResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘MotAgResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #5

Function NameReqCurrMeasRespTypeMinMax
Arguments PassedCurrMeasIdptMin_Cnt_T_u08uint802
Return ValueCurrMeasResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘CurrMeasResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #6

Function NameReqInvtrRespTypeMinMax
Arguments PassedIvtrIdptMin_Cnt_T_u08uint802
Return ValueInvtrResp_Cnt_T_u08uint805

Design Rationale

None

Processing

Refer to ‘CurrMeasResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Request_Responses’

Local Function #7

Function NameCntSwBasdMtgtnChkTypeMinMax
Arguments PassedResp_Cnt_T_u08uint805
PrevMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
Return ValueMtgtnEna_Cnt_T_lgcbooleanFALSETRUE

Design Rationale

None

Processing

This function corresponds to common logic (for all requests) in ‘CntSwBasdMtgtn’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses’

Local Function #8

Function NameSelFinalRespTypeMinMax
Arguments PassedMultiMtgtnResp_Cnt_T_u08uint805
HwTqResp_Cnt_T_u08uint805
MotAgResp_Cnt_T_u08uint805
CurrMeasResp_Cnt_T_u08uint805
InvtrResp_Cnt_T_u08uint805
Return ValueLoaSt_Cnt_T_enumLoaSt105

Design Rationale

None

Processing

This function corresponds to ‘SelFinalResp’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Arbitrate_Responses’

Local Function #9

Function NameSetFaultsTypeMinMax
Arguments PassedLoaSt_Cnt_T_enumLoaSt105
HwTqIdptMin_Cnt_T_u08uint804
MotAgIdptMin_Cnt_T_u08uint803
CurrMeasIdptMin_Cnt_T_u08uint802
IvtrIdptMin_Cnt_T_u08uint802
Return ValueNone

Design Rationale

None

Processing

This function corresponds to ‘Set_Faults’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1’

Local Function #10

Function NameSwMtgtnEnTypeMinMax
Arguments PassedHwTqLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
MotAgLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
CurrMeasLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
VehSpeedMod_Cnt_T_enumenumSTEERMOD_BASEPSSTEERMOD_FULLYATNMS
*LoaSca_Uls_T_f32float3201
*LoaRateLim_UlsPerSec_T_f32float320.01500
Return ValueNone

Design Rationale

None

Processing

This function corresponds to ‘SwMtgtn’ block in FDD at ‘SF049A_LoaMgr/LoaMgr/LoaMgrPer1/Assign_Scale’.

Note that ‘*LoaSca_Uls_T_f32’ and ‘*LoaRateLim_UlsPerSec_T_f32’ are the outputs of this function.

Local Function #11

Function NameLoaMgrCoderTypeMinMax
Arguments PassedCurrMeasLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
FetLoaMtgtnEna_Cnt_T_lgcbooleanFALSETRUE
Return ValueMotAndThermProtnLoaMod_Cnt_T_u08uint807

Design Rationale

None

Processing

This function corresponds to ‘coder block in FDD at ‘SF049B_LoaMgr/LoaMgr/LoaMgrPer1/coder’ .

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

To satisfy IF case inside function ‘LtchInp’, out of range values will need to be given for values passed to function.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.01
3Software Naming Conventions.docEA4 01.00.00
4Software Design and Coding Standards.doc2.1
5FDD : SF049B_LoaMgr_DesignSee Synergy sub project version

17.3 - LoaMgr_Review


Overview

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


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF049B_LoaMgr_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF049B_LoaMgr_Impl_1.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Matthew Leser
Work CR ID:


EA4#14942





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:

ICR EA4#16526 was submitted to update design to add Exclusive Area. This was not done before because SF049B was created before update was done to SF049A.



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

10/25/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Pratik J
Brendon Binder




































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








N/A
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.








Initital Version
























Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD




































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser
Review Date :

10/25/17
Component Type :


Application



























Lead Peer Reviewer:


Avinash James
Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Pratik J
Brendon Binder




































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


LoaMgr.c
Source File Revision:


1
Header File Name:


N/A
Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

LoaMgr_MDD.docx
Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF049B_LoaMgr_Design
Revision:
1.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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 execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

10/25/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Pratik J
Brendon Binder




































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

LoaMgr_MDD.docx
MDD Revision:

1


























Source File Name:


LoaMgr.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)








N/A
Comments:

















Initial Version


























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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








Yes
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

10/25/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Pratik J
Brendon Binder




































































Sheet 6: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. LoaMgr_IntegrationManual.doc

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 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:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

10/25/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Pratik J
Brendon Binder




































































Sheet 7: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


LoaMgr.cSource File Revision:


1

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.03.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























Code Prover flags for Dead Code. This is done intentionally for Safety Purpose.


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

10/25/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Pratik J
Brendon Binder



































































18 - Component Implementation

Component Implementation

Component Documentation

18.1 - LrndRackCentr_IntegrationManual

Integration Manual

For

LrndRackCentr

VERSION: 1.0

DATE: 27-Oct-2017

Prepared By:

Matthew Leser,

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 versionML1.027-Oct-2017

Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 Dependencies 7

3.1 SWCs 7

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

4 Configuration REQUIREMeNTS 8

4.1 Build Time Config 8

4.2 Configuration Files to be provided by Integration Project 8

4.3 Da Vinci Parameter Configuration Changes 8

4.4 DaVinci Interrupt Configuration Changes 8

4.5 Manual Configuration Changes 8

5 Integration DATAFLOW REQUIREMENTS 9

5.1 Required Global Data Inputs 9

5.2 Required Global Data Outputs 9

5.3 Specific Include Path present 9

6 Runnable Scheduling 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 04.02.00
<2><Software Naming Conventions>Process 04.02.00
<3><Coding standards>Process 04.02.00
<4>FDD – SF039A_LrndRackCentr_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

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 .m file

Required Global Data Outputs

Refer .m file

Specific Include Path present

None

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
LrndRackCentrInit1NoneRTE Init
RunnableScheduling RequirementsTrigger
LrndRackCentrPer1None4 ms
RstRackCentrMotAgNoneOn Event
RstRackCentrMotRevNoneOn Event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None
LrndRackCentr_START_SEC_CODE

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

Refer to FDD

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

18.2 - LrndRackCentr_MDD

Module Design Document

For

LrndRackCentr

October 26, 2017

Prepared By:

Matthew Leser,

Nexteer Automotive,

Saginaw, MI, USA

Change History

DescriptionAuthorVersionDate
Initial VersionML1.026-Oct-2017


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 LrndRackCenter & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of LrndRackCentr 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: LrndRackCentrInit1 9

5.1.1.1 Design Rationale 9

5.1.2 Per: LrndRackCentrPer1 9

5.1.2.1 Design Rationale 9

5.2 Server Runnable 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function #1 9

5.4.1.1 Description 9

5.4.2 Local Function #2 9

5.4.2.1 Description 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

Scope

LrndRackCenter & High-Level Description

Refer FDD.

Design details of software module

Graphical representation of LrndRackCentr

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 DataDict.m file from FDD for other constants---

Software Component Implementation

Sub-Module Functions

Init: LrndRackCentrInit1

Refer FDD Simulink model

Design Rationale

None

Per: LrndRackCentrPer1

Refer FDD Simulink Model

Design Rationale

Refer to Anomaly EA4#17201. Implementation deviates from design to fix for build.

Server Runnable

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameManLrnRackCentrTypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-14401440
MotVelCrf_MotRadPerSec_T_f32float32-13501350
MotTqCmd_MotNwtMtr_T_f32float32-8.88.8
Return ValueNone

Description

Implementation of ‘MANUAL LEARN RACK CENTER’ subsystem.

Local Function #2

Function NameChkRackCentrTypeMinMax
Arguments PassedHwTrvl_HwDeg_T_f32float3202880
RackCentr_HwDeg_T_f32float32-14401440
*RackCentrMotAgVld_Cnt_T_loglbooleanFALSETRUE
*RackCentrCmpl_Cnt_T_loglbooleanFALSETRUE
Return ValueNone

Description

Implementation of ‘Confirm Rack Center Found’ subsystem.

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

Refer to Anomaly EA4#17201. Implementation deviates from design to fix for build.

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 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 GuidelineEA4 01.00.01
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD – SF039A_LrndRackCentr_DesignSee Synergy Subproject verison

18.3 - LrndRackCentr_PeerReviewChecklist


Overview

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


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF039A_LrndRackCentr_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF039A_LrndRackCentr_Impl_2.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Matthew Leser
Work CR ID:


EA4#14383





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:

Refer to Anomaly EA4#17201. Implementation deviates from design to fix for build.



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

11/07/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:



















































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








N/A
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.








Initial Version
























Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser
Review Date :

11/07/17
Component Type :


Application



























Lead Peer Reviewer:


Avinash James
Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Shawn Penning






































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


LrndRackCentr.c

Source File Revision:


1
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

LrndRackCentr_MDD.docx

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF039A_LrndRackCentr_Design

Revision:
1.0.0/2.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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 execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








Yes
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

11/07/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

LrndRackCentr_MDD.docx
MDD Revision:

1


























Source File Name:


LrndRackCentr.cSource File Revision:


1


























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)








N/A
Comments:

















Initial Version


























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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

11/07/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. LrndRackCentr_IntegrationManual.docx

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 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:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

11/07/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 7: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


LrndRackCentr.cSource File Revision:


1


























EA4 Static Analysis Compliance Guideline version:







01.03.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

11/07/17
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































19 - Component Implementation

Component Implementation

Component Documentation

19.1 - LrnPinionCentr_IntegrationManual

Integration Manual

For

LrnPinionCentr

VERSION: 1.0

DATE: 18-Sep-2017

Prepared By:

Matthew Leser,

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 versionML1.018-Sep-2017

Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 Dependencies 7

3.1 SWCs 7

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

4 Configuration REQUIREMeNTS 8

4.1 Build Time Config 8

4.2 Configuration Files to be provided by Integration Project 8

4.3 Da Vinci Parameter Configuration Changes 8

4.4 DaVinci Interrupt Configuration Changes 8

4.5 Manual Configuration Changes 8

5 Integration DATAFLOW REQUIREMENTS 9

5.1 Required Global Data Inputs 9

5.2 Required Global Data Outputs 9

5.3 Specific Include Path present 9

6 Runnable Scheduling 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 04.02.00
<2><Software Naming Conventions>Process 04.02.00
<3><Coding standards>Process 04.02.00
<4>FDD – SF024A_LrnPinionCentr_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

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 .m file

Required Global Data Outputs

Refer .m file

Specific Include Path present

None

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
LrnPinionCentrInit1NoneRTE Init
LrnPinionCentrPer1None2 ms
RunnableScheduling RequirementsTrigger
SetInpPrmNoneOn Event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None
LrnPinionCentr_START_SEC_CODE

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

19.2 - LrnPinionCentr_MDD

Module Design Document

For

LrnPinionCentr

12-Jan-2018

Prepared By:

Brendon Binder,

Nexteer Automotive,

Saginaw, MI, USA

Change History

DescriptionAuthorVersionDate
Initial VersionML1.018-Sep-2017
Updated DaVinci graphic for Cal name changeBRB2.012-Jan-2018


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 LrnPinionCentr & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of LrnPinionCentr 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: LrnPinionCentrInit1 9

5.1.1.1 Design Rationale 9

5.1.2 Per: LrnPinionCentrPer1 9

5.1.2.1 Design Rationale 9

5.2 Server Runnable 9

5.2.1 SetInpPrm 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function #1 9

5.4.1.1 Description 9

5.4.2 Local Function #2 9

5.4.2.1 Description 10

5.4.3 Local Function #3 10

5.4.3.1 Description 10

5.4.4 Local Function #4 10

5.4.4.1 Description 10

5.4.5 Local Function #5 10

5.4.5.1 Description 11

5.4.6 Local Function #6 11

5.4.6.1 Description 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 References 16

Introduction

Purpose

Scope

LrnPinionCentr & High-Level Description

Refer FDD.

Design details of software module

Graphical representation of LrnPinionCentr

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 DataDict.m file from FDD for other constants---

Software Component Implementation

Sub-Module Functions

Init: LrnPinionCentrInit1

Refer FDD Simulink model

Design Rationale

Refer to Anomaly EA4#17174. Implementation deviates to fix this issue for build.

Per: LrnPinionCentrPer1

Refer FDD Simulink Model

Design Rationale

None

Server Runnable

SetInpPrm

Refer FDD Simulink Model

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameRunMinMaxTypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-1440.01440.0
PinionCentrLrnEna_Cnt_T_loglbooleanFALSETRUE
*MaxHwPosn_HwDeg_T_f32float32-1440.01440.0
*MinHwPosn_HwDeg_T_f32float32-1440.01440.0
Return ValueNone

Description

Implementation of ‘Running MinMax’ function.

Local Function #2

Function NamePosAgVelStCtrl1TypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-1440.01440.0
MotVelCrf_MotRadPerSec_T_f32float32-1350.01350.0
TarMotVel_MotRadPerSec_T_f32float320.01600.0
*PinionCentrLrnSt_Cnt_T_u08uint807
*TqCmd_MotNwtMtr_T_f32float32-8.88.8
*MotPosnCmd_MotRad_T_f32float32-1440.01440.0
Return ValueNone

Description

Implementation of ‘POSANGVEL State Control 1’ function.

Local Function #3

Function NamePosMotTqStCtrl2TypeMinMax
Arguments Passed*PinionCentrLrnSt_Cnt_T_u08uint807
*TqCmd_MotNwtMtr_T_f32float32-8.88.8
*MotPosnCmd_MotRad_T_f32float32-1440.01440.0
Return ValueNone

Description

Implementation of ‘POSMTRTRQ State Control 2’ function.

Local Function #4

Function NameNegAgVelStCtrl3TypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-1440.01440.0
MotVelCrf_MotRadPerSec_T_f32float32-1350.01350.0
TarMotVel_MotRadPerSec_T_f32float320.01600.0
*PinionCentrLrnSt_Cnt_T_u08uint807
*TqCmd_MotNwtMtr_T_f32float32-8.88.8
*MotPosnCmd_MotRad_T_f32float32-1440.01440.0
Return ValueNone

Description

Implementation of ‘NEGANGVEL State Control 3’ function.

Local Function #5

Function NameNegMotTqStCtrl4TypeMinMax
Arguments PassedMaxHwPosn_HwDeg_T_f32float32-1440.01440.0
MinHwPosn_HwDeg_T_f32float32-1440.01440.0
*PinionCentrLrnSt_Cnt_T_u08uint807
*TqCmd_MotNwtMtr_T_f32float32-8.88.8
*MotPosnCmd_MotRad_T_f32float32-1440.01440.0
Return ValueNone

Description

Implementation of ‘NEGMTRTRQ State Control 4’ function.

Local Function #6

Function NameMoveToStCtrl5TypeMinMax
Arguments PassedHwAg_HwDeg_T_f32float32-1440.01440.0
TarHwAg_HwDeg_T_f32float32-1440.01440.0
MotVelCrf_MotRadPerSec_T_f32float32-1350.01350.0
TarMotVel_MotRadPerSec_T_f32float320.01600.0
*PinionCentrLrnSt_Cnt_T_u08uint807
*TqCmd_MotNwtMtr_T_f32float32-8.88.8
*MotPosnCmd_MotRad_T_f32float32-1440.01440.0
Return ValueNone

Description

Implementation of ‘MOVETO State Control 5’ function.

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 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 GuidelineEA4 01.00.01
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.01
5FDD – SF024A_LrnPinionCentr_DesignSee Synergy Subproject verison

19.3 - LrnPinionCentr_PeerReviewChecklist


Overview

Summary Sheet
Davinci Files
Source Code
PolySpace
MDD
Synergy Project


Sheet 1: Summary Sheet
























Rev 2.0029-Nov-17

Nexteer SWC Implementation Peer Review Summary Sheet


























Component Short Name:


Windows User: 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
LrnPinionCentr
Revision / Baseline:

Windows User: 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
SF024A_LrnPinionCentr_Impl_1.1.0

























Change Owner:
Windows User: Intended Use: Identify the developer who made the change(s) being reviewed

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

EA4#17556





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. 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.
























































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form 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








































































Comments:

























































































































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. Before the peer review, the change owner shall:
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: Davinci Files






















Rev 2.0029-Nov-17
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









N/A
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







kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.

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









N/A
Comments:










(name, data type, direction)






































Calibration port properties match DataDict.m file









Yes
Comments:










(name, data type)






































Sender/Receiver port initialization values match









N/A
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)"










N/A
Comments:










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






































Runnable calling frequencies match DataDict.m file









N/A
Comments:


















































Runnable port access matches the DataDict.m file










N/A
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









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:

Brendon Binder

Review Date :

01/12/18
Component Type :


Application



























Lead Peer Reviewer:


Shawn Penning

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

























































Other Reviewer(s):


Bri Spencer
































































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














































Sheet 3: Source Code






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


LrnPinionCentr.c
Source File Revision:


Windows User: 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) 2
Header File Name:




Header File Revision:


Windows User: 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)

























MDD Name:


LrnPinionCentr_MDD.docx
Revision:
Windows User: 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) 2

























SWC Design Name:


SF024A_LrnPinionCentr_Design
Revision:
Windows User: Intended Use: For FDDs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the FDD baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1" 1.2.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: 01.02

























for variable names







N/A
Comments:

















































for constant names







N/A
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.








N/A
Comments:
















































Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


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 or Model)








Yes
Comments:



in all areas where code was changed and/or Simulink













model was color-coded as changed and/or mentioned






















in SWC Design change log. (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.)














































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





KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used.


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:











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

























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







N/A
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







N/A
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:

Brendon Binder


Review Date :

01/12/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Piyush Aggarwal







Comments:




















































Integrator and or
SW lead:









Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):


Bri Spencer





































































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





































































Sheet 4: PolySpace






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


LrnPinionCentr.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:

Windows User: eg. 2013b

2013b





TL109A sub project version:

2.2.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)




















































Cyclomatic complexity and Static path count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Brendon Binder




Review Date :

01/12/18


































Lead Peer Reviewer:


Shawn Penning




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Bri Spencer














































































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
















































Sheet 5: MDD






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

LrnPinionCentr_MDD.docx
MDD Revision:

2


























Source File Name:


LrnPinionCentr.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








Yes
Comments:



















































General Notes / Comments:



























































Review Board:


























Change Owner:

Brendon Binder


Review Date :

01/12/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Bri Spencer






































































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












































Sheet 6: Synergy Project






















Rev 2.0029-Nov-17

























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:

Brendon Binder


Review Date :

01/12/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Bri Spencer






































































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











































20 - Component Implementation

Component Implementation

Component Documentation

20.1 - MotCtrlPrmEstimn_IntegrationManual

Integration Manual

For

MotCtrlPrmEstimn

VERSION: 1.0

DATE: 20-JUN-2015

Prepared By:

Rijvi Ahmed

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionRijvi Ahmed1.020-Jun-2015

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

1.1 Non RTE NvM Blocks 10

1.2 RTE NvM Blocks 10

2 Compiler Settings 11

2.1 Preprocessor MACRO 11

2.2 Optimization Settings 11

3 Appendix 12

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 4.00.00
<2><Software Naming Conventions>Process 4.00.00
<3><Coding standards>Process 4.00.00
<4>FDD – SF102A_MotCtrlPrmEstimn_DesignSee Synergy Subproject version
<Add if more available>

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

ConstantsNotes
None

Configuration Files to be provided by Integration Project

<Configuration file that will generated from this components that will require Da Vinci Config generation or manual generation. Describe each parameter >

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotCtrlPrmEstimnInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
MotCtrlPrmEstimnPer1NoneRTE(2ms)
MotCtrlPrmEstimnPer2NoneRTE(100ms)
GetMotPrmNomEol_OperNoneOn event
SetMotPrmNomEol_OperNoneOn event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
MotPrmNom

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

20.2 - MotCtrlPrmEstimn_MDD

Module Design Document

For

MotCtrlPrmEstimn

06-Dec-2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Brendon Binder,

Nexteer Automotive,

Saginaw, MI, USA
Change History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionRijvi1.020-JUN-2015
2Updated per design rev. 1.5.0Rijvi2.007-APRIL-2016
3Updated per design rev. 2.1.0ML3.029-NOV-2016
4New Input added MotAndThermProtnLoaMod and deleted IvtrLoaMtgtnEnaTATA4.025-SEP-2017
5Removed local function which didn’t exist, migrated document to latest templateBRB5.006-DEC-2017


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 MotCtrlPrmEstimn & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of MotCtrlPrmEstimn 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: MotCtrlPrmEstimnInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: MotCtrlPrmEstimnPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.1.1 Per: MotCtrlPrmEstimnPer2 9

5.1.1.1 Design Rationale 9

5.1.1.2 Store Module Inputs to Local copies 9

5.1.1.3 (Processing of function)……… 9

5.1.1.4 Store Local copy of outputs into Module Outputs 9

5.2 Server Runnables 10

5.2.1 SetMotPrmNomEol 10

5.2.1.1 Design Rationale 10

5.2.1.2 (Processing of function)……… 10

5.2.2 SetMotPrmNomEol 10

5.2.2.1 Design Rationale 10

5.2.2.2 (Processing of function)……… 10

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

Scope

MotCtrlPrmEstimn & High-Level Description

Please refer FDD

Design details of software module

Graphical representation of MotCtrlPrmEstimn

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
BITMASK2_CNT_U081Cnt2U
Refer constants from .m file

Software Component Implementation

Sub-Module Functions

Init: Init1

Design Rationale

Refer to FDD

Module Outputs

Refer to FDD

Per: Per1

Design Rationale

Refer to FDD

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Per: MotCtrlPrmEstimnPer2

Design Rationale

Refer to FDD

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Server Runnables

SetMotPrmNomEol

Design Rationale

None

(Processing of function)………

See GetMotPrmNomEol block in FDD

SetMotPrmNomEol

Design Rationale

None

(Processing of function)………

See SetMotPrmNomEol block in FDD

Interrupt Functions

None

Module Internal (Local) Functions

None

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

CurrMeasLoaMtgtnEna and FetLoaMtgtnEna are terminated. These flags need not be computed at all.

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 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 Mappingv1.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3EA4 Software Naming Conventions01.01.00
4Software Design and Coding Standards2.1
5FDD – SF102A Motor Control Parameter EstimationSee Synergy subproject version

20.3 - MotCtrlPrmEstimn_PeerReviewChecklist


Overview

Summary Sheet
Davinci Files
Source Code
PolySpace
MDD
Synergy Project


Sheet 1: Summary Sheet
























Rev 2.0029-Nov-17

Nexteer SWC Implementation Peer Review Summary Sheet


























Component Short Name:


Windows User: 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
MotCtrlPrmEstimn
Revision / Baseline:

Windows User: 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
SF102A_MotCtrlPrmEstimn_Impl_3.1.0

























Change Owner:
Windows User: Intended Use: Identify the developer who made the change(s) being reviewed

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

EA4#16887





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. 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.
























































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form 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).












































NoMDD


NoSource Code


NoPolySpace









































NoIntegration Manual


NoDavinci Files








































































Comments:

























































































































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. Before the peer review, the change owner shall:
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: Davinci Files






















Rev 2.0029-Nov-17
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







kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.

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









N/A
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










No
Comments:























Data dictionary call location not correct. ICR EA4#18575 has been created to address this.

























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









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:

Brendon Binder

Review Date :

12/12/17
Component Type :


Application



























Lead Peer Reviewer:


Shawn Penning

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:
Gustavo Nunes

Comments:

























































Other Reviewer(s):


Matt Leser
































































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









Kathleen Creager



































Sheet 3: Source Code






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


MotCtrlPrmEstimn.c
Source File Revision:


Windows User: 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) 7
Header File Name:




Header File Revision:


Windows User: 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)

























MDD Name:


MotCtrlPrmEstimn_MDD.docx
Revision:
Windows User: 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) 5

























SWC Design Name:


SF102A_MotCtrlPrmEstimn_Design
Revision:
Windows User: Intended Use: For FDDs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the FDD baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1" 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: 01.02

























for variable names







N/A
Comments:

















































for constant names







N/A
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








N/A
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.








N/A
Comments:
















































Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


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 or Model)








Yes
Comments:



in all areas where code was changed and/or Simulink













model was color-coded as changed and/or mentioned






















in SWC Design change log. (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.)














































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





KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used.


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:











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

























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







N/A
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







N/A
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:

Brendon Binder


Review Date :

12/12/17
































Lead Peer Reviewer:


Shawn Penning


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 4: PolySpace






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


MotCtrlPrmEstimn.c




Source File Revision:


7

Source File Name:








Source File Revision:





Source File Name:








Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







01.03.00







Poly Space version:

Windows User: eg. 2013b

2013b





TL109A sub project version:

2.2.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)




















































Cyclomatic complexity and Static path count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Brendon Binder




Review Date :

12/12/17


































Lead Peer Reviewer:


Shawn Penning




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































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
















































Sheet 5: MDD






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (MDD Review)


























MDD Name:

MotCtrlPrmEstimn_MDD.docx
MDD Revision:

5


























Source File Name:


MotCtrlPrmEstimn.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)








No
Comments:

















Document was migrated to the latest template. The only change was removing a local function which didn't exist in the implementation.


























Diagrams have been included per MDD Guideline








N/A
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:























Talk to Kathleen about approving rationale - Completed 12/15/2017.


































Review Board:


























Change Owner:

Brendon Binder


Review Date :

12/12/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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









Steven Horwath

































Sheet 6: Synergy Project






















Rev 2.0029-Nov-17

























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








N/A
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:

Brendon Binder


Review Date :

12/12/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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











































21 - Component Implementation

Component Implementation

Component Documentation

21.1 - MotCurrPeakEstimn_IntegrationManual

Integration Manual

For

MotCurrPeakEstimn

VERSION: 1.0

DATE: 04-Aug-2015

Prepared By:

Spandana Balani,

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 versionSB1.004-Aug-2015

Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 Dependencies 7

3.1 SWCs 7

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

4 Configuration REQUIREMeNTS 8

4.1 Build Time Config 8

4.2 Configuration Files to be provided by Integration Project 8

4.3 Da Vinci Parameter Configuration Changes 8

4.4 DaVinci Interrupt Configuration Changes 8

4.5 Manual Configuration Changes 8

5 Integration DATAFLOW REQUIREMENTS 9

5.1 Required Global Data Inputs 9

5.2 Required Global Data Outputs 9

5.3 Specific Include Path present 9

6 Runnable Scheduling 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 04.02.00
<2><Software Naming Conventions>Process 04.02.00
<3><Coding standards>Process 04.02.00
<4>FDD – SF108A_MotCurrPeakEstimn_DesignSee Synergy Subproject version

Dependencies

SWCs

ModuleRequired Feature
None

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

Include NxtrFil.h in Rte_UserTypes.h header file

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotCurrPeakEstimnInit1RTE
RunnableScheduling RequirementsTrigger
MotCurrPeakEstimnPer1NoneRTE(2ms)
MotCurrPeakEstimnPer2NoneRTE(100ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

21.2 - MotCurrPeakEstimn_MDD

Module Design Document

For

MotCurrPeakEstimn

Sep 25, 2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

TATA,

Trivandrum, India


Change History

DescriptionAuthorVersionDate
Initial VersionSB1.005-Aug-2015
Updated graphical representation due to changes from FDD v1.2.0NS2.025-Apr-2016
Updated to FDD v2.0.0JK3.018-Nov-2016
Updated to FDD v3.0.0TATA4.025-Sep-2017


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 MotCurrPeakEstimn & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of MotCurrPeakEstimn 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: MotCurrPeakEstimnInit1 8

5.1.2 Per: MotCurrPeakEstimnPer1 8

5.1.3 Per: MotCurrPeakEstimnPer2 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

Scope

MotCurrPeakEstimn & High-Level Description

Refer FDD

Design details of software module

Refer FDD

Graphical representation of MotCurrPeakEstimn

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 .m File
BITMASK1_CNT_U08uint8CNT1U
BITMASK2_CNT_U08uint8CNT2U
BITMASK4_CNT_U08uint8CNT4U

Software Component Implementation

Refer FDD

Sub-Module Functions

Init: MotCurrPeakEstimnInit1

Refer FDD

Per: MotCurrPeakEstimnPer1

Refer FDD

Per: MotCurrPeakEstimnPer2

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

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.3.0 R4.0 Rev 2
2MDD GuidelineProcess 04.02.00
3Software Naming Conventions.docProcess 04.02.00
4Software Design and Coding Standards.docProcess 04.02.00
5FDD – SF108A_MotCurrPeakEstimn_DesignSee Synergy SubProject version

21.3 - MotCurrPeakEstimn_PeerReview


Overview

Summary Sheet
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF108A_MotCurrPeakEstimn_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF108A_MotCurrPeakEstimn_Impl_3.0.1

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Shawn Penning
Work CR ID:


EA4#17668





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


N/ASource Code


N/APolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:

No change to DataDict.m or .c file. Only .slx file changed so this baseline is to bring in new design .slx.



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

11/22/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































22 - Component Implementation

Component Implementation

Component Documentation

22.1 - MotCurrRegCfg_IntegrationManual

Integration Manual

For

MotCurrRegCfg

VERSION: 1.0

DATE: <02-JUN-2015>

Prepared By:

Selva Sengottaiyan

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionSelva Sengottaiyan1.002-Jun-2015

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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 4.00.00
<2><Software Naming Conventions>Process 4.00.00
<3><Coding standards>Process 4.00.00
<4>FDD – SF104A_MotCurrRegCfg_DesignSee Synergy Subproject version
<Add if more available>

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

ConstantsNotes
None

Configuration Files to be provided by Integration Project

<Configuration file that will generated from this components that will require Da Vinci Config generation or manual generation. Describe each parameter >

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotCurrRegCfgInit1NoneRTE
RunnableScheduling RequirementsTrigger
MotCurrRegCfgPer1NoneRTE(2ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

22.2 - MotCurrRegCfg_MDD

Module Design Document

For

MotCurrRegCfg

VERSION: 5.0

DATE: 25-Sep-2017

Prepared By:

Software Group

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionSelva1.002-JUN-2015
2Updated per design rev. 1.3.0Rijvi2.012-Mar-2016
3Updated per design rev. 1.4.0Krishna3.029-Apr-2016
4Updated per design rev. 2.1.0JK4.011-Nov-2016
5.Updated per design rev. 3.0.0TATA5.025-Sep-2017

Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 MotCurrRegCfg & High-Level Description 7

4 Design details of software module 8

4.1 Graphical representation of MotCurrRegCfg 8

4.2 Data Flow Diagram 8

4.2.1 Module level DFD 8

4.2.2 Sub-Module level DFD 8

4.3 COMPONENT FLOW DIAGRAM 8

5 Variable Data Dictionary 9

5.1 User defined typedef definition/declaration 9

5.2 Variable definition for enumerated types 9

6 Constant Data Dictionary 10

6.1 Program(fixed) Constants 10

6.1.1 Embedded Constants 10

6.1.1.1 Local 10

6.1.1.2 Global 10

6.1.2 Module specific Lookup Tables Constants 10

7 Software Module Implementation 11

7.1 Sub-Module Functions 11

7.2 Initialization Functions 11

7.2.1 Per: MotCurrRegCfgINIT1 11

7.2.1.1 Design Rationale 11

7.2.1.2 Store Module Inputs to Local copies 11

7.2.1.3 (Processing of function)……… 11

7.2.1.4 Store Local copy of outputs into Module Outputs 11

7.3 PERIODIC FUNCTIONS 11

7.3.1 Per: MotCurrRegCfgper1 11

7.3.1.1 Design Rationale 11

7.3.1.2 Store Module Inputs to Local copies 11

7.3.1.3 (Processing of function)……… 11

7.3.1.4 Store Local copy of outputs into Module Outputs 11

7.4 Non PERIODIC FUNCTIONS 11

7.5 Interrupt Functions 11

7.6 Serial Communication Functions 12

7.7 Local Function/Macro Definitions 12

7.8 GLObAL Function/Macro Definitions 12

7.9 TRANSIENT FUNCTIONS 12

8 Unit Test Considerations 13

9 Known Limitations With Design 14

10 UNIT TEST CONSIDERATION 15

11 Appendix 16

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 04.02.01
<2><Software Naming Conventions>Process 04.02.01
<3><Coding standards>Process 04.02.01
<4>FDD - SF104A_MotCurrRegCfg_DesignSee Synergy Subproject version
<Add if more available>

MotCurrRegCfg & High-Level Description

Design details of software module

Graphical representation of MotCurrRegCfg

Data Flow Diagram

Module level DFD

Sub-Module level DFD

COMPONENT FLOW DIAGRAM

Variable Data Dictionary

User defined typedef definition/declaration

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

N/A

Variable definition for enumerated types

Enum NameElement NameValue
N/A<(Variable name qualified Refer[2])><Define the value >

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

< All program specific constants will be defined in detail >

Local

Constant NameResolutionUnitsValue
Refer constants from .m file

Global

<This section lists the global constants used by the module. For details on global constants, refer to the Data Dictionary for the application>

Constant Name
Refer constants from .m file

Module specific Lookup Tables Constants

<(This is for lookup tables (arrays) with fixed values, same name as other tables)>

Constant NameResolutionValueSoftware Segment
Refer .m file

Software Module Implementation

Sub-Module Functions

NONE

Initialization Functions

Per: MotCurrRegCfgINIT1

Design Rationale

Refer to FDD

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

PERIODIC FUNCTIONS

Per: MotCurrRegCfgper1

Design Rationale

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Non PERIODIC FUNCTIONS

None

Interrupt Functions

None

Serial Communication Functions

None

Local Function/Macro Definitions

None

GLObAL Function/Macro Definitions

None

TRANSIENT FUNCTIONS

None

Unit Test Considerations

None

Known Limitations With Design

None

UNIT TEST CONSIDERATION

The range of the application data type used for the calibration MotCurrRegCfgMotClsdLoopBwDaxY and MotCurrRegCfgMotNatFrqQaxY are not updated per the DataDict.m file changes. We moved away using the application data type, hence it has no impact.

Appendix

None

22.3 - MotCurrRegCfg_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF104A_MotCurrRegCfg_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF104A_MotCurrRegCfg_Impl_3.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. TATA Offshore
Work CR ID:


EA4#13243





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

10/18/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








N/A
Comments:

































DataDict.m display variables: created as








Yes
Comments:









PerInstanceMemory. Matches the FDD



























Component is correct component type








N/A
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

TATA
Review Date :

10/18/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):




































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


MotCurrRegCfg.c

Source File Revision:


9
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

MotCurrRegCfg_MDD.doc

Revision:
5

























FDD/SCIR/DSR/FDR/CM Name:




SF104_MotCurrRegCfg_Design

Revision:
2.3.1


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








N/A
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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 execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

TATA


Review Date :

10/18/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):




































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

MotCurrRegCfg_MDD.doc
MDD Revision:

6


























Source File Name:


MotCurrRegCfg.cSource File Revision:


8

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






































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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








Yes
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

TATA


Review Date :

10/18/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):




































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


MotCurrRegCfg.cSource File Revision:


9

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.03.00







Poly Space version:


Windows User: eg. 2013b 2013B
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

TATA


Review Date :

10/18/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):



































































23.1 - MotCurrRegVltgLimr_Integration Manual

Integration Manual

For

‘MotCurrRegVltgLimr’

VERSION: 1.0

DATE: 26-May-2015

Prepared By:

Selva Sengottaiyan

Nexteer Automotive,

Saginaw, MI, USA


Revision History

: ARM Cortex R4 Memory Usage

Sl. No.DescriptionAuthorVersionDate
1Initial versionSelva Sengottaiyan1.04-June-2015


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 Non RTE NvM Blocks 10

7.4 RTE 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
1FDD – SF105A_MotCurrRegVltgLimr_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.00.00
3Software Design and Coding StandardsProcess 4.00.00

Dependencies

SWCs

ModuleRequired Feature
None

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file file in the FDD

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotCurrRegVltgLimrInit1NoneInit
RunnableScheduling RequirementsTrigger
MotCurrRegVltgLimrPer1Motor Control ISR*2

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
MotCtrl_START_SEC_CODECode section for Motor Control scheduled functions

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

Usage

FeatureRAMROM
<Memmap usuage info>

Non RTE NvM Blocks

Block Name
None

RTE NvM Blocks

Block Name
none

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None

Appendix

None

23.2 - MotCurrRegVltgLimr_MDD

Module Design Document

For

‘MotCurrRegVltgLimr’

VERSION: 5.0

DATE: 08-Nov-2017

Prepared By:

TATA ELXSI,

TRIVANDRUM, INDIA


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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionSelva Sengottaiyan1.026-May-2015
2Updated graphical representation and added local function informationNick Saxton2.013-Apr-2016
3Updated for FDD v2.1.0Matthew Leser3.07-Nov-2016
4Updated to fix Anomaly EA4#9045Matthew Leser4.004-Jan-2017
5Updated for FDD v3.0.0TATA5.008-Nov-2017


Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 High-Level Description 7

4 Design details of software module 8

4.1 Graphical representation 8

4.2 Data Flow Diagram 8

4.2.1 Module level DFD 8

4.2.2 Sub-Module level DFD 8

4.3 COMPONENT FLOW DIAGRAM 8

5 Variable Data Dictionary 9

5.1 User defined typedef definition/declaration 9

5.2 Variable definition for enumerated types 9

6 Constant Data Dictionary 10

6.1 Program(fixed) Constants 10

6.1.1 Embedded Constants 10

6.1.1.1 Local 10

6.1.1.2 Global 10

6.1.2 Module specific Lookup Tables Constants 10

7 Software Module Implementation 11

7.1 Sub-Module Functions 11

7.1.1 Initialization Functions 11

7.1.1.1 INIT: MotCurrRegVltgLimrInit1 11

7.1.1.1.1 Design Rationale 11

7.1.1.1.2 Module Outputs 11

7.1.1.1.3 Module Internal 11

7.1.2 PERIODIC FUNCTIONS 11

7.1.2.1 INIT: MotCurrRegVltgLimrPER1 11

7.1.2.1.1 Design Rationale 11

7.1.2.1.2 Module Outputs 11

7.1.3 Interrupt Functions 11

7.1.4 Server runnables 12

7.1.4.1.1 Store Local copy of outputs into Module Outputs 12

7.1.5 Local Function/Macro Definitions 12

7.1.5.1.1 Local function #1 12

7.1.5.1.2 Local function #2 12

7.1.5.1.3 Local function #3 12

7.1.5.1.4 Local function #4 13

7.1.5.1.5 Local function #5 13

7.1.6 GLObAL Function/Macro Definitions 13

7.1.7 Tranisition FUNCTIONS 13

8 Known Limitations With Design 14

9 UNIT TEST CONSIDERATION 15

10 Appendix 16

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
1MDD GuidelinesProcess 4.02.01
2Software Naming ConventionsProcess 4.02.01
3Software Design and Coding standards2.1
4FDD – SF105A_MotCurrRegVltgLimr_DesignSee Synergy sub project version

High-Level Description

None

Design details of software module

Graphical representation

Data Flow Diagram

Refer FDD

Module level DFD

Refer FDD

Sub-Module level DFD

Refer FDD

COMPONENT FLOW DIAGRAM

Refer FDD

Variable Data Dictionary

User defined typedef definition/declaration

<This section documents any user types uniquely used for the module.>

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

None

Variable definition for enumerated types

Enum NameElement NameValue
None

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

Local

Constant NameResolutionUnitsValue
MODIDXHILIM_VOLT_F32Single precision floatVolt1
MODIDXLOLIM_VOLT_F32Single precision floatVolt0
BITMASK1_CNT_U08Uint8CNT1U
BITMASK2_CNT_U08Uint8CNT2U
BITMASK4_CNT_U08Uint8CNT4U

Global

Constant Name

Module specific Lookup Tables Constants

None

Software Module Implementation

Sub-Module Functions

Initialization Functions

MotCurrRegVltgLimrInit1

INIT: MotCurrRegVltgLimrInit1

Design Rationale

Design follows implemenetation in FDD.

Module Outputs

Refer ‘MotCurrRegVltgLimrInit’ block in FDD

Module Internal

None

PERIODIC FUNCTIONS

INIT: MotCurrRegVltgLimrPER1

Design Rationale

Module Outputs

As per FDD, dMotCurrRegVltgLimrMotVltgDecouplFbDax, dMotCurrRegVltgLimrMotVltgDecouplFbQax renamed with dMotCurrRegVltgLimrMotVltgDecoupldFbDax, dMotCurrRegVltgLimrMotVltgDecouplFbQax in the source file. And also dMotCurrRegVltgLimrMotCurrCmdErr(display variable) is nowhere used in source file. That variable davinci definition is removed. Design follows implemenetation in FDD.

Interrupt Functions

None


Server runnables

None

Store Local copy of outputs into Module Outputs

None

Local Function/Macro Definitions

Local function #1

Function NameKpKiCtrlTypeMinMax
Arguments PassedMotPropGain_Ohm_T_f32Float3202.25
MotIntglGain_Ohm_T_f32Float3203.6
SysSt_Cnt_T_enumEnumSYSST_DISYSST_WRMININ
CmdErr_Ampr_T_f32Float32-200400
*MotVltgIntglCmdPrev_Volt_T_f32Float32-10001000
*MotCurrRegVltgLimrMotVltgPropCmd_Volt_T_f32Float32-26.526.5
*MotCurrRegVltgLimrMotVltgIntglPreLim_Volt_T_f32Float32-26.526.5
MotVltgIntglLoLim_Volt_T_f32Float32-310
MotVltgIntglHiLim_Volt_T_f32Float32031
*MotVltgPropCmd_Volt_T_f32Float32-26.526.5
*MotVltgIntglCmd_Volt_T_f32Float32626.5

* MotVltgPropCmd_Volt_T_f32 and * MotVltgIntglCmd_Volt_T_f32 are outputs of this function.

Local function #2

Function NameErrorCalcQaxTypeMinMax
Arguments PassedQaxCurrCmd_Ampr_T_f32Float32-200200
QaxRplCmd_Ampr_T_f32Float32-2929
QaxCoggCmd_Ampr_T_f32Float32-66
QaxCurrModif_Ampr_T_f32Float32-200200
* QaxCmdFinal_Ampr_T_f32Float32-200200
ReturnsCmdErrQax_Ampr_T_f32Float32-200400

*QaxCmdFinal_Ampr_T_f32 is also an output of this function.

Local function #3

Function NameLoaScaFacTypeMinMax
Arguments PassedCurrLoaMtgtnEn_Cnt_T_loglBooleanFALSETRUE
IvtrLoaMtgtnEn_Cnt_T_loglBooleanFALSETRUE
MotCtrlDualEcuMotCtrlMtgtnEna_Cnt_T_loglBooleanFALSETRUE
FetLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE
*CurrLoaScaFac_Uls_T_f32Float3201
*IvtrLoaScaFac_Uls_T_f32Float3201
*DualEcuScaFac_Uls_T_f32Float3201
*FetScaFac_Uls_T_f32Float320.0F1.0F

*CurrLoaScaFac_Uls_T_f32, *IvtrLoaScaFac_Uls_T_f32, and *DualEcuScaFac_Uls_T_f32 are outputs of this function.

Local function #4

Function NameMotCurr_PredTypeMinMax
Arguments PassedMotInduQaxEstimdIvs_IvsHenry_T_f32Float32224033334
MotREstimd_Ohm_T_f32Float320.0050.12565
CurrQax_Ampr_T_f32Float32-200200
MotVltgQaxPrev_Volt_T_f32Float32-26.526.5
CurrDax_Ampr_T_f32Float32-200200
MotVltgDaxPrev_Volt_T_f32Float32-26.526.5
MotBackEmfVltg_Volt_T_f32Float32-101.25101.25
ReacncQax_Ohm_T_f32Float32-0.50.5
ReacncDax_Ohm_T_f32Float32-0.50.5
MotInduDaxEstimdIvs_IvsHenry_T_f32Float32224033334
MotCurrRegVltgLimrMotCurrPredEna_Cnt_T_f32BooleanFALSETRUE
MotCtrlCurrPredTi_NanoSec_T_f32Float320125000
*MotCurrQaxPred_Ampr_T_f32Float32-200200
*MotCurrDaxPred_Ampr_T_f32Float32-200200

*MotCurrQaxPred_Ampr_T_f32 and *MotCurrDaxPred_Ampr_T_f32 are outputs of this function.

Local function #5

Function NameDecoderTypeMinMax
Arguments PassedMotAndThermProtnLoaMod_Cnt_T_u08Uint8OU255U
CurrMeasLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE
FetLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE

* CurrMeasLoaMtgtnEna_Cnt_T_logl, *IvtrLoaMtgtnEna_Cnt_T_logl, *FetLoaMtgtnEna_Cnt_T_logl are outputs of this function.

GLObAL Function/Macro Definitions

None

Tranisition FUNCTIONS

None

Known Limitations With Design

None

UNIT TEST CONSIDERATION

None

Appendix

None

23.3 - MotCurrRegVltgLimr_Peer Review Checklists


Overview

Summary Sheet
Davinci Files
Source Code
PolySpace
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet

























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF105A_MotCurrRegVltgLimr_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF105A_MotCurrRegVltgLimr_Impl_3.1.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Brendon Binder
Work CR ID:


EA4#16889





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:












































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used









Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format




































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









N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous









Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed









Yes
Comments:

























































Naming conventions followed. All names should









N/A
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























Sender/Receiver port initialization values match







N/A
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 direct








N/A
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








N/A
Comments:

































DataDict.m display variables: created as








Yes
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder
Review Date :

11/30/17
Component Type :


CDD



























Lead Peer Reviewer:


Shawn Penning
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


CDD_MotCurrRegVltgLimr.c
Source File Revision:


8
Header File Name:


CDD_MotCurrRegVltgLimr.h
Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 2

























MDD Name:

MotCurrRegVltgLimr_MDD.docx
Revision:
5

























FDD/SCIR/DSR/FDR/CM Name:




SF105A_MotCurrRegVltgLimr_Design
Revision:
3.0.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








N/A
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
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







N/A
Comments:










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













[N57], [N58], [N59]














































Embedded constants used per standards; no







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder


Review Date :

11/30/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


CDD_MotCurrRegVltgLimr.cSource File Revision:


8

Source File Name:



Source File Revision:





Source File Name:



Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.03.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























Code Prover flags Dead Code. This is done in case there are out of range values given for the input 'MotCtrlMotAgElecDly'. Refer to Anomaly EA4#11890.


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder


Review Date :

11/30/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder


Review Date :

11/30/17
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































24 - Component Implementation

Component Implementation

Component Documentation

24.1 - MotQuadDetn Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
MDD
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF101A_MotQuadDetn_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF101A_MotQuadDetn_Impl_1.2.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Shawn Penning
Work CR ID:


EA4#11065





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

06/21/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer


































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning
Review Date :

06/21/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


MotQuadDetn.c

Source File Revision:


2
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

MotQuadDetn_MDD.doc

Revision:
2

























FDD/SCIR/DSR/FDR/CM Name:




SF101A_MotQuadDetn_Design

Revision:
1.2.1


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:

Tags Removed






requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








N/A
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







N/A
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







N/A
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







N/A
Comments:










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













[N57], [N58], [N59]














































Embedded constants used per standards; no







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

06/21/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):


Brendon Binder
Matt Leser

































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

MotQuadDetn_MDD.docx
MDD Revision:

2


























Source File Name:


MotQuadDetn.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






































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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








Yes
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

06/21/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):


Brendon Binder
Matt Leser


































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


MotQuadDetn.cSource File Revision:


2

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







1.2







Poly Space version:


Windows User: eg. 2013b 2013B
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0


QAC version:


Windows User: eg 8.1.1-R

QAC sub project version:




Windows User: eg. TL_100A_1.1.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

06/21/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer






























































24.2 - MotQuadDetn_IntegrationManual

Integration Manual

For

MOTOR QUADRANT DETECTION

VERSION: 1.0

DATE: 11-MAY-2015

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 versionSpandana Balani1.011-May-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1>FDD – SF101A Motor Quadrant DetectionSee Synergy Subproject version

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotQuadDetnInit1On InitRte_Init
RunnableScheduling RequirementsTrigger
MotQuadDetnPer1NoneRTE 2ms Task

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

24.3 - MotQuadDetn_MDD

Module Design Document

For Motor Quadrant Detection

VERSION: 1.0

DATE: 11-MAY-2015

Prepared By:

Shawn Penning


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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionSB1.011-May-2015
2Update to Unit Test ConsiderationsSPP2.016-Jun-2017


Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 motquaddetn & High-Level Description 7

4 Design details of software module 8

4.1 Graphical representation of MOtquaddetn 8

4.2 Data Flow Diagram 8

4.2.1 Module level DFD 8

4.2.2 Sub-Module level DFD 8

4.3 COMPONENT FLOW DIAGRAM 8

5 Variable Data Dictionary 9

5.1 User defined typedef definition/declaration 9

5.2 Variable definition for enumerated types 9

6 Constant Data Dictionary 10

6.1 Program(fixed) Constants 10

6.1.1 Embedded Constants 10

6.1.1.1 Local 10

6.1.1.2 Global 10

6.1.2 Module specific Lookup Tables Constants 10

7 Software Module Implementation 11

7.1 Sub-Module Functions 11

7.1.1 Initialization Functions 11

7.1.1.1 INIT: MotQuadDetnInit1 11

7.1.1.2 Design Rationale 11

7.1.1.3 Store Module Inputs to Local copies 11

7.1.1.4 (Processing of function)……… 11

7.1.1.5 Store Local copy of outputs into Module Outputs 11

7.1.2 PERIODIC FUNCTIONS 11

7.1.2.1 Per: MotQuadDetnPer1 11

7.1.2.2 Design Rationale 11

7.1.2.3 Store Module Inputs to Local copies 11

7.1.2.4 (Processing of function)……… 11

7.1.2.5 Store Local copy of outputs into Module Outputs 11

7.2 Interrupt Functions 11

7.3 Serial Communication Functions 12

7.4 Local Function/Macro Definitions 12

7.5 GLObAL Function/Macro Definitions 12

7.6 TRANSIENT FUNCTIONS 12

8 Known Limitations With Design 13

9 UNIT TEST CONSIDERATION 14

10 Appendix 15

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 3.06.00
<2><Software Naming Conventions>Process 3.06.00
<3><Coding standards>Process 3.06.00
<4>FDD – SF101A Motor Quadrant DetectionSee Synergy Subproject version
<Add if more available>

motquaddetn & High-Level Description

None

Design details of software module

Graphical representation of MOtquaddetn

Data Flow Diagram

Module level DFD

N/A

Sub-Module level DFD

N/A

COMPONENT FLOW DIAGRAM

N/A

Variable Data Dictionary

User defined typedef definition/declaration

<This section documents any user types uniquely used for the module.>

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

N/A

Variable definition for enumerated types

Enum NameElement NameValue
N/A

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

< All program specific constants will be defined in detail >

Local

Constant NameResolutionUnitsValue
Refer constants from .m file

Global

<This section lists the global constants used by the module. For details on global constants, refer to the Data Dictionary for the application>

Constant Name
N/A

Module specific Lookup Tables Constants

<(This is for lookup tables (arrays) with fixed values, same name as other tables)>

Constant NameResolutionValueSoftware Segment
<Refer Constant name qualified in [2]><Refer MDD guidelines [1]><Refer MDD guidelines [1]><Refer MDD guidelines [1]>

Software Module Implementation

Sub-Module Functions

None

Initialization Functions

INIT: MotQuadDetnInit1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

PERIODIC FUNCTIONS

(Note: For multiple periodic functions, insert new headers at the “Header 2” level – subset of “7.2 Periodic Functions” and follow the same sub-section design shown below). If none required, place the text “None”)>

Per: MotQuadDetnPer1

Design Rationale

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Interrupt Functions

None


Serial Communication Functions

None

Local Function/Macro Definitions

None

GLObAL Function/Macro Definitions

None

TRANSIENT FUNCTIONS

None

Known Limitations With Design

Rollover Checking is not needed. Fixed point math implementation takes care of it and no additional logic is required.

UNIT TEST CONSIDERATION

Rollovers should not occur in normal operation in the vehicle, however, rollovers will most likely occur during dynamometer testing or other tests. (From Motor Control FDD REPS GG4500 BMW 5.3.doc)

Appendix

None

25 - Component Implementation

Component Implementation

Component Documentation

25.1 - MotRefMdl_IntegrationManual

Integration Manual

For

MotRefMdl

VERSION: 1.0

DATE: 16-JUN-2015

Prepared By:

Selva Sengottaiyan

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionSelva Sengottaiyan1.016-Jun-2015

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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 4.00.00
<2><Software Naming Conventions>Process 4.00.00
<3><Coding standards>Process 4.00.00
<4>FDD – SF103A_MotRefMdl_DesignSee Synergy Subproject version
<Add if more available>

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

ConstantsNotes
None

Configuration Files to be provided by Integration Project

<Configuration file that will generated from this components that will require Da Vinci Config generation or manual generation. Describe each parameter >

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotRefMdlInit1NoneRTE
RunnableScheduling RequirementsTrigger
MotRefMdlPer1NoneRTE(2ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

25.2 - MotRefMdl_MDD

Module Design Document

For

MotRefMdl

VERSION: 6.0

DATE: 15-Nov-2017

Prepared By:

Krishna Anne,

Software Component Group

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionSelva1.012-JUN-2015
2Updated per design rev. 1.2.0Rijvi2.013-Mar-2016
3Updated as per v1.3.0 of FDDKrishna3.029-Apr-16
4.Updated as per v2.3.0 of FDDKrishna4.015-Nov-2016
5.Updated as per v4.0.0 of FDDTATA5.025-Sep-2017
6.Fixed Design vs Implementation MismatchKrishna6.015-Nov-2017

Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 MotRefMdl & High-Level Description 7

4 Design details of software module 8

4.1 Graphical representation of MotRefMdl 8

4.2 Data Flow Diagram 8

4.2.1 Module level DFD 8

4.2.2 Sub-Module level DFD 8

4.3 COMPONENT FLOW DIAGRAM 8

5 Variable Data Dictionary 9

5.1 User defined typedef definition/declaration 9

5.2 Variable definition for enumerated types 9

6 Constant Data Dictionary 10

6.1 Program(fixed) Constants 10

6.1.1 Embedded Constants 10

6.1.1.1 Local 10

6.1.1.2 Global 10

6.1.2 Module specific Lookup Tables Constants 10

7 Software Module Implementation 11

7.1 Sub-Module Functions 11

7.2 Initialization Functions 11

7.2.1 Per: MotRefMdlINIT1 11

7.2.1.1 Design Rationale 11

7.2.1.2 Store Module Inputs to Local copies 11

7.2.1.3 (Processing of function)……… 11

7.2.1.4 Store Local copy of outputs into Module Outputs 11

7.3 PERIODIC FUNCTIONS 11

7.3.1 Per: MotRefMdlper1 11

7.3.1.1 Design Rationale 11

7.3.1.2 Store Module Inputs to Local copies 11

7.3.1.3 (Processing of function)……… 11

7.3.1.4 Store Local copy of outputs into Module Outputs 11

7.4 Non PERIODIC FUNCTIONS 11

7.5 Interrupt Functions 11

7.6 Serial Communication Functions 12

7.7 Local Function/Macro Definitions 12

7.7.1 Local Function #1 CalcCurrMagSqRef 12

7.7.1.1 Description 12

7.7.2 Local Function #2 CalcIq 12

7.7.2.1 Description 12

7.7.3 Local Function #3 CurrtoVoltTest 12

7.7.3.1 Description 12

7.7.4 Local Function #4 CalcMinMotCurr 12

7.7.4.1 Description 13

7.7.5 Local Function #5 CalcTq 13

7.7.5.1 Description 13

7.7.6 Local Function #6 CalcMaxTqPt 13

7.7.6.1 Description 13

7.7.7 Local Function #7 PrbcIntrpn 13

7.7.7.1 Description 13

7.7.8 Local Function #7 PrbcIntrpn 13

7.7.8.1 Description 14

7.8 GLObAL Function/Macro Definitions 14

7.9 TRANSIENT FUNCTIONS 14

8 Unit Test Considerations 15

9 Known Limitations With Design 16

10 Appendix 17

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
<1><MDD Guidelines>Process 04.02.01
<2><Software Naming Conventions>Process 04.02.01
<3><Coding standards>Process 04.02.01
<4>FDD - SF103A_MotRefMdl_DesignSee Synergy Subproject version
<Add if more available>

MotRefMdl & High-Level Description

Design details of software module

Graphical representation of MotRefMdl

Data Flow Diagram

Module level DFD

Sub-Module level DFD

COMPONENT FLOW DIAGRAM

Variable Data Dictionary

User defined typedef definition/declaration

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

MotInterCalcnsRecRelncTqCoeff_Henry_f32Single Precision float3e-050.00041
MotREstimd_Ohm_f32Single Precision float0.0050.12565
ReacncDaxOverR_Uls_f32Single Precision float-14.4436+14.4436
ReacncQaxOverR_Uls_f32Single Precision float-14.4436+14.4436
EgOverR_Ampr_f32Single Precision float-200200
VltgOverR_Ampr_f32Single Precision float-200200
VovrRAllSqd_AmprSqd_f32Single Precision float040000
EgOverROverZ_Ampr_f32Single Precision float-200200
VovrRovrZ_Ampr_f32Single Precision float-200200
MotKeEstimd_VoltPerMotRadPerSec_f32Single Precision float.025.075

Variable definition for enumerated types

Enum NameElement NameValue
N/A<(Variable name qualified Refer[2])><Define the value >

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

Local

Constant NameResolutionUnitsValue
MOTVLTGDAXEFLOLIM_VOLT_F32Single precision floatVolt-26.5F
MOTVLTGDAXEFHILIM_VOLT_F32Single precision floatVolt26.5F
MOTVLTGQAXEFLOLIM_VOLT_F32Single precision floatVolt-26.5F
MOTVLTGQAXEFHILIM_VOLT_F32Single precision floatVolt26.5F
BITMASK1_CNT_U081Cnt1U
BITMASK2_CNT_U081Cnt2U
BITMASK4_CNT_U081Cnt4U
Refer constants from .m file

Global

Constant Name
Refer constants from .m file

Module specific Lookup Tables Constants

Constant NameResolutionValueSoftware Segment
Refer .m file

Software Module Implementation

Sub-Module Functions

NONE

Initialization Functions

Per: MotRefMdlINIT1

Design Rationale

Refer to FDD

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

PERIODIC FUNCTIONS

Per: MotRefMdlper1

Design Rationale

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Non PERIODIC FUNCTIONS

None

Interrupt Functions

None

Serial Communication Functions

None

Local Function/Macro Definitions

Local Function #1 CalcCurrMagSqRef

Function NameCalcCurrMagSqRefTypeMinMax
Arguments PassedCurrDaxRef_Ampr_T_f32float32-200200
CurrQaxRef_Ampr_T_f32float32-200200
Return ValueCurrMagSqRef_AmprSq_T_f32float32040000

Description

Refer FDD (F_CalcIqCommand)

Local Function #2 CalcIq

Function NameCalcIqTypeMinMax
Arguments PassedTqcmd_MotNwtMtr_T_f32float32-8.88.8
CurrDaxRef_Ampr_T_f32float32-200200
MotRefMdlInterCalcns_T_strstructRefer Struct Definition in Sec5.1Refer Struct Definition in Sec5.1
Return ValueCurrQaxRefTmp_Ampr_T_f32float32-200200

Description

Refer FDD (F_CalcIqCommand)

Local Function #3 CurrtoVoltTest

Function NameCalcIqTypeMinMax
Arguments PassedCurrQaxRef_Ampr_T_f32float32-8.88.8
CurrDaxRef_Ampr_T_f32float32-200200
MotRefMdlInterCalcns_T_strstructRefer Struct Definition in Sec5.1Refer Struct Definition in Sec5.1
Return ValueVdR_Ampr_T_f32float32-200200
VqR_Ampr_T_f32float32-200200
CurrQaxRefTmp_Ampr_T_f32float32-200200

Description

Refer FDD ( F_ItoV)

Local Function #4 CalcMinMotCurr

Function NameCalcMinMotCurrTypeMinMax
Arguments PassedMotTqCmd_MotNwtMtr_T_f32float32-8.88.8
MotRefMdlInterCalcns_T_strstructRefer Struct Definition in Sec5.1Refer Struct Definition in Sec5.1
Return ValueCurrQaxMin_Ampr_T_f32float32-200200
CurrDaxMin_Ampr_T_f32float32-200200
ImSqrMin_AmprSq_T_f32float32040000

Description

Refer FDD (Locate Reference)

Local Function #5 CalcTq

Function NameCalcTqTypeMinMax
Arguments PassedCosDelta_Cnt_T_f32float32-11
SinDelta_Cnt_T_f32float32-11
MotRefMdlInterCalcns_T_strstructRefer Struct Definition in Sec5.1Refer Struct Definition in Sec5.1
Return ValueTqCalc_MotNwtMtr_T_f32float32-8.88.8
CurrDaxMax_Ampr_T_f32float32-200200

Description

Refer FDD (CalculateTorque)

Local Function #6 CalcMaxTqPt

Function NameCalcMaxTqPtTypeMinMax
Arguments PassedMotTqCmd_MotNwtMtr_T_f32float32-8.88.8
MotRefMdlInterCalcns_T_strstructRefer Struct Definition in Sec5.1Refer Struct Definition in Sec5.1
Return ValueMotTqCmdLimd_MotNwtMtr_T_f32float32-8.88.8
CurrDaxMax_Ampr_T_f32float32-200200

Description

Refer FDD (LocateTorqueExtremes)

Local Function #7 PrbcIntrpn

Function NamePrbcIntrpnTypeMinMax
Arguments PassedIntrpnPts_T_f32float32Full rangeFull range
Return ValueParaIntpol_Uls_T_f32float32Full rangeFull range

Description

Refer FDD ( Parabolic Interpolations)

Local Function #8 Decoder

Function NameDecoderTypeMinMax
Arguments PassedMotAndThermProtnLoaMod_Cnt_T_u08Uin80255
Return ValueCurrMeasLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE
IvtrLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE
FetLoaMtgtnEna_Cnt_T_loglBooleanFALSETRUE

Description

Refer FDD ( Decoder)

Local Function #9 VltgSdlCalc

Function NameVltgSdlCalcTypeMinMax
Arguments PassedMotQuad_Cnt_T_enumMotQuad11U4U
AbsltMotVelFiltLp_MotRadPerSec_T_u11p5uint160U1350U
Return ValueVltgSdl_Volt_T_f32Boolean0.0F40.0F

Description

This function is split from Per1 to reduce the path count to less than 300.

GLObAL Function/Macro Definitions

None

TRANSIENT FUNCTIONS

None

Unit Test Considerations

None

Known Limitations With Design

None

Appendix

None

25.3 - MotRefMdl_Peer_Review


Overview

Summary Sheet
Davinci Files
Source Code
PolySpace
Synergy Project


Sheet 1: Summary Sheet
























Rev 2.0029-Nov-17

Nexteer SWC Implementation Peer Review Summary Sheet


























Component Short Name:


Windows User: 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
SF103A_MotRefMdl_Impl
Revision / Baseline:

Windows User: 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
SF103A_MotRefMdl_Impl_4.0.0

























Change Owner:
Windows User: Intended Use: Identify the developer who made the change(s) being reviewed

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

EA4#17534





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. 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.
























































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form 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


YesDavinci Files








































































Comments:

Version rolled to 4.0 to match major revision number for design; previous implementations were not correct.






















































































































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. Before the peer review, the change owner shall:
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: Davinci Files






















Rev 2.0029-Nov-17
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







kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.

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









N/A
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:










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









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:

Shawn Penning

Review Date :

01/03/18
Component Type :


Application




























Lead Peer Reviewer:


Brendon Binder

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

























































Other Reviewer(s):




































































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














































Sheet 3: Source Code






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


MotRefMdl.c

Source File Revision:


Windows User: 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) 9
Header File Name:


MotRefMdl.h

Header File Revision:


Windows User: 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) 2 (see comment)

























MDD Name:


MotRefMdl_MDD.docRevision:
7 (see comment)

























SWC Design Name:


SF103A_MotRefMdl_Design
Revision:
Windows User: Intended Use: For FDDs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the FDD baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1" 4.1


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 1.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







N/A
Comments:

















































for constant names







N/A
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








N/A
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.








N/A
Comments:
















































Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


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 or Model)








N/A
Comments:



in all areas where code was changed and/or Simulink













model was color-coded as changed and/or mentioned






















in SWC Design change log. (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.)














































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





KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used.


Yes
Comments:









(and verified for all possible combinations













of any conditionally compiled code)














































Component.h is included








Yes
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











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

























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







No
Comments:

Beyond scope of this update; requires







"magic numbers": [N12]










designer input for naming to eliminate magic numbers.

























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:

Not checked; beyond scope of this change.







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







N/A
Comments:










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





































All code is mapped with SWC Design (all SWC







N/A
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:























MDD is actually version 6 but appears in Synergy as 7. Header file is actually version 1 but appears in synergy as version 2. Both























files versions should be corrected during the next update of each file.































Review Board:


























Change Owner:

Shawn Penning


Review Date :

01/03/18
































Lead Peer Reviewer:


Brendon Binder


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:









Kathleen Creager


























































Sheet 4: PolySpace






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


MotRefMdl.c




Source File Revision:


9

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







1.04







Poly Space version:

Windows User: eg. 2013b

2013b





TL109A sub project version:

2.2.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)




















































Cyclomatic complexity and Static path count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:

























Overflow and Divide by Zero flags were not checked as none of these variables were affected by this change. Future updates affecting these variables should verify that these

polyspace flags are not relevant.

































Review Board:

Change Owner: Shawn Penning Review Date :

Lead Peer Reviewer: Test Approved by Reviewer(s):

Other Reviewer(s):



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





























Change Owner:

Shawn Penning




Review Date :

01/03/18


































Lead Peer Reviewer:


Brendon Binder




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































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
















































Sheet 5: Synergy Project






















Rev 2.0029-Nov-17

























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:

Shawn Penning


Review Date :

01/03/18
































Lead Peer Reviewer:


Brendon Binder


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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











































26 - Component Implementation

Component Implementation

Component Documentation

26.1 - MotTqCalcd_IntegrationManual

Integration Manual

For

MotTqCalcd

VERSION: 1.0

DATE: 13-MARCH-2018

Prepared By:

TATA ELXSI,

INDIA

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionTATA ELXSI1.013-Mar-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 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

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.0.3 draft
2Software Design and Coding Standards3.0 draft
3SF067A_MotTqCalcd_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

Note: There is a global Non-Rte function MotTqCalcd_Init. This init function is generated by embedded coder and is not present in the Simulink model. This function is always empty and shall not be called.

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

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotTqCalcdInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
MotTqCalcdPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
MotTqCalcd_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

26.2 - MotTqCalcd_MDD

Module Design Document

For

MotTqCalcd

Prepared For:

,

Prepared By:

TATA ELXSI,

INDIA


Change History

DescriptionAuthorVersionDate
Initial versionTATA ELXSI113-Mar-2018


Table of Contents

Table of Contents 3

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 MotTqCalcd & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of MotTqCalcd 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: MotTqCalcdInit1 8

5.1.2 Init: MotTqCalcd_Init 8

5.1.3 Per: MotTqCalcdPer1 8

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 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 SF067A_MotTqCalcd_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.

MotTqCalcd & High-Level Description

This function calculates motor torque estimate from measured Motor Currents or reference MotorCurrents based on the Motor Control and Thermal Protection LOA Mode.

Design details of software module

Graphical representation of MotTqCalcd

C:\Users\guru.s\Desktop\Graphical view of Component\SF067A.JPG

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 SF067A_MotTqCalcd_DataDict.m

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: MotTqCalcdInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Init: MotTqCalcd_Init

Design Rationale

This init function is generated by embedded coder and is not present in the Simulink model.

This function is always empty and is not called.

Module Outputs

There are no outputs for this function.

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

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.0.3 draft
4Software Design and Coding Standards3.0 draft
5SF067A_MotTqCalcd_DesignSee Synergy Sub Project Version

26.3 - MotTqCalcd_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:



MotTqCalcd
Revision / Baseline:


SF067A_MotTqCalcd_AGC_Impl_1.0.0
































Change Owner:


Nimmy Mathews
Work CR ID:


EA4#16545


































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:









1



1


0.5









Component developer reviewers:









0



1


0.5


4





Other reviewers:









0



0


0









Total hours









1



2


1


4




































Content reviewed





























Lines of code:


90


Elements of .arxml content:




12

Pages of documentation:



26































































































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:























Remove Nexteer Interpolation and Fixed point subprojects - Done 3/22/2018































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

03/23/18
































Lead Peer Reviewer:


Avinash James


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









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:

Nimmy Mathews

Review Date :

03/21/18
Component Type :


Application




























Lead Peer Reviewer:


Avinash James

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:



Comments:

























































Other Reviewer(s):


Siva
































































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:


MotTqCalcd.c

Source File Revision:


1
Header File Name:


MotTqCalcd.h

Header File Revision:


1

























MDD Name:


MotTqCalcd_MDD.doc
Revision:
1

























SWC Design Name:


SF067A_MotTqCalcd_Design
Revision:
1.0.1


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:1.0.1
























EA4 Software Naming Convention followed:











Version:1.0.3 draft

























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








No
Comments:



and Version Control version in file comment block











Need new rules for autocoding
























Change log contains detailed description of changes








No
Comments:



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











Need new rules for autocoding
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



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











Verified using SIL testing
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








Yes
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:






































Code comments are clear, correct, and adequate







Yes
Comments:










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










Comments are autogenerated.Need new rules for autocoding

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







No
Comments:










contain correct information: [N43]










Need new rules for autocoding

























Code formatting (indentation, placement of







Yes
Comments:










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










As per the draft version 3.0

[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:

Nimmy Mathews


Review Date :

03/22/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Nimmy Mathews







Comments:




















































Integrator and or
SW lead:









Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):


Siva





































































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:

MotTqCalcd_MDD.doc













MDD Revision:

1


























Source File Name:


MotTqCalcd.c











Source 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)








N/A
Comments:

















Initial version


























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








Yes
Comments:










Design are noted and explained in Design Rationale











_Init function is not present in the model


























All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

03/22/18
































Lead Peer Reviewer:


Avinash James


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:


MotTqCalcd.c













Source File Revision:


1

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







2.0 draft
















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











































Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags













2.0 draft




























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:

Nimmy Mathews




Review Date :

03/22/18


































Lead Peer Reviewer:


Avinash James




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:



MotTqCalcd_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








Yes
Comments:










































Changes Highlighted (for Integrator)








N/A
Comments:











































General Notes / Comments:



























































Review Board:


























Change Owner:

Nimmy Mathews


Review Date :

03/22/18
































Lead Peer Reviewer:


Avinash James


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

27 - Component Implementation

Component Implementation

Component Documentation

27.1 - MotTqCmdSca_IntegrationManual

Integration Manual

For

Motor Torque Command Scale

VERSION: 2.0

DATE: 14-Mar-2016

Prepared By:

Krishna Anne,

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 versionKannappa Chidambaram P R1.001/21/2016
2Updated as per FDD v 1.2.0Krishna Anne2.003/14/2016

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

1.1 RTE 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
1FDD : SF032A_MotTqCmdSca_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

Please refer DataDict.m file.

Required Global Data Outputs

Please refer DataDict.m file.

Specific Include Path present

NA

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotTqCmdScaInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
MotTqCmdScaPer1NoneRTE(2 ms)
SetMotTqCmdSca_OperNoneOn event
GetMotTqCmdSca_OperNoneOn event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

RTE NvM Blocks

Block Name
MotTqScaFac

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None.

Appendix

None.

27.2 - MotTqCmdSca_MDD

Module Design Document

For

MotTqCmdSca

Prepared For:

,

Prepared By:

Krishna Anne,

Nexteer Automotive,

Saginaw, MI, USA


Change History

Sl. No.DescriptionAuthorVersionDate
1Initial versionKannappa Chidambaram P R1.001/21/2016
2Updated as per FDD v 1.2.0Krishna Anne2.003/14/2016


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 MotTqCmdSca & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of MotTqCmdSca 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: MotTqCmdScaInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: MotTqCmdScaPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.2 Server Runables 9

5.2.1 SetMotTqCmdSca 9

5.2.1.1 Design Rationale 9

5.2.1.2 (Processing of function)……… 9

5.3 Interrupt Functions 9

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

MotTqCmdSca & High-Level Description

Please refer FDD

Design details of software module

Graphical representation of MotTqCmdSca

Data Flow Diagram

Please Refer FDD

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Please refer .m file

Software Component Implementation

Sub-Module Functions

Init: MotTqCmdScaInit1

Design Rationale

Please refer FDD

Module Outputs

Please refer FDD

Per: MotTqCmdScaPer1

Design Rationale

Please refer FDD

Store Module Inputs to Local copies

Please refer FDD

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runables

SetMotTqCmdSca

Design Rationale

Please refer FDD

(Processing of function)………

Please refer FDD

Server Runables

GetMotTqCmdSca

Design Rationale

Please refer FDD

(Processing of function)………

Please 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

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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.docProcess 4.02.00
4Software Design and Coding Standards.docProcess 4.02.00
5FDD: SF032A_MotTqCmdSca_DesignSee Synergy sub project version

27.3 - MotTqCmdSca_Review

Review_Checklist

Overview

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


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet




























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF032A_MotTqCmdSca_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF032A_MotTqCmdSca_Impl_1.2.0



























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Krishna Anne
Work CR ID:


EA4#4308





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:








































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































YesMDD


YesSource Code


PolySpace









































YesIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

03/14/16
































Lead Peer Reviewer:


Nick Saxton


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








Yes
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne
Review Date :

03/14/16
Component Type :


Application



























Lead Peer Reviewer:


Nick Saxton
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


MotTqCmdSca.c

Source File Revision:


3
Header File Name:





Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this.

























MDD Name:

MotTqCmdSca_MDD

Revision:
2

























FDD/SCIR/DSR/FDR/CM Name:




SF032A_MotTqCmdSca_Design

Revision:
1.2.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








Yes
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

03/14/16
































Lead Peer Reviewer:


Nick Saxton


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: MDD






















Rev 1.28-Jun-15
Peer Review Meeting Log (MDD Review)


























MDD Name:

MotTqCmdSca_MDD













MDD Revision:

2


























Source File Name:


MotTqCmdSca.c











Source 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








N/A
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 FDD are








N/A
Comments:











noted and explained in Design Rationale






































All Unit Test Considerations have been described








N/A
Comments:



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

03/14/16
































Lead Peer Reviewer:


Nick Saxton


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 6: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


MotTqCmdSca.c











Source File Revision:


3

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.01.00














Poly Space version:


Windows User: eg. 2013b 2013b





Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 TL108A_PolyspaceSuprt_1.0.0






QAC version:


Windows User: eg 8.1.1-R 8.1.1-R





QAC sub project version:




Windows User: eg. TL_100A_1.1.0 TL100A_QACSuprt_1.2.0































Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

03/14/16
































Lead Peer Reviewer:


Nick Saxton


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 7: Integration Manual






















Rev 1.28-Jun-15
Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. MotTqCmdSca_IntegrationManual

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. Rationale: Required for traceability between the MDD and review. Auditors will likely require this. 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:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

03/14/16
































Lead Peer Reviewer:


Nick Saxton


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































27.4 - requirements

FDDIDSourceFunctionLine(s)StatusComment
.SwFileName.SwFuncName.SwLines.SwStatus.SwComment
SF032A11MotTqCmdSca.cGetMotTqCmdSca_Oper130I
SF032A13MotTqCmdSca.cSetMotTqCmdSca_Oper276I
SF032A45MotTqCmdSca.cSetMotTqCmdSca_Oper276I
SF032A14MotTqCmdSca.cSetMotTqCmdSca_Oper276I
SF032A48MotTqCmdSca.cMotTqCmdScaInit1174,176-183,177-183I
SF032A47MotTqCmdSca.cMotTqCmdScaInit1172,174-183I
SF032A30MotTqCmdSca.cGetMotTqCmdSca_Oper130I
SF032A51MotTqCmdSca.cGetMotTqCmdSca_Oper130I
SF032A50MotTqCmdSca.cGetMotTqCmdSca_Oper130I
SF032A34MotTqCmdSca.cMotTqCmdScaPer1224-229I
SF032A36MotTqCmdSca.cMotTqCmdScaPer1231I

28 - Component Implementation

Component Implementation

Component Documentation

28.1 - MotTqTranlDampg_IntegrationManual

Integration Manual

For

Transistional Damping (SF-50A)

VERSION: 1.0

DATE: 12-AUG-2015

Prepared By:

Krishna Kanth Anne

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 versionKrishna Kanth Anne1.008/12/2015

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
1FDD : SF050A_MotTqTranlDampg_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotTqTranlDampgInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
MotTqTranlDampgPer1NoneRTE (2 ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

28.2 - MotTqTranlDampg_MDD

Module Design Document

For

Transistional Damping (SF-50A)

August 12, 2015

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Krishna Kanth Anne,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrishna Kanth AnneEA4 01.00.0112-Aug-2015


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 MotTqTranlDampg & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of MotTqTranlDampg 7

3.2 Data Flow Diagram 7

3.2.1 Component level DFD 7

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: MotTqTranlDampgInit1 10

5.1.1.1 Design Rationale 10

5.1.1.2 Module Outputs 10

5.1.2 Per: MotTqTranlDampgPer1 10

5.1.2.1 Design Rationale 10

5.1.2.2 Store Module Inputs to Local copies 10

5.1.2.3 (Processing of function)……… 10

5.1.2.4 Store Local copy of outputs into Module Outputs 10

5.2 Server Runables 10

5.3 Interrupt Functions 10

5.4 Module Internal (Local) Functions 10

5.4.1 Local Function #1 10

5.4.1.1 Design Rationale 11

5.4.1.2 Processing 11

5.4.2 Local Function #2 11

5.4.2.1 Design Rationale 11

5.4.2.2 Processing 11

5.5 GLOBAL Function/Macro Definitions 11

5.5.1 GLOBAL Function #1 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

MDD for Motor Torque Transistional Damping.

Scope

MotTqTranlDampg & High-Level Description

Please refer FDD.

Design details of software module

Graphical representation of MotTqTranlDampg

Data Flow Diagram

Please refer FDD.

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
Please refer .m file

Software Component Implementation

Sub-Module Functions

Init: MotTqTranlDampgInit1

Design Rationale

None

Module Outputs

None

Per: MotTqTranlDampgPer1

Design Rationale

None

Store Module Inputs to Local copies

Please refer FDD

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameSwOpCtrlPart1TypeMinMax
Arguments PassedTranlDampgTiElpsd_MilliSec_T_f32float320.01000.0
AbslMotVelCrf_MotRadPerSec_T_f32float320.01350.0
Return ValueMotTqTranlDampgCmpl_Cnt_T_lgcbooleanFALSETRUE

Design Rationale

None

Processing

(Place flowchart/design for local function)

Refer to the “SwOutputCntrl” block of the Simulink model of the design.

Local Function #2

Function NameSwOpCtrlPart2TypeMinMax
Arguments PassedDiagcStsCtrldShtDwnFltPrsnt_Cnt_T_lgcbooleanFALSETRUE
CtrlDampTrq_MotNwtMtr_T_f32float32-3.03.0
SysSt_Cnt_T_enumSysSt103
MotTqCmdCrf_MotNwtMtr_T_f32float32-8.88.8
MotTqTranlDampgCmpl_Cnt_T_lgcbooleanFALSETRUE
Return ValueMotTqCmdCrfDampd_MotNwtMtr_T_f32float32-11.811.8

Design Rationale

None

Processing

(Place flowchart/design for local function)

Refer to the “SwOutputCntrl” block of the Simulink model of the design.

GLOBAL Function/Macro Definitions

None

GLOBAL Function #1

Function NameNATypeMinMax
Arguments PassedNone
Return ValueNA

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.0
5FDD : SF050A_MotTqTranlDampg_Design (V 1.1.0)See Synergy sub project version

28.3 - MotTqTranlDampg_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF050A_MotTqTranlDampg_Imp
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF050A_MotTqTranlDampg_Imp_1.2.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Krishna Anne
Work CR ID:


EA4#11228





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:

Reviewed changes alone



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

05/02/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)










No changes

































Calibration port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)










No changes

































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file and have been converted to counts










No changes










for fixed point types














































Calibration port initialization values match







N/A
Comments:










DataDict.m file and have been converted to counts










No changes










for fixed point types














































Mapping set and all unused items have been







N/A
Comments:










removed










No changes

































All sender/receiver port read/writes using direct








N/A
Comments:










read/writes(List justification if not)










No changes

































Runnable calling frequencies match FDD








N/A
Comments:






















No changes









DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD











No changes
























Component is correct component type








Yes
Comments:






















No changes



















































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne
Review Date :

05/02/17
Component Type :


Application



























Lead Peer Reviewer:


Matt Leser
Approved by Reviewer(s):






































Other Reviewer(s):










































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


MotTqTranlDampg.c

Source File Revision:


3
Header File Name:


NA

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. NA

























MDD Name:

MotTqTranlDampg_MDD.docx

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF050A_MotTqTranlDampg_Design

Revision:
1.3.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD











No Req Tags
























All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:
















































MCC coverage as per SIL reports is 94% and Boundary value coverage in 44%; These are less than the coverages observed in PIL reports of previous versions. Reason being the test vectors of MIL testing, an ICR is required for re-running the MIL and subsequent SIL tests.































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

05/02/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


MotTqTranlDampg.c


Source File Revision:


3

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.01.00














Poly Space version:


Windows User: eg. 2013b 2013b





Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 TL108A_PolyspaceSuprt_1.0.0






QAC version:


Windows User: eg 8.1.1-R 8.1.1-R





QAC sub project version:




Windows User: eg. TL_100A_1.1.0 TL100A_QACSuprt_1.2.0































Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Krishna Anne


Review Date :

05/02/17
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































29 - Component Implementation

Component Implementation

Component Documentation

29.1 - MotVel_Integration Manual

Integration Manual

For

‘MotVel’

VERSION: 1.0

DATE: 12-April-2016

Prepared By:

Software Group

Nexteer Automotive,

Saginaw, MI, USA


Revision History

: ARM Cortex R4 Memory Usage

Sl. No.DescriptionAuthorVersionDate
1Initial versionRijvi Ahmed1.012-April-2016


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 Non RTE NvM Blocks 10

7.4 RTE 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
1FDD – SF40A_MotVel_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 04.02.01
3Software Design and Coding StandardsProcess 04.02.01

Dependencies

SWCs

ModuleRequired Feature
None

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

MotVelPer1

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file file in the FDD

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
MotVelInit1NoneRTE/Init
RunnableScheduling RequirementsTrigger
MotVelPer1NoneMotor Control ISR
MotVelPer2NoneRTE/2ms

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
MotCtrl_START_SEC_CODECode section for Motor Control scheduled functions

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

Usage

FeatureRAMROM
<Memmap usuage info>

Non RTE NvM Blocks

Block Name
None

RTE NvM Blocks

Block Name
none

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None

Appendix

None

29.2 - MotVel_MDD

Module Design Document

For

‘MotVel’

VERSION: 2.0

DATE: 25-Jul-2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Shawn Penning

Saginaw, MI


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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionRijvi Ahmed1.012-April-2016
2Updated per design rev. 2.0.0TATA2.018-Nov-2016
3Updated per design rev. 2.1.0Shawn Penning3.025-Jul-2017


Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 MotVel & High-Level Description 7

4 Design details of software module 8

4.1 Graphical representation OF MotVel 8

4.2 Data Flow Diagram 8

4.2.1 Module level DFD 8

4.2.2 Sub-Module level DFD 8

4.3 COMPONENT FLOW DIAGRAM 8

5 Variable Data Dictionary 9

5.1 User defined typedef definition/declaration 9

5.2 Variable definition for enumerated types 9

6 Constant Data Dictionary 10

6.1 Program(fixed) Constants 10

6.1.1 Embedded Constants 10

6.1.1.1 Local 10

6.1.2 Module specific Lookup Tables Constants 10

7 Software Module Implementation 11

7.1 Sub-Module Functions 11

7.1.1 Initialization Functions 11

7.1.2 PERIODIC FUNCTIONS 11

7.1.2.1 INIT: MotVelPER1 11

7.1.2.1.1 Design Rationale 11

7.1.2.2 Design Rationale 11

7.1.2.3 Store Module Inputs to Local copies 11

7.1.2.4 (Processing of function)……… 11

7.1.2.5 Store Local copy of outputs into Module Outputs 11

7.1.3 PERIODIC FUNCTIONS 11

7.1.3.1 INIT: MotVelPER2 11

7.1.3.1.1 Design Rationale 11

7.1.3.2 Design Rationale 11

7.1.3.3 Store Module Inputs to Local copies 11

7.1.3.4 (Processing of function)……… 11

7.1.3.5 Store Local copy of outputs into Module Outputs 11

7.1.4 Interrupt Functions 12

Server runnables 12

7.1.4.1.1 Store Local copy of outputs into Module Outputs 12

7.1.4.2 Local Function/Macro Definitions 12

7.1.5 GLObAL Function/Macro Definitions 12

7.1.6 Tranisition FUNCTIONS 12

8 Known Limitations With Design 13

9 UNIT TEST CONSIDERATION 14

10 Appendix 15

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
1MDD GuidelinesProcess 04.02.01
2Software Naming ConventionsProcess 04.02.01
3Software Design and Coding standardsProcess 04.02.01
4FDD : SF40A_MotVel_DesignSee Synergy sub project version

MotVel & High-Level Description

Please refer FDD.

Design details of software module

Graphical representation OF MotVel

Data Flow Diagram

Refer FDD

Module level DFD

Refer FDD

Sub-Module level DFD

Refer FDD

COMPONENT FLOW DIAGRAM

Refer FDD

Variable Data Dictionary

User defined typedef definition/declaration

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

NoneN/AN/AN/AN/A

Variable definition for enumerated types

Enum NameElement NameValue
NoneN/AN/A

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

Local

Constant NameResolutionUnitsValue
Refer the m files

6.1.1.2 Global

Constant Name
N/A

Module specific Lookup Tables Constants

Constant NameResolutionValueSoftware Segment
NoneN/AN/AN/A

Software Module Implementation

Sub-Module Functions

Initialization Functions

None

PERIODIC FUNCTIONS

INIT: MotVelPER1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

PERIODIC FUNCTIONS

INIT: MotVelPER2

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Interrupt Functions

None

Server runnables

None

Store Local copy of outputs into Module Outputs

None

Local Function/Macro Definitions

None

GLObAL Function/Macro Definitions

None

Tranisition FUNCTIONS

None

Known Limitations With Design

  1. Per-Instance Memory variables in Design 2.1, MotAgBufIdxPrev and MotAgBufIdxPrim, are set with range of 0 to 255, but are index variables for an array of only 8 elements. Design to be corrected in the next version as follows: the Max Value for both PIM’s to be 7 instead of 255 (range 0..7 instead of 0..255).

UNIT TEST CONSIDERATION

Per-Instance Memory variables in Design 2.1, MotAgBufIdxPrev and MotAgBufIdxPrim, are set with range of 0 to 255, but are index variables for an array of only 8 elements. Design to be corrected in the next version as follows: the Max Value for both PIM’s to be 7 instead of 255 (range 0..7 instead of 0..255).

Appendix

None

29.3 - MotVel_Peer Review Checklist


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF040A_MotVel_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF040A_MotVel_Impl_2.2.0_NPP

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Akilan Rathakrishnan
Work CR ID:


EA4#19630





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


N/ADavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

01/19/18
































Lead Peer Reviewer:


Jayakrishnan T


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


CDD_MotVel.c

Source File Revision:


6
Source File Name:


CDD_MotVel_MotCtrl.c

Source File Revision:


3
Header File Name:


CDD_MotVel_private.h

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























MDD Name:

MotVel_MDD.doc

Revision:
3

























FDD/SCIR/DSR/FDR/CM Name:




SF040A_MotVel_Design

Revision:
TBD


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








No
Comments:

Design to be updated







































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








Yes
Comments:
























All other includes are actually needed. (System includes








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







N/A
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







N/A
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







N/A
Comments:










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













[N57], [N58], [N59]














































Embedded constants used per standards; no







No
Comments:

Magic numbers are used







"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:
















































Implementation done based on the a PSR code. Design work is in progress. Updated only the limit from 65535 to 65536































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

01/19/18
































Lead Peer Reviewer:


Jayakrishnan T
Approved by Reviewer(s):





Yes































Other Reviewer(s):


Samanth K

































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (PolySpace Review)


























Source File Name:


CDD_MotVel.cSource File Revision:


6

Source File Name:


CDD_MotVel_MotCtrl.cSource File Revision:


3

Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.02.00







Poly Space version:


Windows User: eg. 2013b 2013B
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0


QAC version:


Windows User: eg 8.1.1-R

QAC sub project version:




Windows User: eg. TL_100A_1.1.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:























Stubs.c and Stubs.h were modified mannually to eliminate PolySpace warnings. A recommendation for changes to TL109A have been placed on the TL109A change spreadsheet, but the current version does not support this component due to the unique input arrays, MotAgBuf and MotAgTiBuf.


































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Avinash James


Review Date :

01/19/18
































Lead Peer Reviewer:


Jayakrishnan T
Approved by Reviewer(s):





Yes































Other Reviewer(s):



































































30 - Component Implementation

Component Implementation

Component Documentation

30.1 - PosnTrakgServo_IntegrationManual

Integration Manual

For

Position Tracking Servo

VERSION: 1.0

DATE: 20-Jan-2017

Prepared By:

Matthew Leser

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 versionMatthew Leser1.020-Jan-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

References

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

Sr. No.TitleVersion
1FDD : SF020B_PosnTrakgServo_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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 DataDict.m file.

Required Global Data Outputs

Refer DataDict.m file.

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
PosnTrakgServoInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
PosnTrakgServoPer1NoneRTE(2 ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

30.2 - PosnTrakgServo_MDD

Module Design Document

For

Jan 20, 2017

Prepared For:

Software Engineering

,

Saginaw, MI, USA

Prepared By:

Matthew Leser

,

Change History

DescriptionAuthorVersionDate
Initial VersionMatthew Leser1.020-Jan-2017


Table of Contents

1 Introduction 5

1.1 Purpose 5

2 PosnTrakgServo & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of PosnTrakgServo 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: PosnTrakgServoInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: PosnTrakgServoPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 9

5.4.1 Local Function #1 9

5.4.1.1 Design Rationale 10

5.4.1.2 Processing 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

MDD for Position Tracking Servo.

PosnTrakgServo & High-Level Description

Please refer FDD

Design details of software module

Graphical representation of PosnTrakgServo

Data Flow Diagram

Please refer FDD

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue

Software Component Implementation

Sub-Module Functions

Init: PosnTrakgServoInit1

Design Rationale

None

Module Outputs

None

Per: PosnTrakgServoPer1

Design Rationale

None

Store Module Inputs to Local copies

None

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameSVResetTypeMinMax
Arguments PassedPosnServoEna_Cnt_T_lgcBooleanFALSETRUE
SVResetInp_HwNwtMtr_T_f32Float32
Return ValueSVResetOup_Uls_T_f32Float32

Design Rationale

NA

Processing

Please refer SVReset block of the FDD.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD: SF020B_PosnTrakgServo_DesignSee Synergy sub project version

30.3 - PosnTrakgServo_Review


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF020B_PosnTrakgServo_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. 1.1.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Matthew Leser
Work CR ID:


EA4#10235





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


Source Code


PolySpace









































Integration Manual


Davinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

03/31/17
































Lead Peer Reviewer:


Shruthi R


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


PosnTrakgServo.c
Source File Revision:


2
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

PosnTrakgServo_MDD.docx
Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




SF020B_PosnTrakgServo_Design
Revision:
1.1.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































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.)




































All paths assign a value to outputs, ensuring








Yes
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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 FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

03/31/17
































Lead Peer Reviewer:


Shruthi R


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


PosnTrakgServo.cSource File Revision:


2

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







Draft 1.2







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 N/A

QAC version:


Windows User: eg 8.1.1-R 8.1.1-R
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 TL_100A_1.2.0


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Matthew Leser


Review Date :

03/31/17
































Lead Peer Reviewer:


Shruthi R


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































31 - Component Implementation

Component Implementation

Component Documentation

31.1 - PullCmpActv_IntegrationManual

Integration Manual

For

Active Pull Compensation

VERSION:2.0

DATE: 22-DEC-2017

Prepared By:

Krishna Anne

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 versionTATA1.010/16/2015
2Added FltInjKrishna Anne2.012/22/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 Non RTE NvM Blocks 10

7.4 RTE 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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
1FDD : SF013A_PullCmpActv_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.02.00
3Software Design and Coding StandardsProcess 4.02.00

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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
FLTINJENASet to ‘STD_ON’ for fault injection

Configuration Files to be provided by Integration Project

<Configuration file that will generated from this components that will require Da Vinci Config generation or manual generation. Describe each parameter >

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 DataDict.m file.

Required Global Data Outputs

Refer DataDict.m file.

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
PullCmpActvInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
PullCmpActvPer1NoneRTE (2 ms)
PullCmpActvPer2NoneRTE (100 ms)
GetPullCmpPrm_OperNoneOn event
SetPullCmpLongTerm_OperNoneOn event
SetPullCmpShoTerm_OperNoneOn event
RstPullCmp_OperNoneOn event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

RTE NvM Blocks

Block Name
PullCmpLongTerm

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

31.2 - PullCmpActv_MDD

Module Design Document

For

Active Pull Compensation

Jan 17, 2017

Prepared For:

Software Engineering

,

Saginaw, MI, USA

Prepared By:

Matthew Leser,

,

Saginaw, MI, USA
Change History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionAkhil Krishna N D1.016-Oct-2015
2Updated to FDD version SF013A_PullCmpActv_Design_1.4.0SB2.029-Feb-2016
3Updated to design version SF013A_PullCmpActv_Design_1.6.0SN3.020-Jun-2016
4Updated to design version 2.0.0ML4.017-Jan-2017


Table of Contents

1 Introduction 5

1.1 Purpose 5

1.2 Scope 5

2 Active Pull Compensation & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of Active Pull Compensation 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: PullCmpActvInit1 10

5.1.1.1 Design Rationale 10

5.1.1.2 Module Outputs 10

5.1.2 Per: PullCmpActvPer1 10

5.1.2.1 Design Rationale 10

5.1.2.2 Store Module Inputs to Local copies 10

5.1.2.3 (Processing of function)……… 10

5.1.2.4 Store Local copy of outputs into Module Outputs 10

5.1.3 Per: PullCmpActvPer2 10

5.1.3.1 Design Rationale 10

5.1.3.2 Store Module Inputs to Local copies 10

5.1.3.3 (Processing of function)……… 10

5.1.3.4 Store Local copy of outputs into Module Outputs 10

5.2 Server Runnables 11

5.2.1 GetPullCmpPrm 11

5.2.1.1 Design Rationale 11

5.2.1.2 (Processing of function)……… 11

5.2.2 RstPullCmp 11

5.2.2.1 Design Rationale 11

5.2.2.2 (Processing of function)……… 11

5.2.3 SetPullCmpLongTerm 11

5.2.3.1 Design Rationale 11

5.2.3.2 (Processing of function)……… 11

5.2.4 SetPullCmpShoTerm 11

5.2.4.1 Design Rationale 11

5.2.4.2 (Processing of function)……… 11

5.3 Interrupt Functions 11

5.4 Module Internal (Local) Functions 11

5.4.1 Local Function #1 11

5.4.1.1 Design Rationale 12

5.4.1.2 Processing 12

5.4.2 Local Function #2 12

5.4.2.1 Design Rationale 12

5.4.2.2 Processing 12

5.4.3 Local Function #1 12

5.4.3.1 Design Rationale 13

5.4.3.2 Processing 13

5.5 GLOBAL Function/Macro Definitions 13

5.5.1 GLOBAL Function #1 13

5.5.1.1 Design Rationale 13

5.5.1.2 processing 13

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

Active Pull Compensation & High-Level Description

The Active Pull Compensation Function corrects vehicle pull issues by compensating for HW torque offsets detected by the steering system. These torque offsets are classified as short-term and long-term, each of which is compensated for independently by the algorithm. When the compensation is applied, the need for the driver to provide a constant input torque to counter these offsets is greatly reduced.

Design details of software module

Graphical representation of Active Pull Compensation

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

Software Component Implementation

Sub-Module Functions

Init: PullCmpActvInit1

Design Rationale

None

Module Outputs

None

Per: PullCmpActvPer1

Design Rationale

None

Store Module Inputs to Local copies

None

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Per: PullCmpActvPer2

Design Rationale

Please refer FDD.

Store Module Inputs to Local copies

Please refer FDD and design rationale noted above.

(Processing of function)………

Please refer FDD.

Store Local copy of outputs into Module Outputs

None

Server Runnables

GetPullCmpPrm

Design Rationale

None

(Processing of function)………

See GetPullCmpPrm block in FDD

RstPullCmp

Design Rationale

None

(Processing of function)………

See RstPullCmp block in FDD

SetPullCmpLongTerm

Design Rationale

None

(Processing of function)………

See SetPullCmpLongTerm block in FDD

SetPullCmpShoTerm

Design Rationale

None

(Processing of function)………

See SetPullCmpShoTerm block in FDD

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameActvCmpEnaTypeMinMax
Arguments PassedPullCmpActvShoTermRst_Cnt_T_loglbooleanFALSETRUE
AbslHwTqFild_HwNwtMtr_T_f32float320.010.0
AbslHwAg_HwDeg_T_f32float320.01440.0
AbslVehYawRateFild_VehDegPerSec_T_f32float320.0128.0
AbslVehLatA_MtrPerSecSqd_T_f32float320.010.0
PinionAgConf_Uls_T_f32float320.01.0
VehSpd_Kph_T_f32float320.0511.0
VehSpdVld_Cnt_T_loglbooleanFALSETRUE
AbslHwVel_HwRadPerSec_T_f32float320.042.0
PullCmpCustLrngDi_Cnt_T_loglBooleanFALSETRUE
VehYawRateVld_Cnt_T_loglbooleanFALSETRUE
Return ValueLrngEnad_Cnt_T_loglbooleanFALSETRUE

Design Rationale

None

Processing

(Place flowchart/design for local function)

Refer to the “ActvCmpEna” block of the Simulink model of the design.

Local Function #2

Function NameCalcIntgrGainTypeMinMax
Arguments PassedHwTq_HwNwtMtr_T_f32float32-10.010.0
PullCmpShoTermPrev_HwNwtMtr_T_f32float32-10.010.0
Return ValueIntgtrGainShoTerm_Uls_T_f32float320.01.0

Design Rationale

None

Processing

(Place flowchart/design for local function)

Refer to the “CalcIntgtrGain” block of the Simulink model of the design

Local Function #3

Function NameErrIntgtrActvLimTypeMinMax
Arguments PassedPullCmpActvShoTermRst_Cnt_T_loglbooleanFALSETRUE
IntgtrGainShoTerm_Uls_T_f32float320.01.0
PullErrShoTerm_HwNwtMtr_T_f32float32-10.010.0
PullCmpShoTermPrev_HwNwtMtr_T_f32float32-10.010.0
RampDwnStepSize_HwNwtMtr_T_f32float320.00.6
ShoTermRst_Cnt_T_loglbooleanFALSETRUE
Return ValuePullCmpShoTerm_HwNwtMtr_T_f32float32-10.010.0

Design Rationale

None

Processing

(Place flowchart/design for local function)

Refer to the “ErrIntgtr&ActvLim” block of the Simulink model of the design.

GLOBAL Function/Macro Definitions

GLOBAL Function #1

None

Design Rationale

processing

(Place flowchart/design for local function)

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 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.3.0 R4.0 Rev 2
2MDD GuidelineProcess release 04.02.01
3Software Naming Conventions.docProcess release 04.02.01
4Software Design and Coding Standards.docProcess release 04.02.01
5FDD : SF013A_PullCmpActv_DesignSee Synergy sub project version

31.3 - PullCmpActv_PeerReviewChecklist


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
PolySpace
Integration Manual


Sheet 1: Summary Sheet
























Rev 2.0029-Nov-17

Nexteer SWC Implementation Peer Review Summary Sheet


























Component Short Name:


Windows User: 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
SF013A_PullCmpActv_Impl
Revision / Baseline:

Windows User: 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
SF013A_PullCmpActv_Impl_2.2.0

























Change Owner:
Windows User: Intended Use: Identify the developer who made the change(s) being reviewed

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

EA4#13663





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. 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.
























































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form 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









































YesIntegration Manual


YesDavinci Files








































































Comments:

























































































































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. Before the peer review, the change owner shall:
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.0029-Nov-17

























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:

Krishna Anne


Review Date :

01/25/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 3: Davinci Files






















Rev 2.0029-Nov-17
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







kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.

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









N/A
Comments:










(name, data type, direction)






































Calibration port properties match DataDict.m file









N/A
Comments:










(name, data type)






































Sender/Receiver port initialization values match









N/A
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









N/A
Comments:










removed






































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










N/A
Comments:










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






































Runnable calling frequencies match DataDict.m file









N/A
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:

Krishna Anne

Review Date :

01/25/18
Component Type :


Application




























Lead Peer Reviewer:


Shawn Penning

Approved by Reviewer(s):



Yes




























































Integrator and or
SW lead:
Xin Liu

Comments:

























































Other Reviewer(s):




































































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














































Sheet 4: Source Code






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (Source Code Review)

























Source File Name:


PullCmpActv.c

Source File Revision:


Windows User: 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) 7
Header File Name:





Header File Revision:


Windows User: 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)

























MDD Name:


PullCmpActv_MDD
Revision:
Windows User: 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) 4

























SWC Design Name:


SF013A_PullCmpActv_Design
Revision:
Windows User: Intended Use: For FDDs, list the Synergy baseline number (just the number part of the Synergy baseline name) of the FDD baseline being implemented. E.g., for SF001A_Assi_Design_1.3.1, this field would say "1.3.1" 2.2.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 1.1
























EA4 Software Naming Convention followed:











Version: 1.2

























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








N/A
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





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


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 or Model)








Yes
Comments:



in all areas where code was changed and/or Simulink













model was color-coded as changed and/or mentioned






















in SWC Design change log. (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.)














































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





KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used.


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:











Windows User: Intended Use: list version/revision of latest released Software Design and Coding Standards document. 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







N/A
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:

Krishna Anne


Review Date :

01/25/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:









Comments:




















































Integrator and or
SW lead:
Xin Liu



Comments:













































































Unit test co-ordinator:











Comments:
























































Other Reviewer(s):









































































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





































































Sheet 5: PolySpace






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)




























Source File Name:


PullCmpActv.c





Source File Revision:


7

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:









01.04.00














Poly Space version:

Windows User: eg. 2013b

R2013b





TL109A sub project version:

2.2.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)




















































Cyclomatic complexity and Static path count OK










Yes
Comments:




for all functions in the component per Design
















and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Krishna Anne




Review Date :

01/25/18


































Lead Peer Reviewer:


Shawn Penning




Approved by Reviewer(s):



Yes

































Other Reviewer(s):


















































































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
















































Sheet 6: Integration Manual






















Rev 2.0029-Nov-17
Nexteer SWC Implementation Peer Review Meeting Log (Integration Manual Review)


























Integration Manual Name:



kzshz2: Intended Use: Identify which file is being reviewed Rationale: Required for traceability. It will help to ensure this sheet is not attached to the wrong design review form. PullCmpActv_IntegrationManual

Integration Manual Revision:



kzshz2: Intended Use: Identify which version of the integration manual has been reviewed. 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:

Krishna Anne


Review Date :

01/25/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes
























































Integrator and or
SW lead:
Xin Liu


Comments:

















































Other Reviewer(s):

































































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











































32 - Component Implementation

Component Implementation

Component Documentation

32.1 - PwrLimr_IntegrationManual

Integration Manual

For

PwrLimr

VERSION: 1.0

DATE: 20-APR-2018

Prepared By:

Shawn Penning,

Nexteer Automotive,

Saginaw, MI, USA

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

Revision History

DescriptionAuthorVersionDate
Initial versionShawn Penning1.020-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 Non RTE NvM Blocks 10

7.4 RTE 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
<ADD more to the table if applicable>

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
3SF019D_PwrLimr_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
PwrLimrInit1NoneRTE Init
RunnableScheduling RequirementsTrigger
PwrLimrPer1NoneRTE 2ms
PwrLimrPer2NoneRTE 10ms

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes

* 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

32.2 - PwrLimr_MDD

Module Design Document

For

PwrLimr

20-APR-2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Shawn Penning,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionShawn Penning1.020-APR-2018


Table of Contents

1 PwrLimr High-Level Description 5

2 Design details of software module 6

2.1 Graphical representation of PwrLimr 6

2.2 Data Flow Diagram 6

2.2.1 Component level DFD 6

2.2.2 Function level DFD 6

3 Constant Data Dictionary 7

3.1 Program (fixed) Constants 7

3.1.1 Embedded Constants 7

4 Software Component Implementation 8

4.1 Sub-Module Functions 8

4.1.1 Init: PwrLimrInit1 8

4.1.1.1 Design Rationale 8

4.1.1.2 Module Outputs 8

4.1.2 Per: PwrLimrPer1 8

4.1.2.1 Design Rationale 8

4.1.2.2 Store Module Inputs to Local copies 8

4.1.2.3 (Processing of function)……… 8

4.1.2.4 Store Local copy of outputs into Module Outputs 8

4.1.3 Per: PwrLimrPer2 8

4.1.3.1 Design Rationale 8

4.1.3.2 Store Module Inputs to Local copies 8

4.1.3.3 (Processing of function)……… 8

4.1.3.4 Store Local copy of outputs into Module Outputs 8

4.2 Server Runnables 9

4.3 Interrupt Functions 9

4.4 Module Internal (Local) Functions 9

4.4.1 AssiLimCdn 9

5 Known Limitations with Design 10

6 UNIT TEST CONSIDERATION 11

Appendix A Abbreviations and Acronyms 12

Appendix B Glossary 13

Appendix C References 14

PwrLimr High-Level Description

Refer FDD

Design details of software module

Graphical representation of PwrLimr

Data Flow Diagram

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
BIT1MASK_ULS_U081Uls2U
Refer DataDict.m

Software Component Implementation

Sub-Module Functions

Init: PwrLimrInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Per: PwrLimrPer1

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

Per: PwrLimrPer2

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 Runnables

None

Interrupt Functions

None

Module Internal (Local) Functions

AssiLimCdn

Function NameAssiLimCdnTypeMinMax
Arguments PassedFildTqLim_Uls_T_f32float320.0F1.0F
BrdgVltg_Volt_T_f32float326.0F26.5F
Return ValueNoneN/AN/AN/A

Design Rationale

See “Asst_Lmt_Condition_Determination” block in the Simulink model of the design.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3EA4 Software Naming Conventions.doc01.01.00
4Software Design and Coding Standards.doc2.1
5FDD – SF019D Power LimiterSee Synergy subproject version

32.3 - PwrLimr_PeerReviewChecklist


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:



PwrLimr
Revision / Baseline:


SF019D_PwrLimr_Impl_1.0.0
































Change Owner:


Shawn Penning
Work CR ID:


EA4#22138


































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:









2



1


0.5









Component developer reviewers:









0



1


0


4.5





Other reviewers:









0



0.5


0









Total hours









2



2.5


0.5


5




































Content reviewed





























Lines of code:


1443


Elements of .arxml content:




56

Pages of documentation:



26































































































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:

Shawn Penning


Review Date :

04/23/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









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:

Initial Version

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









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






































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:

Shawn Penning

Review Date :

04/23/18
Component Type :


Application




























Lead Peer Reviewer:


Matt Leser

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:


PwrLimr.c

Source File Revision:


1
Header File Name:





Header File Revision:




























MDD Name:


PwrLimr_MDD.docx
Revision:
1

























SWC Design Name:


SF019D_PwrLimr_Design
Revision:
1


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 1.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







Yes
Comments: Local variable name wrong. 04/23/18: corrected







































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: Initial version
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.01

























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







Yes
Comments:

finite loop iterations: [N63]




































All divides protect against divide by zero







Yes
Comments:

if needed: [N65]




































All integer division and modulus operations







Yes
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:

Shawn Penning


Review Date :

04/23/18
































Lead Peer Reviewer:


Matt Leser


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Nakul Shah







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 5: MDD






















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


























MDD Name:

PwrLimr_MDD.docx
MDD Revision:

1


























Source File Name:


PwrLimr.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)








N/A
Comments: Initial Version









































Diagrams have been included per MDD Guideline








Yes
Comments:

and reviewed






































All Design Exceptions and Limitations are listed








N/A
Comments: None









































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: None









































General Notes / Comments:









































Review Board:


























Change Owner:

Shawn Penning


Review Date :

04/23/18
































Lead Peer Reviewer:


Matt Leser


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:


PwrLimr.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)












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:

Shawn Penning




Review Date :

04/23/18






























































Lead Peer Reviewer:


Matt Leser




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:



PwrLimr_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








Yes
Comments:






































Changes Highlighted (for Integrator)








N/A
Comments: Initial version







































General Notes / Comments:









































Review Board:


























Change Owner:

Shawn Penning


Review Date :

04/23/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 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

33 - Component Implementation

Component Implementation

Component Documentation

33.1 - SteerCmdArbnAndLim_IntegrationManual

Integration Manual

For

SteerCmdArbnAndLim

VERSION: 1.0

DATE: 27-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.027-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
3SF112A_SteerCmdArbnAndLim_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
SteerCmdArbnAndLimInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
SteerCmdArbnAndLimPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
SteerCmdArbnAndLim_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

33.2 - SteerCmdArbnAndLim_MDD

Module Design Document

For

SteerCmdArbnAndLim

April 27, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Tychy, Poland
Change History

DescriptionAuthorVersionDate
Initial versionMarek Brykczyński127-Apr-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 SteerCmdArbnAndLim & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of SteerCmdArbnAndLim 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: SteerCmdArbnAndLimInit1 8

5.1.2 Per: SteerCmdArbnAndLimPer1 8

5.2 Server Runables 8

5.2.1 Oper: SetManTqCmd_Oper 8

5.3 Interrupt Functions 8

5.4 Module Internal (Local) Functions 9

5.4.1 SteerCmdArbnAndLimStMac 9

5.4.2 SetNtcs 9

5.4.3 TranDeb 9

5.5 GLOBAL Function/Macro Definitions 9

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 SF112A_SteerCmdArbnAndLim_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.

SteerCmdArbnAndLim & High-Level Description

The Steer Command Arbitration And Limit arbitrates between different sources of Motor Torque Command based on a functional safety requirements and manufacturing process. It also provides means of applying limits to Motor Torque Command related to motor operation conditions and End Of Travel situations.

Design details of software module

Graphical representation of SteerCmdArbnAndLim

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

Oper: SetManTqCmd_Oper

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

Interrupt Functions

None

Module Internal (Local) Functions

SteerCmdArbnAndLimStMac

Function NameSteerCmdArbnAndLimStMacTypeMinMax
Arguments PassedMotTqCmd_MotNwtMtr_T_f32float32-8.88.8
LimdMotTqCmd_MotNwtMtr_T_f32float32-8.88.8
ReqdMotTqCmdEna_Cnt_T_loglbooleanFALSETRUE
MotTqCmdNotLimd_Cnt_T_loglbooleanFALSETRUE
Return Value----

SetNtcs

Function NameSetNtcsTypeMinMax
Arguments PassedSteerCmdArbnAndLimSt_Cnt_T_u08const pointer to const uint804
Return Value----

TranDeb

Function NameTranDebTypeMinMax
Arguments PassedMotTqCmdNotLimd_Cnt_T_loglbooleanFALSETRUE
TranCond_Cnt_T_u08uint823
TiThd_MilliSec_T_u16uint16FALSETRUE
DebTiStor_Cnt_T_u32const pointer to uint3204294967295
Return ValueDebRes_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
5SF112A_SteerCmdArbnAndLim_DesignSee Synergy Sub Project Version

33.3 - SteerCmdArbnAndLim_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:



SteerCmdArbnAndLim
Revision / Baseline:


SF112A_SteerCmdArbnAndLim_Impl_1.0.0
































Change Owner:


Marek Brykczyński
Work CR ID:


EA4#23044


































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/27/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/27/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:


SteerCmdArbnAndLim.c
Source File Revision:


1
Header File Name:


-
Header File Revision:


-

























MDD Name:


SteerCmdArbnAndLim_MDD.docx
Revision:
1

























SWC Design Name:


SF112A_SteerCmdArbnAndLim_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/27/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:

SteerCmdArbnAndLim_MDD.docx
MDD Revision:

1


























Source File Name:


SteerCmdArbnAndLim.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/27/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:


SteerCmdArbnAndLim.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.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













Cyclomatic complexity for one function is 11, this is acceptable in the subject case

and Coding Standards rule [N47]










































































































General Notes / Comments:































































Review Board:




























Change Owner:

Marek Brykczyński




Review Date :

04/27/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:



SteerCmdArbnAndLim_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/27/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

34 - Component Implementation

Component Implementation

Component Documentation

34.1 - StOutpCtrl Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF005A_StOutpCtrl_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF005A_StOutpCtrl_Impl_1.5.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Shawn Penning
Work CR ID:


EA4#11057





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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








N/A
Comments:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

05/10/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer


































































Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








N/A
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








N/A
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








N/A
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning
Review Date :

05/10/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer































































Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


StOutpCtrl.c

Source File Revision:


5
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

StOutpCtrl_MDD.doc

Revision:
3

























FDD/SCIR/DSR/FDR/CM Name:




SF005A_StOutpCtrl_Design

Revision:
1.4.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD











Tags Removed
























All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








N/A
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







N/A
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







N/A
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







N/A
Comments:










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













[N57], [N58], [N59]














































Embedded constants used per standards; no







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

05/10/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer































































Sheet 5: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


StOutpCtrl.cSource File Revision:


5

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







1.2







Poly Space version:


Windows User: eg. 2013b 2013B
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0


QAC version:


Windows User: eg 8.1.1-R

QAC sub project version:




Windows User: eg. TL_100A_1.1.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

05/10/17
































Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):





Yes































Other Reviewer(s):


Brendon Binder
Matt Leser
Brionna Spencer






























































34.2 - StOutpCtrl_IntegrationManual

Integration Manual

For

StOutpCtrl

VERSION: 1.0

DATE: 02-June-2015

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 versionAkilan Rathakrishnan1.002-June-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><FDD - <FDD SF005A_StOutpCtrl_Design>Refer Synergy subproject version

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

< Global function (except the ones that are defined in RTE modules) that is defined in this component but used by other function

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

None

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer SF005A_StOutpCtrl_DataDict.m file

Required Global Data Outputs

Refer SF005A_StOutpCtrl_DataDict.m file

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
StOutpCtrlInit1NoneRTE Init
RunnableScheduling RequirementsTrigger
StOutpCtrlPer1NoneRTE 2ms Task

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

Non RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

RTE NvM Blocks

Block Name
None

Note : Size of the NVM block if configured in developer

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

<This section is for appendix>

34.3 - StOutpCtrl_MDD

Module Design Document

For

StOutpCtrl

VERSION: 3

DATE: 5-Dec-2016

Prepared By:

Matthew Leser

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionAkilan Rathakrishnan1.002-June-2015
2Implementation of input name changeBasavaraja Ganeshappa2.030-June-2016
3Updated to fix Anomaly EA4#7767Matthew Leser3.005-Dec-2016

Table of Contents

1 Abbrevations And Acronyms 5

2 References 6

3 StOutpCtrl - High-Level Description 7

4 Design details of software module 8

4.1 Graphical representation of StOutpCtrl 8

4.2 Data Flow Diagram 8

4.2.1 Module level DFD 8

4.2.2 Sub-Module level DFD 8

4.3 COMPONENT FLOW DIAGRAM 8

5 Variable Data Dictionary 9

5.1 User defined typedef definition/declaration 9

5.2 Variable definition for enumerated types 9

6 Constant Data Dictionary 10

6.1 Program(fixed) Constants 10

6.1.1 Embedded Constants 10

6.1.1.1 Local 10

6.1.1.2 Global 10

6.1.2 Module specific Lookup Tables Constants 10

7 Software Module Implementation 11

7.1 Sub-Module Functions 11

7.1.1 Initialization Functions 11

7.1.1.1 INIT: StOutpCtrlInit1 11

7.1.1.2 Design Rationale 11

7.1.1.3 Store Module Inputs to Local copies 11

7.1.1.4 (Processing of function)……… 11

7.1.1.5 Store Local copy of outputs into Module Outputs 11

7.1.2 PERIODIC FUNCTIONS 11

7.1.2.1 Per: StOutpCtrlPer1 11

7.1.2.2 Design Rationale 11

7.1.2.3 Store Module Inputs to Local copies 11

7.1.2.4 (Processing of function)……… 11

7.1.2.5 Store Local copy of outputs into Module Outputs 11

7.2 Interrupt Functions 11

7.3 Serial Communication Functions 11

7.4 Local Function/Macro Definitions 12

7.4.1 Local Function #1: RateLimit 12

7.4.1.1 Description 12

7.4.1.2 Design Rationale 12

7.4.2 Local Function #1: RateSource 12

7.4.2.1 Description 12

7.4.2.2 Design Rationale 12

7.5 GLObAL Function/Macro Definitions 12

7.5.1 GLObAL Function #1 12

7.5.1.1 Description 12

7.6 TRANSIENT FUNCTIONS 13

8 Known Limitations With Design 14

9 UNIT TEST CONSIDERATION 15

10 Appendix 16

Abbrevations And Acronyms

AbbreviationDescription
DFDDesign functional diagram
MDDModule design Document
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 4.02.01
<2><Software Naming Conventions>Process 4.02.01
<3><Coding standards>2.1
<4><FDD SF005A_StOutpCtrl_Design>See Synergy Subproject version
<Add if more available>

StOutpCtrl - High-Level Description

Refer FDD

Design details of software module

Graphical representation of StOutpCtrl

Data Flow Diagram

N/A

Module level DFD

N/A

Sub-Module level DFD

N/A

COMPONENT FLOW DIAGRAM

N/A

Variable Data Dictionary

User defined typedef definition/declaration

<This section documents any user types uniquely used for the module.>

Typedef NameElement NameUser Defined Type

Legal Range

(min)

Legal Range

(max)

N/A

Variable definition for enumerated types

Enum NameElement NameValue
N/A

Constant Data Dictionary

Program(fixed) Constants

Embedded Constants

< All program specific constants will be defined in detail >

Local

Constant NameResolutionUnitsValue
N/A

Global

<This section lists the global constants used by the module. For details on global constants, refer to the Data Dictionary for the application>

Constant Name
N/A

Module specific Lookup Tables Constants

<(This is for lookup tables (arrays) with fixed values, same name as other tables)>

Constant NameResolutionValueSoftware Segment
<Refer Constant name qualified in [2]><Refer MDD guidelines [1]><Refer MDD guidelines [1]><Refer MDD guidelines [1]>

Software Module Implementation

Sub-Module Functions

None

Initialization Functions

INIT: StOutpCtrlInit1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

PERIODIC FUNCTIONS

(Note: For multiple periodic functions, insert new headers at the “Header 2” level – subset of “7.1.2 Periodic Functions” and follow the same sub-section design shown below). If none required, place the text “None”)>

Per: StOutpCtrlPer1

Design Rationale

None

Store Module Inputs to Local copies

Refer to FDD

(Processing of function)………

Refer to FDD

Store Local copy of outputs into Module Outputs

Refer to FDD

Interrupt Functions

None

Serial Communication Functions

None

Local Function/Macro Definitions

<If these are numerous and defined in a separate source file then reference the source file only.>

Local Function #1: RateLimit

Function NameRateLimitTypeMinMax
Arguments PassedSysOperRampRate_UlspS_T_f32float320.1500.0
LoaRateLim_UlspS_T_f32float320.1500.0
VehStrtStopRampRate_UlspS_T_f32float320.1500.0
Return ValueSelRampRate_UlspS_T_f32float320.1500.0

Description

Implements "Rate Limit" model block in FDD -- selects ramp rate from input rate limits.

Design Rationale

FDD does not show a default case on the switch/case block in this function because none is required – all possible values of the switch variable (which is internal to this component) are covered by the cases shown. However a default clause is required by MISRA Rule 15.3. Therefore the default label was placed with the final case label in the code; this is functionally equivalent to the FDD and satisfies the MISRA rule.

Local Function #2: RateSource

Function NameRateSourceTypeMinMax
Arguments PassedSysOperMotTqCmdSca_Uls_T_f32float320.01.0
LoaSca_Uls_T_f32float320.01.0
VehStrtStopMotTqCmdSca_Uls_T_f32float320.01.0
SelectedState_Cnt_T_u08uint813
Return ValueSelectedTqCmdSca_Uls_T_f32float320.01.0

Description

Implements "Rate Source" model block in FDD -- selects scale factor from input rate scales.

Design Rationale

FDD does not show a default case on the switch/case block in this function because none is required – all possible values of the switch variable (which is internal to this component) are covered by the cases shown. However a default clause is required by MISRA Rule 15.3. Therefore the default label was placed with the final case label in the code; this is functionally equivalent to the FDD and satisfies the MISRA rule.

GLObAL Function/Macro Definitions

GLObAL Function #1

Function Name(Exact name used)TypeMinMax
Arguments PassedNone<Refer MDD guidelines[1]><Refer MDD guidelines[1]><Refer MDD guidelines[1]>
Return ValueN/A

Description

N/A

TRANSIENT FUNCTIONS

None

Known Limitations With Design

  1. None

UNIT TEST CONSIDERATION

None

Appendix

None

35 - Component Implementation

Component Implementation

Component Documentation

35.1 - SysFricLrng_IntegrationManual

Integration Manual

For

SysFricLrng

VERSION: 5.0

DATE: 04-Oct-2017

Prepared By:

Matthew Leser

Nexteer Automotive,

Saginaw, MI, USA

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

Revision History

Sl. NoDescriptionAuthorVersionDate
1Initial versionBasavaraja Ganeshappa1.030-Mar-2016
2Updated to design version 2.2.0TATA2.005-Dec-16
3Updated to design version 2.4.0KK3.028-Feb-17
4Remove notes for Integrator SettingsKK4.028-Mar-17
5Added new Non Rte Server RunnableML5.004-Oct-17

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
FDDFunctional Design Document
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
1MDD GuidelineProcess 4.02.01
2EA4 Software Naming ConventionsProcess 4.02.01
3Software Design and Coding StandardsProcess 4.02.01
4FDD: SF007A_SysFricLrng_DesignSee Synergy sub project version

Dependencies

SWCs

ModuleRequired Feature
None

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

FricLrngShtDwn

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 SF007A_SysFricLrng_DataDict.m

Required Global Data Outputs

Refer SF007A_SysFricLrng_DataDict.m

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
StOutpCtrlInit1NoneRTE – Init
RunnableScheduling RequirementsTrigger
StOutpCtrlPer1NoneRTE – 10ms
Server RunnableScheduling RequirementsTrigger
ClrFricLrngOperModNoneOn server invocation call
GetFricLrngDataNoneOn server invocation call
GetFricOffsOutpDiNoneOn server invocation call
InitFricLrngTblNoneOn server invocation call
SetFricLrngDataNoneOn server invocation call
SetFricOffsOutpDiNoneOn server invocation call
GetFricDataNoneOn server invocation call
SetFricDataNoneOn server invocation call
FricLrngShtDwn

Non Rte Server Runnable. This should be called before

the Nvm WriteAll and Shutdown.

On server invocation call

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

  • Refer Data Dict

Compiler Settings

Preprocessor MACRO

FLTINJENA is used for coditionaly injecting fault

Optimization Settings

None

Appendix

None

35.2 - SysFricLrng_MDD

Module Design Document

For

SysFricLrng

Oct 04, 2017

Prepared By:

Matthew Leser

Nexteer Automotive,

Saginaw, MI, USA

Change History

DescriptionAuthorVersionDate
Initial VersionBasavaraja Ganeshappa1.024th Mar 2016
Re base lined by pulling 1.3.1Basavaraja Ganeshappa2.025th Jul 2016
Implementation of SF007A v2.0.0 & v2.1.0Krishna Anne3.03rd Oct 2016
Updated to design version 2.2.0TATA4.005-Dec-16
Updated to design version 2.4.0KK5.028-Feb-17
Updated Diagram and added Unit Test ConsiderationML6.004-Oct-17

Table of Contents

1 Introduction 6

1.1 Purpose 6

2 SysFricLrng High-Level Description 7

3 Design details of software module 8

3.1 Graphical representation of SysFricLrng 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 Init: SysFricLrngInit1 11

5.1.1.1 Design Rationale 11

5.1.1.2 Module Outputs 11

5.1.2 Per: SysFricLrngPer1 11

5.1.2.1 Design Rationale 11

5.1.2.2 Store Module Inputs to Local copies 11

5.1.2.3 (Processing of function)……… 11

5.1.2.4 Store Local copy of outputs into Module Outputs 11

5.2 Server Runnables 11

5.2.1 Server Runnable Name 11

5.2.1.1 Design Rationale 11

5.2.1.2 (Processing of function)……… 11

5.3 Server Runnables 12

5.3.1 Server Runnable Name 12

5.3.1.1 Design Rationale 12

5.3.1.2 (Processing of function)……… 12

5.3.2 Server Runnable Name 12

5.3.2.1 Design Rationale 12

5.3.2.2 (Processing of function)……… 12

5.3.3 Server Runnable Name 12

5.3.3.1 Design Rationale 12

5.3.3.2 (Processing of function)……… 12

5.3.4 Server Runnable Name 12

5.3.4.1 Design Rationale 12

5.3.4.2 (Processing of function)……… 12

5.3.5 Server Runnable Name 13

5.3.5.1 Design Rationale 13

5.3.5.2 (Processing of function)……… 13

5.3.6 Server Runnable Name 13

5.3.6.2 (Processing of function)……… 13

5.3.7 Server Runnable Name 13

5.3.7.2 (Processing of function)……… 13

5.4 Interrupt Functions 13

5.4.1 Interrupt Function Name 13

5.4.1.1 Design Rationale 13

5.4.1.2 (Processing of the ISR function)….. 13

5.5 Module Internal (Local) Functions 14

5.5.1 Local Function #1 14

5.5.1.1 Design Rationale 14

5.5.1.2 Processing 14

5.5.2 Local Function #2 14

5.5.2.1 Design Rationale 14

5.5.2.2 Processing 14

5.5.3 Local Function #3 15

5.5.3.1 Design Rationale 15

5.5.3.2 Processing 15

5.5.4 Local Function #4 15

5.5.4.1 Design Rationale 15

5.5.4.2 Processing 15

5.5.5 Local Function #5 16

5.5.5.1 Design Rationale 16

5.5.5.2 Processing 16

5.5.6 Local Function #6 16

5.5.6.1 Design Rationale 16

5.5.6.2 Processing 16

5.5.7 Local Function #7 16

5.5.7.1 Design Rationale 17

5.5.7.2 Processing 17

5.5.8 Local Function #8 17

5.5.8.1 Design Rationale 17

5.5.8.2 Processing 17

5.5.8.3 17

5.5.9 Local Function #9 17

5.5.9.1 Design Rationale 18

5.5.9.2 Processing 18

5.5.10 Local Function #10 18

5.5.10.1 Design Rationale 18

5.5.10.2 Processing 18

5.5.11 Local Function #11 18

5.5.11.1 Design Rationale 18

5.5.11.2 Processing 19

5.5.12 Local Function #12 19

5.5.12.1 Design Rationale 19

5.5.12.2 Processing 19

5.6 GLOBAL Function/Macro Definitions 19

6 Known Limitations with Design 20

7 UNIT TEST CONSIDERATION 21

Appendix A Abbreviations and Acronyms 22

Appendix B Glossary 23

Appendix C References 24

Introduction

Purpose

MDD for System Friction Learning

SysFricLrng High-Level Description

Refer FDD

Design details of software module

Refer FDD

Graphical representation of SysFricLrng

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
INDEX0_CNT_U081CNT0U
INDEX1_CNT_U081CNT1U
INDEX2_CNT_U081CNT2U
INDEX3_CNT_U081CNT3U
SYSSATNFRICESTIMDMIN_HWNWMTR_F321HwNwMtr0.0F
SYSSATNFRICESTIMDMAX_HWNWMTR_F32 21HwNwMtr20.0F
SYSFRICESTIMDMIN_HWNWMTR_F321HwNwMtr0.0F
SYSFRICESTIMDMAX_HWNWMTR_F321HwNwMtr20.0F
SYSFRICOFFSMIN_HWNWMTR_F321HwNwMtr-5.0F
SYSFRICOFFSMAX_HWNWMTR_F321HwNwMtr5.0F

For rest of the constants, please refer Data Dictionary

Software Component Implementation

The detailed design of the function is provided in the FDD.

Sub-Module Functions

Init: SysFricLrngInit1

Design Rationale

In MDD, filters are initialized inside the for loop using switch case but in code filters are initialized one by one without any conditions.

In model, filters are initialized twice as it is not possible to use a variable for the filter initialization in the model. This is redundancy is not present in the code as variables are used for initializing the filters.

Module Outputs

Refer FDD

Per: SysFricLrngPer1

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 Runnables

Server Runnable Name

ClrFricLrngOperMod

Design Rationale

Refer FDD

(Processing of function)………

On server invocation call

Server Runnables

Server Runnable Name

GetFricLrngData

Design Rationale

Refer FDD

(Processing of function)………

On server invocation call

Server Runnable Name

GetFricOffsOutpDi

Design Rationale

Refer FDD

(Processing of function)………

On server invocation call

Server Runnable Name

InitFricLrngTbl

Design Rationale

Refer FDD

(Processing of function)………

On server invocation call

Server Runnable Name

SetFricLrngDatal

Design Rationale

Refer FDD

(Processing of function)………

On server invocation call

Server Runnable Name

SetFricOffsOutpDi

Design Rationale

Refer FDD

(Processing of function)………

On server invocation call

Server Runnable Name

GetFricData

Design Rationale

Refer FDD

To avoid calculating array indexing for updating PIMs Rte_Pim_FricLrngData()->Hys and Rte_Pim_FricLrngData()->RngCntr, performed casting the array argument back to it's actual type (similar to what we do with cal arrays) so we can use normal indexing.

(Processing of function)………

On server invocation call

Server Runnable Name

SetFricData

Design Rationale

Refer FDD

To avoid calculating array indexing for updating from PIMs Rte_Pim_FricLrngData()->Hys and Rte_Pim_FricLrngData()->RngCntr, performed casting the array argument back to it's actual type (similar to what we do with cal arrays) so we can use normal indexing.

(Processing of function)………

On server invocation call

Server Runnable Name

FricLrngShtDwn

Design Rationale

Refer FDD

(Processing of function)………

Interrupt Functions

None

Interrupt Function Name

None

Design Rationale

NA

(Processing of the ISR function)…..

NA

Module Internal (Local) Functions

Local Function #1

Function NameFricLearningTypeMinMax
Arguments PassedSelHwAg_HwDeg_T_f32Float32-1440.01440.0
SelColTq_HwNwtMtr_T_f32Float32-1010
VehSpdIdx_Cnt_T_u16Uint1603
HwVelDir_Cnt_T_u08Uint801
LrngEna_Cnt_T_LoglBooleanFALSETRUE
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘FricLearning’ subsystem in FDD.

Following per instance data is updated.

*Rte_Pim_RawAvrg() (Min:0, Max:20)
Rte_Pim_SatnAvrgFric()[VehSpdIdx_Cnt_T_u16] (Min:0, Max:20)

Also writes the outputs SysFricEstimd and SysSatnFricEstimd

Local Function #2

Function NameRunningAndCalibrationModesTypeMinMax
Arguments Passed*FricOffs_HwNwtMtr_T_f32Float32-5.0+5.0
*LrngEna_Cnt_T_LoglBooleanFALSETRUE
Return ValueNoneNANANA

Design Rationale

Processing

Following PIMs are updated; refer to ‘RunningAndCalibrationModes’ subsystem in the FDD. FricOffs_HwNwtMtr_T_f32 is the output of this function

Rte_Pim_FricLrngData()->FricOffs (Min:-5, Max:5)
*Rte_Pim_RawAvrg() (Min:0, Max:20)
Rte_Pim_SatnAvrgFric()[VehSpdIdx_Cnt_T_u16] (Min:0, Max:20)

Also updates the input argument, *FricOffs_HwNwtMtr_T_f32.

Local Function #3

Function NameRawAvrgCalcTypeMinMax
Arguments PassedVehSpdIdx_Cnt_T_u16Uint1605
DeltaIdxOffsDec_Cnt_T_u16Uint16012
DeltaIdxOffsInc_Cnt_T_u16Uint16013
TotalCounter_Cnt_T_u32Uint32065535
LrngEna_Cnt_T_LoglBooleanFALSETRUE
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘Raw Average Calculation’ subsystem in FDD.

Following per instance data is updated.

*Rte_Pim_RawAvrg() (Min:0, Max:20)
Rte_Pim_SatnAvrgFric()[VehSpdIdx_Cnt_T_u16] (Min:0, Max:20)

Local Function #4

Function NamePhiCalcTypeMinMax
Arguments PassedSelHwAg_HwDeg_T_f32Float32-14401440
Gate_Cnt_T_u16Uint16065535
DeltaIdxOffs_Cnt_T_u16Uint16010
SelColTq_HwNwtMtr_T_f32Float32-1010
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘Raw Average Calculation’ subsystem in FDD.

Following per instance data is updated.

Rte_Pim_FricLrngData()->Hys[DeltaIdxOffs_Cnt_T_u16][Gate_Cnt_T_u16 + 1U] (Min:-127, Max:127)
Rte_Pim_FricLrngData()->Hys[DeltaIdxOffs_Cnt_T_u16][Gate_Cnt_T_u16] (Min:-127, Max:127)

Local Function #5

Function NameRangeCounterManagerTypeMinMax
Arguments PassedDeltaIdxOffs_Cnt_T_u16Uint16010
DeltaIdxOffsDec_Cnt_T_u16Uint16012
DeltaIdxOffsInc_Cnt_T_u16Uint16013
Gate_Cnt_T_u16Uint16065535
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘Range counter manager’ subsystem in FDD.

Following per instance data is updated.

*Rte_Pim_ RngCntrThdExcdd() (Min:0, Max:1)
Rte_Pim_FricLrngData->RngCntr (:,:) (Min:0, Max:65535)

Local Function #6

Function NameNTCSetResetTypeMinMax
Arguments PassedMaxRawAvrgFric_Cnt_T_f32Float32-127254
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘NTC_Pass’ and ‘NTC_Fail’ subsystem in FDD

Sets or resets the NTCNR_0X0A2

Local Function #7

Function NameClearingModeTypeMinMax
Arguments PassednoneNANANA
Return ValuenoneNANANA

Design Rationale

Processing

Refer to ‘Clearing Mode’ subsystem in FDD.

Following per instance data is updated.

*Rte_Pim_FricOffs()(Min:-5, Max:5)

Local Function #8

Function NameResettingModeTypeMinMax
Arguments Passed*FricOffs_HwNwtMtr_T_f32NANANA
Return ValueNoneNANANA

Design Rationale

Processing

Refer to ‘ResettingMode’ subsystem in FDD.

Following per instance data is updated. Also updates the input argument ‘*FricOffs_HwNwtMtr_T_f32’.

Rte_Pim_FricLrngData()->RngCntr(;)
Rte_Pim_AvrgFricLpFilX()->FilSt (X: 1 to 4)
Rte_Pim_FricLrngData()->Hys(;)
Rte_Pim_FricOffs()(Min:-5, Max:5)

Rte_Pim_VehBasLineFric()[] (Min:-0, Max:127)

Rte_Pim_RawAvrgFric()[] (Min:--127, Max:254)

Rte_Pim_FilAvrgFric()[] (Min:--10 , Max: 10)

Rte_Pim_SatnAvrgFric()[](Min:--127, Max:254)

Rte_Pim_FricLrngData()->VehLrndFric[] (0-127)

Local Function #9

Function NameHwAngConstraintTypeMinMax
Arguments PassedFilHwAg_HwDeg_T_f32Float32-14401440
*HwAgOK_Cnt_T_Loglboolean01
*SelHwAg_HwDeg_T_f32Float32-14401440
Return ValueNANANANA

Design Rationale

 IDXSELN2_ULS_U08 is not used in the code because it is not required instead IDXSELN1_ULS_U08 serves the purpose.

Processing

Refer to ‘HwAngConstraint‘ subsystem in FDD. Updates the input arguments, *HwAgOK_Cnt_T_Logl and *SelHwAg_HwDeg_T_f32

Local Function #10

Function NameHwVelConstraintTypeMinMax
Arguments PassedHwVel_HwRadPerSec_T_f32Float32-4242
HwVelOK_Cnt_T_LoglBoolean01
HwVelDir_Cnt_T_u08Uint801
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘HwVelConstraint’ subsystem in FDD.

Local Function #11

Function NameVehSpdConstraintTypeMinMax
Arguments PassedVehSpd_Kph_T_f32Float320511
*VehSpdOK_Cnt_T_LoglBoolean01
*VehSpdIdx_Cnt_T_u16Uint1605
Return ValueNoneNANANA

Design Rationale

Code is optimized due to limitation with the model; hence code completely won’t match the model. There won’t be any impact on the functionality.

In the model as it is not possible to break the for loop until the loop iterator reaches the configured constant threshold value, index corresponding to the position in ‘SysFricLrngVehSpd’ which breaches the conditions mentioned in ‘VehSpdIdxCalcn’ subsystem is calculated by successively adding the index value after multiplying it with either the condition true or false based on whether the vehicle speed value breaches the threshold mentioned in the FDD. In code as it is possible to exit the for loop as soon as a value in ‘VehSpdIdxCalcn’ breaches thresholds as mentioned in FDD, no such successive addition of loop counter is required.

Processing

Refer to ‘VehSpdConstraint’ subsystem in FDD.

Local Function #12

Function NameColTqconstraintTypeMinMax
Arguments PassedFilColTq_HwNwtMtr_T_f32Float32-1010
*SelColTq_HwNwtMtr_T_f32Boolean-1010
Return ValueNANANANA

Design Rationale

Processing

Refer to ‘ColTqconstraint’ subsystem in FDD. Updates the *SelColTq_HwNwtMtr_T_f32.

GLOBAL Function/Macro Definitions

NA

Known Limitations with Design

None

UNIT TEST CONSIDERATION

  1. In model, one based indexing is used but in code 0 based indexing is used.

  2. In the NVM block needs area of Developer tool, the options of "Restore at Startup" and "Store at Shutdown" are disabled as the newer version (3.13.22 SP2) of this tool throws warnings while doing a DCF check.

  3. There will be a source model mismatch that occurs because of a logic change that happened for a PSR. There is limiting that occurs in the new Non Rte Server Runnable. These limits were switched for the PSR but this change was not brought in for the design. An ICR has been submitted to fix the design to match the implementation, EA4#15920.

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 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)Process 4.02.01
2MDD GuidelineProcess 4.02.01
3Software Naming Conventions.doc2.0
4Software Design and Coding Standards.doc2.1
5FDD- SF007A_SysFricLrng_DesignSee Synergy sub project version

35.3 - SysFricLrng_PeerReviewChecklists


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:



SysFricLrng
Revision / Baseline:


SF007A_SysFricLrng_Impl_3.1.0
































Change Owner:


Matthew Leser
Work CR ID:


EA4#20204


































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





No





















































Comments:

No other reviews besides Lead Reviewer were present due to timing constraints.










Approved by Steven Horwath - 6/8/2018


































































































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:


7


Elements of .arxml content:




0

Pages of documentation:



0































































































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:

Matthew Leser


Review Date :

06/04/18
































Lead Peer Reviewer:


Shawn Penning


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:


SysFricLrng.c

Source File Revision:


10
Header File Name:


SysFricLrng.h

Header File Revision:


2

























MDD Name:


SysFricLrng_MDD.docx
Revision:
6

























SWC Design Name:


SF007A_SysFricLrng_Design
Revision:
3.3.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







N/A
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








N/A
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








N/A
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







N/A
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







N/A
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:

Matthew Leser


Review Date :

06/04/18
































Lead Peer Reviewer:


Shawn Penning


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:









Comments:

See Summary Sheet

















































Integrator and or
SW lead:









Comments:

See Summary Sheet










































































Unit test co-ordinator:











Comments:

See Summary Sheet





















































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:


SysFricLrng.c




Source File Revision:


10

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










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:

Matthew Leser




Review Date :

06/04/18


































Lead Peer Reviewer:


Shawn Penning




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

36 - Component Implementation

Component Implementation

Component Documentation

36.1 - SysGlbPrm Review


Overview

Summary Sheet
Synergy Project
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF999A_SysGlbPrm_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF999A_SysGlbPrm_Impl_1.3.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Nick Saxton
Work CR ID:


EA4#3935





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


YesSource Code


YesPolySpace









































Integration Manual


Davinci Files








































































Comments:

Only reviewed 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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

02/19/16
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


N/A

Source File Revision:


N/A
Header File Name:


SysGlbPrm.h

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 3

























MDD Name:

N/A

Revision:
N/A

























FDD/SCIR/DSR/FDR/CM Name:




SF999A_SysGlbPrm_Design

Revision:
1.4.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







Yes
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD





































All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








N/A
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







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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

02/19/16
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


SysGlbPrm.h








Source File Revision:


3

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







1.1.0














Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 TL108A_PolyspaceSuprt_1.0.0

QAC version:


Windows User: eg 8.1.1-R 8.1.1-R
QAC sub project version:




Windows User: eg. TL_100A_1.1.0 TL100A_QACSuprt_1.2.0


























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


N/A
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








N/A
Comments:





comments still appropriate










No justifications


























Do all MISRA deviation comments use approved








N/A
Comments:





deviation tags










No deviations


























Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

02/19/16
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































37 - Component Implementation

Component Implementation

Component Documentation

37.1 - SysKineAndEff_IntegrationManual

Integration Manual

For

SysKineAndEff

VERSION: 1.0

DATE: 13-MARCH-2018

Prepared By:

TATA ELXSI,

INDIA

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionTATA ELXSI1.013-Mar-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 10

7 Memory Map REQUIREMENTS 11

7.1 Mapping 11

7.2 Usage 11

7.3 NvM Blocks 11

8 Compiler Settings 12

8.1 Preprocessor MACRO 12

8.2 Optimization Settings 12

9 Appendix 13

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.0.3 draft
2Software Design and Coding Standards3.0 draft
3SF071A_SysKineAndEff_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

Note: There is a global Non-Rte function SysKineAndEff_Init. This init function is generated by embedded coder and is not present in the Simulink model. This function is always empty and shall not be called.

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

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
SysKineAndEffInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
SysKineAndEffPer1NoneRTE(2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
SysKineAndEff_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

37.2 - SysKineAndEff_MDD

Module Design Document

For

SysKineAndEff

March 13, 2018

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

TATA ELXSI,

INDIA


Change History

DescriptionAuthorVersionDate
Initial versionTATA ELXSI113-Mar-2018


Table of Contents

Table of Contents 3

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 SysKineAndEff & High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of SysKineAndEff 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: SysKineAndEffInit1 8

5.1.2 Init: SysKineAndEff_Init 8

5.1.3 Per: SysKineAndEffPer1 8

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 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 SF071A_SysKineAndEff_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.

SysKineAndEff & High-Level Description

In a variable ratio system the kinematic ratio and mechanical efficiency of the input and motor torque can change as the rack moves. This component calculates the Efficiencies and Ratios based on the Rack movement.

Design details of software module

Graphical representation of SysKineAndEff

C:\Users\guru.s\Desktop\Graphical view of Component\SF071A.JPG

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 SF071A_SysKineAndEff_DataDict.m

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: SysKineAndEffInit1

Design Rationale

Refer FDD

Module Outputs

Refer FDD

Init: SysKineAndEff_Init

Design Rationale

This init function is generated by embedded coder and is not present in the Simulink model.

This function is always empty and is not called.

Module Outputs

There are no outputs for this function.

Per: SysKineAndEffPer1

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.0.3 draft
4Software Design and Coding Standards3.0 draft
5SF071A_SysKineAndEff_DesignSee Synergy Sub Project Version

37.3 - SysKineAndEff_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:



SysKineAndEff
Revision / Baseline:


SF071A_SysKineAndEff_AGC_Impl_1.1.0
































Change Owner:


Nimmy Mathews
Work CR ID:


EA4#22823


































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:









1



0.5


0









Component developer reviewers:









0



0.5


0


2





Other reviewers:









0



0


0









Total hours









1



1


0


2




































Content reviewed





























Lines of code:


2


Elements of .arxml content:




0

Pages of documentation:



0































































































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:

Nimmy Mathews


Review Date :

04/19/18
































Lead Peer Reviewer:


Avinash James


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:


SysKineAndEff.c

Source File Revision:


2
Header File Name:


SysKineAndEff.h

Header File Revision:


2

























MDD Name:


SysKineAndEff_MDD.docx
Revision:
1

























SWC Design Name:


SF071A_SysKineAndEff_AGC_Design
Revision:
1.1.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version:1.0.1
























EA4 Software Naming Convention followed:











Version:1.0.3 draft

























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








No
Comments:



and Version Control version in file comment block











Need new rules for autocoding
























Change log contains detailed description of changes








No
Comments:



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











Need new rules for autocoding
Work CR number














































Code accurately implements SWC Design (Document








Yes
Comments:



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











Verified using SIL testing
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








Yes
Comments:
















































All other includes are actually needed. (System includes








Yes
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 3.0 draft

























Code comments are clear, correct, and adequate







Yes
Comments:










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










Comments are autogenerated.Need new rules for autocoding

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]










Need new rules for autocoding

























Function comment blocks are per standards and







No
Comments:










contain correct information: [N43]










Need new rules for autocoding

























Code formatting (indentation, placement of







Yes
Comments:










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










As per the draft version 3.0

[N57], [N58], [N59]














































Embedded constants used per standards; no







Yes
Comments:










"magic numbers": [N12]










As per the draft version 3.0

























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










Though polyspace reports overflow/divide by zero, it was reviewed and concluded that this is because it takes the full range of float32 except one flagged for Nexteer Fixed point file. This has been fixed in this release.

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









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:























A limiter logic was added to avoid overflow in the code which was flagged for Nexteer fixed point file
























































Review Board:


























Change Owner:

Nimmy Mathews



Review Date :

04/18/18
































Lead Peer Reviewer:


Avinash James


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 4: PolySpace






















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




























Source File Name:


SysKineAndEff.c













Source File Revision:


2

Source File Name:

















Source File Revision:





Source File Name:

















Source File Revision:
































EA4 Static Analysis Compliance Guideline version:







2.0 draft
















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













Compliant with draft version for autocoding




























Are previously added justification and deviation










Yes
Comments:




comments still appropriate













The overflow and divide by zero warning in the earlier release is still valid except one for Nexteer Fixed point library which has been fixed in this release.




























Do all MISRA deviation comments use approved










Yes
Comments:




deviation tags













Compliant with draft version 2.0 for autocoding




























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:

























All the overflow and divide by zero issues has been manually verified. This is also verified during SIL testing.




































Review Board:




























Change Owner:

Nimmy Mathews




Review Date :

04/18/18


































Lead Peer Reviewer:


Avinash James




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

38 - Component Implementation

Component Implementation

Component Documentation

38.1 - TEstimn_IntegrationManual

Integration Manual

For

TEstimn

VERSION: 2.0

DATE: 07-Dec-2017

Prepared By:

Matt Leser,

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 versionSankardu Varadapureddi1.017-Sep-2015
2Added Nvm BlockMatthew Leser2.007-Dec-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

References

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

Sr. No.TitleVersion
1FDD : SF006A_ TEstimn_DesignSee Synergy sub project version
2Software Naming ConventionsProcess 4.04.00
3Software Design and Coding StandardsProcess 4.04.00

Dependencies

SWCs

ModuleRequired Feature
None

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 DataDict.m file in the FDD

Required Global Data Outputs

Refer DataDict.m file file in the FDD

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
TEstimnInit1NoneRTE (Init)
RunnableScheduling RequirementsTrigger
TEstimnPer1NoneRTE (100 ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

TFilStVal Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None.

Appendix

None

38.2 - TEstimn_MDD

Module Design Document

For

TEstimn

06-Apr-2018

Prepared By:

Shawn Penning,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionSankardu Varadapureddi117-Sep-2015
Updated to Design v2.2.0Matthew Leser226-Apr-2017
Updated Graph and added new local functionMatthew Leser306-Dec-2017
Added local constants and unit test considerations.SPP406-Apr-2018


Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 TEstimn High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of TEstimn 6

3.2 Data Flow Diagram 6

3.2.1 Component level DFD 6

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: TEstimnInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 Per: TEstimnPer1 9

5.1.2.1 Design Rationale 9

5.1.2.2 Store Module Inputs to Local copies 9

5.1.2.3 (Processing of function)……… 9

5.1.2.4 Store Local copy of outputs into Module Outputs 9

5.2 Server Runables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 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

Scope

TEstimn High-Level Description

Refer to FDD

Design details of software module

Graphical representation of TEstimn

Data Flow Diagram

Refer FDD

Component level DFD

Function level DFD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Refer .m file

Local Constants

#define TESTIMNASSIMECHTHILIM_DEGCGRD_F32 150.0F

#define TESTIMNASSIMECHTLOLIM_DEGCGRD_F32 (-50.0F)

#define TESTIMNFETTHILIM_DEGCGRD_F32 200.0F

#define TESTIMNFETTLOLIM_DEGCGRD_F32 (-50.0F)

#define TESTIMNMAGTHILIM_DEGCGRD_F32 150.0F

#define TESTIMNMAGTLOLIM_DEGCGRD_F32 (-50.0F)

#define TESTIMNWIDGTHILIM_DEGCGRD_F32 300.0F

#define TESTIMNWIDGTLOLIM_DEGCGRD_F32 (-50.0F)

#define DUALECUSTSIDX_CNT_U08 ((uint8)0U)

#define SNGECUSTSIDX_CNT_U08 ((uint8)1U)

#define EXPCOEFF_ULS_F32 (-1.0F)

#define SILLFILVALMIN_ULS_F32 (-2431500.0F)

#define SILLFILVALMAX_ULS_F32 (1001200.0F)

#define SILPFILVALMIN_ULS_F32 (0.0F)

#define SILPFILVALMAX_ULS_F32 (62500.0F)

#define ASSIMECHLLFILVALMIN_ULS_F32 (-4577000.0F)

#define ASSIMECHLLFILVALMAX_ULS_F32 (1716400.0F)

#define ASSIMECHLPFILVALMIN_ULS_F32 (0.0F)

#define ASSIMECHLPFILVALMAX_ULS_F32 (1764.0F)

#define CULLFILVALMIN_ULS_F32 (-2431500.0F)

#define CULLFILVALMAX_ULS_F32 (1001200.0F)

#define CULPFILVALMIN_ULS_F32 (0.0F)

#define CULPFILVALMAX_ULS_F32 (62500.0F)

#define MAGLLFILVALMIN_ULS_F32 (-2431500.0F)

#define MAGLLFILVALMAX_ULS_F32 (1001200.0F)

#define MAGLPFILVALMIN_ULS_F32 (0.0F)

#define MAGLPFILVALMAX_ULS_F32 (62500.0F)

#define FILVALMIN_ULS_F32 (0.0F)

#define TESTIMNFETMTGTNIDX_CNT_U08 ((uint8)2U)

#define TESTIMNIGNTIOFFTHD_CNT_F32 (10000.0F)

Software Component Implementation

Sub-Module Functions

Init: TEstimnInit1

Design Rationale

#define FETLOABITMASK_CNT_U08 ((uint8)4U) Refer FDD for the functionality.

Module Outputs

Refer FDD

Per: TEstimnPer1

Design Rationale

In ‘AssistMechanismLeadLagFilterRe-Initialization’ block, blocks ‘AssistMechanismInitEnable’ and ‘AssistMechanismInitDisable’ have similar logic except for some calculations related to inputs. So the differences are implemented in ‘if-else’ statement and common logic is implemented after ‘if-else’ statements in the SW.

Store Module Inputs to Local copies

Refer FDD

(Processing of function)………

Refer FDD

Store Local copy of outputs into Module Outputs

Refer FDD

Server Runnables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameFltMtgtnCalSelnTypeMinMax
Arguments PassedFetLoaMtgtnEna_Cnt_T_loglbooleanFALSETRUE
DualEcuFltMtgtnEna_Cnt_T_loglbooleanFALSETRUE
Return ValueNANANANA

Design Rationale

Implementation of ‘Fault Mitigation Calibration Selection’ block in FDD (To reduce cyclomatic complexity & path count in Per1).

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

Calculate TEstimnSiLLFilCoeffB0 as per following equation:

TEstimnSiLLFilCoeffB0= -1*[(TEstimnSiLLFilCoeffA1-1)+TEstimnSiLLFilCoeffB1]

Calculate TEstimnCuLLFilCoeffB0 as per following equation:

TEstimnCuLLFilCoeffB0= -1*[(TEstimnCuLLFilCoeffA1-1)+TEstimnCuLLFilCoeffB1]

Calculate TEstimnMagLLFilCoeffB0 as per following equation:

TEstimnMagLLFilCoeffB0= -1*[(TEstimnMagLLFilCoeffA1-1)+TEstimnMagLLFilCoeffB1]

Calculate TEstimnAssiMechLLFilCoeffB0 as per following equation:

TEstimnAssiMechLLFilCoeffB0= -1*[(TEstimnAssiMechLLFilCoeffA1-1)+TEstimnAssiMechLLFilCoeffB1]

Anomaly 20644 Issue 1B and 1C were not addressed due to time considerations. Anomaly 19666 issue 4 is a test issue that should be addressed by test team but does not affect design or code.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.01
3Software Naming Conventions.docEA4 01.00.00
4Software Design and Coding Standards.doc2.1
5FDD : SF006A_ TEstimn_DesignSee Synergy sub project version

38.3 - TEstimn_Review


Overview

Summary Sheet
Synergy Project
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:



Testimn
Revision / Baseline:


SF006A_Testimn_Impl_3.1.0
































Change Owner:


Shawn Penning
Work CR ID:


EA4#22127


































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


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:









2



2


0.5









Component developer reviewers:









0



2


0


6.5





Other reviewers:









0



1


0









Total hours









2



5


0.5


7.5




































Content reviewed





























Lines of code:


100


Elements of .arxml content:




0

Pages of documentation:



5































































































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:

Shawn Penning


Review Date :

04/06/18
































Lead Peer Reviewer:


Brendon Binder


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:


TEstimn.c

Source File Revision:


4
Header File Name:





Header File Revision:




























MDD Name:


TEstimn_MDD.docx
Revision:
4

























SWC Design Name:


SF006A_TEstimn_Design
Revision:
3.2.0


























Quality Check Items:



































Rationale is required for all answers of No

































EA4 Common Naming Convention followed:











Version: 1.01
























EA4 Software Naming Convention followed:











Version: 1.02

























for variable names







N/A
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.








N/A
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.01

























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







Yes
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








Yes
Comments: List Anomaly or CR numbers: Anomaly 20644 Issue 1B and 1C were not addressed due to time considerations. Anomaly 19666 issue 4 is a test issue that should be addressed by test team but does not affect design or code.
for any SWC Design corrections needed










































General Notes / Comments:









































Review Board:


























Change Owner:

Shawn Penning


Review Date :

04/06/18
































Lead Peer Reviewer:


Brendon Binder


Approved by Reviewer(s):



Yes










































































































SWC owner and/or
SWC Design author:
Nakul Shah







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: MDD






















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


























MDD Name:







TEstimn_MDD.docx







MDD Revision:

4


























Source File Name:








TEstimn.c





Source 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








N/A
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:

Shawn Penning


Review Date :

04/06/18
































Lead Peer Reviewer:


Brendon Binder


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 5: PolySpace






















Rev 2.0121-Feb-18














Nexteer SWC Implementation Peer Review Meeting Log (PolySpace Review)























































Source File Name:


TEstimn.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.00


























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:

Shawn Penning




Review Date :

04/06/18






























































Lead Peer Reviewer:


Brendon Binder




Approved by Reviewer(s):



Yes





























































Other Reviewer(s):










































































































































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












































































Sheet 6: 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 7: 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

39 - Component Implementation

Component Implementation

Component Documentation

39.1 - requirements

FDDIDSourceFunctionLine(s)StatusComment
.SwFileName.SwFuncName.SwLines.SwStatus.SwComment
SF043A337TqOscn.cTqOscnPer1431I
SF043A331TqOscn.cAmpRateLim498I
SF043A330TqOscn.cAmpRateLim505I
SF043A314TqOscn.cTqOscnPer1286,358I
SF043A322TqOscn.cTqOscnPer1286,358I
SF043A320TqOscn.cTqOscnPer1286,358I
SF043A344TqOscn.cTqOscnPer1443I
SF043A345TqOscn.cTqOscnPer1447I
SF043A346TqOscn.cTqOscnPer1445I
SF043A321TqOscn.cTqOscnPer1286,358I
SF043A340TqOscn.cTqOscnPer1447I
SF043A341TqOscn.cTqOscnPer1443I
SF043A342TqOscn.cTqOscnPer1445I
SF043A325TqOscn.cAmpRateLim511I
SF043A326TqOscn.cAmpRateLim511I
SF043A328TqOscn.cAmpRateLim494,498,505I
SF043A329TqOscn.cAmpRateLim494,498,505I
SF043A327TqOscn.cAmpRateLim494,498I
SF043A300TqOscn.cTqOscnPer1279I
SF043A301TqOscn.cTqOscnPer1283I
SF043A302TqOscn.cTqOscnPer1282I
SF043A304TqOscn.cTqOscnPer1443I
SF043A305TqOscn.cTqOscnPer1445I
SF043A306TqOscn.cTqOscnPer1447I
SF043A332TqOscn.cTqOscnPer1436I
SF043A298TqOscn.cTqOscnPer1280I
SF043A299TqOscn.cTqOscnPer1281I

39.2 - TqOscn_IntegrationManual

Integration Manual

For

TqOscn

VERSION: 1.0

DATE: 05-Feb-2016

Prepared By:

Krishna Kanth Anne,

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 versionKrishna Anne1.005-Feb-2016

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 Non RTE NvM Blocks 10

7.4 RTE 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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
1FDD : SF043A_TqOscn_DesignSee Synergy sub project version
2Software Naming Conventions1.0
3Software Design and Coding Standards2.0

Dependencies

SWCs

ModuleRequired Feature
NoneNA

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
TqOscnFLTINJENA should be set to STD_ON as required

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
NA

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Please refer DataDict.m file.

Required Global Data Outputs

Please refer DataDict.m file.

Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
TqOscnInit1NoneRTE(Init)
RunnableScheduling RequirementsTrigger
TqOscnPer1NoneRTE(2 ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None.

Optimization Settings

None.

Appendix

None.

39.3 - TqOscn_MDD

Module Design Document

For

TqOscn

Feb 05, 2016

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Krishna Kanth Anne,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorVersionDate
Initial VersionKrishna Kanth Anne1.005-Feb-2016
Corrected ranges in local function #1Krishna Kanth Anne2.025-May-2016


Table of Contents

1 Introduction 5

1.1 Purpose 5

2 TqOscn & High-Level Description 6

3 Design details of software module 7

3.1 Graphical representation of TqOscn 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: TqOscnInit1 9

5.1.1.1 Design Rationale 9

5.1.1.2 Module Outputs 9

5.1.2 None 9

5.1.3 Per: TqOscnPer1 9

5.1.3.1 Design Rationale 9

5.1.3.2 Store Module Inputs to Local copies 9

5.1.3.3 (Processing of function)……… 9

5.1.3.4 Store Local copy of outputs into Module Outputs 9

5.2 Server Runnables 9

5.3 Interrupt Functions 9

5.4 Module Internal (Local) Functions 10

5.4.1 Local Function #1 10

5.4.2 Local Function #2 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

TqOscn & High-Level Description

Please refer FDD.

Design details of software module

Graphical representation of TqOscn

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

Software Component Implementation

Sub-Module Functions

Init: TqOscnInit1

Design Rationale

None

Module Outputs

None

Per: TqOscnPer1

Design Rationale

None

Store Module Inputs to Local copies

None

(Processing of function)………

Please refer FDD

Store Local copy of outputs into Module Outputs

Please refer FDD

Server Runnables

None

Interrupt Functions

None

Module Internal (Local) Functions

Local Function #1

Function NameAmpRateLimTypeMinMax
Arguments PassedLimdAmp_MotNwtMtr_T_f32Float320.0F1.2F
HwOscnRisngRampRate_MotNwtMtrPerSec_T_f32Float320.1F4400.0F
HwOscnFallRampRate_MotNwtMtrPerSec_T_f32Float32-4400.0F-0.1F
HwOscnEna_Cnt_T_loglBooleanFALSETRUE
*NonZeroAmpFlg_Cnt_T_loglBooleanFALSETRUE
Return ValueRateLimdAmp_MotNwtMtr_T_f32Float320.0F1.2F

Local Function #2

Function NameChkFlgTypeMinMax
Arguments PassedPhaAg_MatRad_T_f32Float320.125F0.628F
Return ValueTqOscnPhaAg_MatRad_T_f32Float320.0F0.628F

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD: SF043A_ TqOscn_DesignSee Synergy sub project version

39.4 - TqOscn_Review


Overview

Summary Sheet
Synergy Project
help
Version History


Sheet 1: Summary Sheet
























Rev 2.0121-Feb-18




Nexteer EA4 SWC Implementation Peer Review Summary Sheet

































Component Short Name:



TqOscn
Revision / Baseline:


SF043A_TqOscn_Impl_1.2.2
































Change Owner:


Matthew Leser
Work CR ID:


EA4#20850


































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


N/ASource Code


N/APolySpace

















































N/AIntegration Manual


N/ADavinci Files




















































































All required reviewers participated





Yes





















































Comments:

Update was to bring in new design version which only has EA3 to EA4 requirements migration










Migration did not occur because of the nature of the change - Approved by Steve


































































































Time spent ( to the nearest half hour)








review preparation



review meeting


review follow-up










Change owner:









0



0.15


0









Component developer reviewers:









0



0.15


0


0.3





Other reviewers:









0



0


0









Total hours









0



0.3


0


0.3




































Content reviewed





























Lines of code:


0


Elements of .arxml content:




0

Pages of documentation:



0































































































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








N/A
Comments:

















See Summary Sheet


























File/folder structure is correct per documentation in









N/A
Comments:




TL109A_SwcSuprt











See Summary Sheet


























General Notes / Comments:
























































Review Board:


























Change Owner:

Matthew Leser


Review Date :

04/13/18
































Lead Peer Reviewer:


Avinash James


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































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












































Sheet 3: 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 4: 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

40 - Component Implementation

Component Implementation

Component Documentation

40.1 - TunSelnAuthy_IntegrationManual

Integration Manual

For

TunSelnAuthy

VERSION: 1.0

DATE: 07-OCT-2015

Prepared By:

Nick Saxton,

Nexteer Automotive,

Saginaw, MI, USA

Revision History

DescriptionAuthorVersionDate
Initial versionN. Saxton1.007-Oct-2015

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 Non RTE NvM Blocks 10

7.4 RTE 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
3SF023A_ TunSelnAuthy_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
TunSelnAuthyInit1RTE(Init)
RunnableScheduling RequirementsTrigger
RtCalChgReqNoneOn event
XcpCalChgReqNoneOn event

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes

* 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

40.2 - TunSelnAuthy_MDD

Module Design Document

For

TunSelnAuthy

June 17, 2016

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Krishna Anne,

Nexteer Automotive,

Saginaw, MI, USA
Change History

DescriptionAuthorDate
Initial VersionN. Saxton09-Oct-2015
Updated as per FDD v1.1.0Krishna Anne17-Jun-2016


Table of Contents1 TunSelnAuthy High-Level Description 4

2 Design details of software module 5

2.1 Graphical representation of TunSelnAuthy 5

2.2 Data Flow Diagram 5

2.2.1 Component level DFD 5

2.2.2 Function level DFD 5

3 Constant Data Dictionary 6

3.1 Program (fixed) Constants 6

3.1.1 Embedded Constants 6

4 Software Component Implementation 7

4.1 Sub-Module Functions 7

4.1.1 Init: TunSelnAuthyInit1 7

4.1.1.1 Design Rationale 7

4.1.1.2 Module Outputs 7

4.2 Server Runables 7

4.2.1 RtCalChgReq 7

4.2.1.1 Design Rationale 7

4.2.1.2 (Processing of function)……… 7

4.2.2 XcpCalChgReq 7

4.2.2.1 Design Rationale 7

4.2.2.2 (Processing of function)……… 7

4.3 Interrupt Functions 7

4.3.1 Interrupt Function Name 7

4.4 Module Internal (Local) Functions 7

4.5 GLOBAL Function/Macro Definitions 7

5 Known Limitations with Design 9

6 UNIT TEST CONSIDERATION 10

Appendix A Abbreviations and Acronyms 11

Appendix B Glossary 12

Appendix C References 13

TunSelnAuthy High-Level Description

Refer FDD

Design details of software module

Refer FDD

Graphical representation of TunSelnAuthy

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 .m file for constants

Software Component Implementation

Sub-Module Functions

Init: TunSelnAuthyInit1

Design Rationale

Refer FDD

Module Outputs

None

Server Runables

RtCalChgReq

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

XcpCalChgReq

Design Rationale

Refer FDD

(Processing of function)………

Refer FDD

Interrupt Functions

None

Interrupt Function Name

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

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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc1.0
4Software Design and Coding Standards.doc2.1
5FDD – SF023A_TunSelnAuthy_DesignSee Synergy subproject version

40.3 - TunSelnAuthy_PeerReview


Overview

Summary Sheet
Davinci Files
Source Code
PolySpace
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet

























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF023A_TunSelnAuthy_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF023A_TunSelnAuthy_Impl_1.2.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Brendon Binder
Work CR ID:


EA4#12457





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:












































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


NoSource Code


NoPolySpace









































N/AIntegration Manual


NoDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used









Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved









Yes
Comments:




in Autosar 4.0.3 format




































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









N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous









Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed









Yes
Comments:

























































Naming conventions followed. All names should









Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:






















Not changed









DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder
Review Date :

06/22/17
Component Type :


Application



























Lead Peer Reviewer:


Krishna Anne
Approved by Reviewer(s):



Yes

































Other Reviewer(s):










































































Sheet 3: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


TunSelnAuthy.c
Source File Revision:


3
Header File Name:


TunSelnAuthy.h
Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. 1

























MDD Name:

TunSelnAuthy_MDD.docx
Revision:
2

























FDD/SCIR/DSR/FDR/CM Name:




SF023A_TunSelnAuthy_Design
Revision:
1.1.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







Yes
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD











Requirements Traceability tags were removed
























All variables are declared at the function level.








Yes
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








Yes
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:
















































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







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







Yes
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







Yes
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder


Review Date :

06/22/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 4: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


TunSelnAuthy.cSource File Revision:


3

Source File Name:



Source File Revision:





Source File Name:



Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.02.00







Poly Space version:


Windows User: eg. 2013b 2013b
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0


QAC version:


Windows User: eg 8.1.1-R

QAC sub project version:




Windows User: eg. TL_100A_1.1.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
Comments:





Compliance Guideline





























Are previously added justification and deviation








N/A
Comments:





comments still appropriate






































Do all MISRA deviation comments use approved








N/A
Comments:





deviation tags






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

Yes
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder


Review Date :

06/22/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































































Sheet 5: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Brendon Binder


Review Date :

06/22/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































41 - Component Implementation

Component Implementation

Component Documentation

41.1 - VehSigCdng_Integration Manual

Integration Manual

For

VehSigCdng

VERSION: 1.0

DATE: 13-July-2015

Prepared By:

Spandana Balani

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

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionSB1.013-jul-2015

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 file 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
<ADD more to the table if applicable>

References

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

Sr. No.TitleVersion
<1><MDD Guidelines>Process 4.01.00
<2><Software Naming Conventions>Process 4.01.00
<3><Coding standards>Process 4.01.00
<4><FDD SF033A_VehSigCdng_Design >See Synergy Subproject version

Dependencies

SWCs

ModuleRequired Feature
NoneN/A

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

ConstantsNotes
FLTINJENASet to STD_ON for Fault injection

Configuration Files to be provided by Integration Project

Include NxtrFil.h in Rte_UserTypes.h header file.

Da Vinci Parameter Configuration Changes

ParameterNotesSWC
N/A

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer DataDict.m file

Required Global Data Outputs

Refer DataDict.m file

file Specific Include Path present

No

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
VehSigCdngInit1On InitRte_Init
RunnableScheduling RequirementsTrigger
VehSigCdngPer1NoneRTE(2ms)

.

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
None

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

Usage

FeatureRAMROM
None

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

41.2 - VehSigCdng_MDD

Module Design Document

For

VehSigCdng

Sep 20, 2016

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Spandana Balani
Change History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionSB113-Jul-2015
2Updated for FDD v2.0.0NS22-Jun-2016
3Updated for FDD v2.2.0SB320-Sep-2016

Table of Contents

1 Introduction 4

1.1 Purpose 4

1.2 Scope 4

2 VehSigCdng High-Level Description 5

3 Design details of software module 6

3.1 Graphical representation of VehSigCdng 6

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.1 Sub-Module Functions 10

5.1.2 Interrupt Service Routines 10

5.1.3 Server Runnable Functions 10

5.1.4 Module Internal (Local) Functions 10

5.1.5 Transition Functions 11

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

Scope

VehSigCdng High-Level Description

Refer to FDD

Design details of software module

Graphical representation of VehSigCdng

Data Flow Diagram

Component level DFD

Refer to FDD

Function level DFD

Refer to FDD

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

See .m file

Software Component Implementation

Sub-Module Functions

Initialization sub-module VehSigCdngInit1()

Periodic sub-module VehSigCdngPer1()

Design Rationale - Fault Injection client call is conditional compiled based on “FLTINJENA” build constant.

Interrupt Service Routines

None

Server Runnable Functions

None

Module Internal (Local) Functions

Local Function #1

Refer to VehSpd block in the model

Function NameVehSigCdng_VehSpdTypeMinMax
Arguments PassedVehSpdSerlCom_Kph_T_f32Float320511
VehSpdVldSerlCom_Cnt_T_lgcBooleanFALSETRUE
VehSpdOvrd_Kph_T_f32Float320511
VehSpdOvrdVld_Cnt_T_loglBooleanFALSETRUE
VehSpd_Kph_T_f32Float320511
VehSpdVld_Cnt_T_loglBooleanFALSETRUE
Return ValueN/A

Notes: VehSpd_Kph_T_f32, VehSpdVld_Cnt_T_logl are the outputs of the function

Local Function #2

Refer to VehLgtA block in the model

Function NameVehSigCdng_VehLgtATypeMinMax
Arguments PassedVehLgtASerlCom_MpSecSq_T_f32Float32-180180
VehLgtAVldSerlCom_Cnt_T_lgcBooleanFALSETRUE
VehLgtA_KphpS_T_f32Float32-5050
VehLgtAVld_Cnt_T_loglBooleanFALSETRUE
Return Value(if no value returned, write N/A)

Notes: VehLgtA_KphpS_T_f32, VehLgtAVld_Cnt_T_logl are the outputs of the function

Local Function #3

Refer to VehLatA block in the model

Function NameVehSigCdng_VehLatATypeMinMax
Arguments PassedVehLatASerlCom_MpSecSq_T_f32Float32-1010
VehLatAVldSerlCom_Cnt_T_lgcBooleanFALSETRUE
VehLatA_MpSecSq_T_f32Float32-1010
VehLatAVld_Cnt_T_loglBooleanFALSETRUE
Return Value(if no value returned, write N/A)

Notes: VehLatA_MpSecSq_T_f32, VehLatAVld_Cnt_T_logl are the outputs of the function

Local Function #4

Refer to VehYawRate block in the model

Function NameVehSigCdng_VehYawRateTypeMinMax
Arguments PassedVehYawRateSerlCom_DegpS_T_f32Float32-120120
VehYawRateVldSerlCom_Cnt_T_lgcBooleanFALSETRUE
VehYawRate_DegpS_T_f32Float32-120120
VehYawRateVld_Cnt_T_loglBooleanFALSETRUE
Return Value(if no value returned, write N/A)

Notes: VehYawRate_DegpS_T_f32, VehYawRateVld_Cnt_T_logl are the outputs of the function

Local Function #5

Refer to “Lateral Acceleration Estimation” block in the model

Function NameVehSigCdng_LatAEstmnTypeMinMax
Arguments PassedVehYawRate_DegpS_T_f32Float32-120120
VehYawRateVld_Cnt_T_lgcBooleanFALSETRUE
VehSpd_Kph_T_f32Float320511
VehSpdVld_Cnt_T_loglBooleanFALSETRUE
VehLatAEstimd_MtrPerSecSqd_T_f32Float32-1010
VehLatAEstimdVld_Cnt_T_loglBooleanFALSETRUE
Return Value(if no value returned, write N/A)

Notes: VehLatAEstimd_MtrPerSecSqd_T_f32, VehLatAEstimdVld_Cnt_T_logl are the outputs of the function

Transition Functions

None

Known Limitations with Design

None

UNIT TEST CONSIDERATION

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3Software Naming Conventions.doc2.0
4Software Design and Coding Standards.doc2.1
5FDD – SF033A_VehSigCdng_DesignSee Synergy Sub project version

41.3 - VehSigCdng_PeerReviewChecklist


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
PolySpace


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF033A_VehSigCdng_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF033A_VehSigCdng_Impl_2.4.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Shawn Penning
Work CR ID:


EA4#12459





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:
















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































N/AMDD


YesSource Code


YesPolySpace









































N/AIntegration Manual


YesDavinci Files








































































Comments:






























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

07/13/17
































Lead Peer Reviewer:


Brendon Binder


Approved by Reviewer(s):



Yes































Other Reviewer(s):










































Brionna Spencer






























Sheet 3: Davinci Files






















Rev 1.28-Jun-15
Peer Review Meeting Log (Davinci Review)


























Quality Check Items:




































Rationale is required for all answers of No










Only StdDef Port types are used








Yes
Comments:










































For components not using application data types, do all








Yes
Comments:



port interface names end in PortIf and a sequence number





























































Non-program-specific components saved








Yes
Comments:




in Autosar 4.0.3 format




































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








N/A
Comments:




change correctly




































*Cfg.h.TT: Verfied Davinci Configurator generates








N/A
Comments:










the configuration header(s) file correctly
kzshz2: Either a generic sandbox or a baselined integration project can be used to verify



























kzshz2: Either a generic sandbox or a baselined integration project can be used to verify
















All changed files have been compared against previous








Yes
Comments:




versions (If available)

kzshz2: 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 Rationale: This is helpful in identifying unapproved (intended or mistaken) changes.


































Automated validation check is performed








Yes
Comments:

























































Naming conventions followed. All names should








Yes
Comments:










match DataDict.m













































Sender/Receiver port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Calibration port properties match DataDict.m








Yes
Comments:










file (use .m file helper tool)













































Components using application data types:























Sender/Receiver port initialization values match







N/A
Comments:










DataDict.m file














































Calibration port initialization values match







N/A
Comments:










DataDict.m file













































Components not using application data types:























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 direct








Yes
Comments:










read/writes(List justification if not)













































Runnable calling frequencies match FDD








Yes
Comments:

































DataDict.m display variables: created as








N/A
Comments:









PerInstanceMemory. Matches the FDD





































Component is correct component type








Yes
Comments:











































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning
Review Date :

07/13/17
Component Type :


CDD



























Lead Peer Reviewer:


Brendon Binder
Approved by Reviewer(s):



Yes

































Other Reviewer(s):






































Brionna Spencer





























Sheet 4: Source Code






















Rev 1.28-Jun-15
Peer Review Meeting Log (Source Code Review)

























Source File Name:


VehSigCdng.c

Source File Revision:


9
Header File Name:


N/A

Header File Revision:


kzshz2: Intended Use: Identify which version of the source file is being review. Rationale: Required for traceability between source code and review. Auditors will likely require this. N/A

























MDD Name:

VehSigCdng_MDD.docx

Revision:
5

























FDD/SCIR/DSR/FDR/CM Name:




SF033A_VehSigCdng_Design

Revision:
2.3.0


























Quality Check Items:



































Rationale is required for all answers of No









Working EA4 Software Naming Convention followed:















































for variable names







N/A
Comments:

















































for constant names







N/A
Comments:

















































for function names







N/A
Comments:

















































for other names (component, memory







N/A
Comments:










mapping handles, typedefs, etc.)




































All paths assign a value to outputs, ensuring








N/A
Comments:









all outputs are initialized prior to being written





































Requirements Tracability tags in code match the requirements tracability in the FDD








N/A
Comments:









requirements tracability in the FDD











Tags Removed
























All variables are declared at the function level.








N/A
Comments:
























Synergy version matches change history





kzshz2: Intended Use: Indicate that the the versioning was confirmed by the peer reviewer(s). Rationale: There have been many occassions where versions were not updated in files and as a result Unit Test were referencing wrong versions. This often time leads to the need to re-run of batch tests.


Yes
Comments:



and Version Control version in file comment block





































Change log contains detailed description of changes








Yes
Comments:



and Work CR number





































Code accurately implements FDD (Document or Model)








N/A
Comments:










































Verified no Compiler Errors or Warnings


KMC: Intended Use: To confirm no compiler errors or warnings exist for the code under review (warnings from contract header files may be ignored). Rationale: This is needed to ensure there will be no errors discovered at the time of integration. A Sandox project should be used; QAC can find compiler errors but not warnings.





Yes
Comments:






















Need to compile for Std_Off and Std_On; Done, left in STD_OFF
























Component.h is included








N/A
Comments:
























All other includes are actually needed. (System includes








N/A
Comments:









only allowed in Nexteer library components)





































Software Design and Coding Standards followed:











Version: 2.1

























Code comments are clear, correct, and adequate







N/A
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







N/A
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







N/A
Comments:










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













[N57], [N58], [N59]














































Embedded constants used per standards; no







N/A
Comments:










"magic numbers": [N12]





































Memory mapping for non-RTE code







N/A
Comments:










is per standard





































All execution-order-dependent code can be







N/A
Comments:










recognized by the compiler: [N80]





































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-unsiged 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







N/A
Comments:










defined in the FDD DataDict.m file : [N53]





































All code is mapped with FDD (all FDD







N/A
Comments:










subfunctions and/or model blocks identified













with code comments; all code corresponds to






















some FDD subfunction and/or model block): [N40]













































Review did not identify violations of other








Yes
Comments:









coding standard rules





































Anomaly or Design Work CR created








N/A
Comments: List Anomaly or CR numbers









for any FDD corrections needed































































General Notes / Comments:

















































































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

07/14/17
































Lead Peer Reviewer:


Brendon Binder
Approved by Reviewer(s):





Yes































Other Reviewer(s):






































Brionna Spencer





























Sheet 5: PolySpace






















Rev 1.28-Jun-15
Peer Review Meeting Log (QAC/PolySpace Review)


























Source File Name:


VehSigCdng.cSource File Revision:


9

Source File Name:















Source File Revision:





Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:







01.02.00







Poly Space version:


Windows User: eg. 2013b 2013B
Polyspace sub project version:




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0


QAC version:


Windows User: eg 8.1.1-R

QAC sub project version:




Windows User: eg. TL_100A_1.1.0



























Quality Check Items:




































Rationale is required for all answers of No



































Contract Folder's header files are appropriate and





kzshz2: Intended Use: Identify that the contract folder contains only the information required for this component. All other variables, constants, function prototypes, etc. should be removed. Rationale: This will help avoid unit testers having to considers object not used. It will also avoid having other files required for QAC.


Yes
Comments:




function prototypes match the latest component version







































100% Compliance to the EA4 Static AnalysisYes
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






































Cyclomatic complexity and Static path count OK






Creager, Kathleen: use Browse Function Metrics, STCYC and STPTH

N/A
Comments:





for all functions in the component per Design














and Coding Standards rule [N47]

































































































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Shawn Penning


Review Date :

07/14/17
































Lead Peer Reviewer:


Brendon Binder
Approved by Reviewer(s):





Yes































Other Reviewer(s):






































Brionna Spencer




























42 - Component Implementation

Component Implementation

Component Documentation

42.1 - VehSpdLimr_DesignReview


Overview

Summary Sheet
Synergy Project


Sheet 1: Summary Sheet
























Rev 1.28-Jun-15

Peer Review Summary Sheet


























Synergy Project Name:


kzshz2: Intended Use: Identify which component is being reviewed. This should be the Module Short Name from Synergy Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF016A_VehSpdLimr_Impl
Revision / Baseline:


kzshz2: Intended Use: Identify which Synergy revision of this component is being reviewed Rationale: Required for traceability. It will help to ensure this form is not attaced to the the wrong change request. SF016A_VehSpdLimr_Impl_2.0.0

























Change Owner:


kzshz2: Intended Use: Identify the developer who made the change(s) Rationale: A change request may have more than one resolver, this will help identify who made what change. Change owner identification may be required by indusrty standards. Nick Saxton
Work CR ID:


EA4#5502





























kzshz2: Intended Use: Intended to identify at a high level to the reviewers which areas of the component have been changed. Rationale: This will be good information to know when ensuring appropriate reviews have been completed. Modified File Types:















































































































































































kzshz2: Intended Use: Identify who where the reviewers, what they reviewed, and if the reviewed changes have been approved to release the code for testing. Comments here should be at a highlevel, the specific comments should be present on the specific review form sheet. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. ADD DR Level Move reviewer and approval to individual checklist form Review Checklist Summary:






















































Reviewed:































MDD


Source Code


PolySpace









































Integration Manual


Davinci Files








































































Comments:

Bringing in new design project to match up with implementation



























































































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 FDD Owner and Integrator 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.





















Sheet 2: Synergy Project

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:











































General Notes / Comments:



























































LN: Intended Use: Identify who were the reviewers and if the reviewed changes have been approved. Rationale: Since this Form will be attached to the Change Request it will confirm the approval and provides feedback in case of audits. KMC: Group Review Level removed in Rev 4.0 since the design review is not checked in until approved, so it would always be DR4. Review Board:


























Change Owner:

Nick Saxton


Review Date :

04/26/16
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):









































































42.2 - VehSpdLimr_IntegrationManual

Integration Manual

For

SF016A VehSpdLimr

VERSION: 1.0

DATE: 11-Aug-2015

Prepared By:

Sarika Natu,

KPIT Technologies,

India

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

Revision History

DescriptionAuthorVersionDate
Initial versionSarika Natu1.011-Aug-2015

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
1MDD GuidelinesSoftware Process Release 04.02.00
2Software Naming ConventionsSoftware Process Release 04.02.00
3Design and Coding standardsSoftware Process Release 04.02.00
4FDD – SF016A_VehSpdLimr_DesignSee Synergy sub project version

Dependencies

SWCs

ModuleRequired Feature
None

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
NANoneRTE/ISR(<time>ms)
RunnableScheduling RequirementsTrigger
VehSpdLimrPer1NoneRTE (2ms)

Memory Map REQUIREMENTS

Mapping

Memory SectionContentsNotes
VehSpdLimr_START_SEC_CODE

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

Usage

FeatureRAMROM
<Memmap usuage info>

Table 1: ARM Cortex R4 Memory Usage

NvM Blocks

None

Compiler Settings

Preprocessor MACRO

None

Optimization Settings

None

Appendix

None

42.3 - VehSpdLimr_MDD

Module Design Document

For

VehSpdLimr

August 10, 2015

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Sarika Natu ,

KPIT Technologies,

India
Change History

DescriptionAuthorVersionDate
Initial VersionSarika Natu(KPIT Technologies)1.010-Aug-2015


Table of Contents

1 VehSpdLimr High-Level Description 4

2 Design details of software module 5

2.1 Graphical representation of VehSpdLimr 5

2.2 Data Flow Diagram 5

2.2.1 Component level DFD 5

2.2.2 Function level DFD 5

3 Constant Data Dictionary 6

3.1 Program (fixed) Constants 6

3.1.1 Embedded Constants 6

4 Software Component Implementation 7

4.1 Sub-Module Functions 7

4.1.1 Init: VehSpdLimr_Init 7

4.1.1.1 Design Rationale 7

4.1.1.2 Module Outputs 7

4.1.2 Per: VehSpdLimr_Per1 7

4.1.2.1 Design Rationale 7

4.1.2.2 Store Module Inputs to Local copies 7

4.1.2.3 (Processing of function)……… 7

4.1.2.4 Store Local copy of outputs into Module Outputs 7

4.2 Server Runables 7

4.3 Interrupt Functions 7

4.4 Module Internal (Local) Functions 7

4.5 GLOBAL Function/Macro Definitions 7

5 Known Limitations with Design 8

6 UNIT TEST CONSIDERATION 9

Appendix A Abbreviations and Acronyms 10

Appendix B Glossary 11

Appendix C References 12

VehSpdLimr High-Level Description

The Vehicle Speed Limiting Function determines a limited assist torque command value as a function of vehicle speed and handwheel position to manage mechanical fatigue near end-of-travel positions.

Design details of software module

Graphical representation of VehSpdLimr

cid:image001.png@01D0D38B.56DD1A30

Data Flow Diagram

See FDD.

Component level DFD

See FDD.

Function level DFD

See FDD.

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

NA

Software Component Implementation

Sub-Module Functions

Init<Component Name>_Init<n>

Design Rationale

None

Module Outputs

None

Per: VehSpdLimrPer1

Design Rationale

FDD model contains a block named VehSpdLimrPer1

Store Module Inputs to Local copies

See FDD

(Processing of function)………

See FDD

Store Local copy of outputs into Module Outputs

See FDD

Server Runables

None

Interrupt Functions

None

Module Internal (Local) Functions

None

GLOBAL Function/Macro Definitions

None

Known Limitations with Design

Referring to anomaly EA4#1276, following are the discrepancies found:

1) Min/max values of HwAgEotCw, HwAgEotCcw, VehSpdLimrPosMaxOffs1, and VehSpdLimrPosMaxOffs2 need to be set to more realistic values; With the current ranges, there is a possiblity of converting negative numbers to unsigned data types.  Note these ranges need to be coordinated with SF011A and SF018A. 

2) Table VehSpdLimrMaxAssiY monotony needs to be identified as "Decreasing" ­­ the implementation assumes that VehSpdLimrMaxAssiY[0] is the maximum value of the table.

3) The concatenate block that creates the Y table for the linear interpolation block has the two inputs reversed ­­ the first input to the concatenation should be the max value of the VehSpdLimrMaxAssiY table, and the second input to the concatenation should be the output of the 1­D Lookup block.

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 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.3.0 R4.0 Rev 2
2MDD GuidelineEA4 01.00.00
3EA4 Software Naming Conventions.doc01.00.00
4Software Design and Coding Standards.doc2.1
5SF016A_VehSpdLimr_DesignSee Synergy subproject version