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

Return to the regular view of this page.

Component Implementation

Component Implementation

Component Documentation

1 - ImcArbn_IntegrationManual

Integration Manual

For

Imc Arbitration

VERSION: 1.0

DATE: 02-Feb-2017

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USA

Revision History

Sl. No.DescriptionAuthorVersionDate
1Initial versionAkilan Rathakrishnan1.017-Jan-2017
2Added note about potential compilation issue in case of no signal group configuredAkilan Rathakrishnan2.002-Feb-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 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 12

7.1 Mapping 12

7.2 Usage 12

7.3 Non RTE NvM Blocks 12

7.4 RTE NvM Blocks 12

8 Compiler Settings 13

8.1 Preprocessor MACRO 13

8.2 Optimization Settings 13

9 Appendix 14

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

None

Configuration REQUIREMeNTS

Build Time Config

ModulesNotes
None

Configuration Files to be provided by Integration Project

ImcArbn_Private_Cfg.c

ImcArbn_Private_Cfg.h

ImcArbn_ Cfg.h

Note 1: Include “ImcArbn_Private_Cfg.h” in the “Rte_UserTypes.h” file as user defined typedefs are generated in this file.

Note 2: Configuration files “ImcArbn_Private_Cfg.c”, “ImcArbn_Private_Cfg.h” and “ImcArbn_ Cfg.h”

shall be regenerated whenever there is a change in text template files ImcArbn_Private_Cfg.c.tt, ImcArbn_Private_Cfg.h.tt and ImcArbn_Cfg.c.tt.

Note 3: If there is no IMC Signal Group / IMC Signals are configured, configuration scripts of this component will end-up in generating zero-size array typedefs, which will cause compilation issues. It is a design limitation and underlying assumption is that if no Signal Group configured, then the component shall be removed from the project altogether.

Da Vinci DEVELOPER NOTES

Davinci Developer project for this component is just base. Integrator need to import the developer project into the integration project and add all required IMC Signals in order to access the signal using S/R Ports. Also, for every of the signal, based on the Rate Group provided by higher level Architectural and Requirement documents, port access shall be provided to corresponding Transmit periodics (ImcArbnPer1= 2ms, ImcArbnPer2= 10ms and ImcArbnPer3= 100ms). All IMC Signals RTE reads shall be direct reads.

Da Vinci Parameter Configuration Changes

Following configurations shall be made in DaVinci configurator for the component. Configuration data for this component shall be provided by higher level Architectural and Requirement documents.

DaVinci Interrupt Configuration Changes

ISR NameVIM #Priority DependencyNotes
N/A

Manual Configuration Changes

ConstantNotesSWC
N/A

Exclusive Areas

ConstantNotesSWC
ExclsvAr1DrvrTxRxBuf

Exclusive area needs to protect access to Transmit and Receive buffers from asynchronous updates by server runnables and periodic updates by tasks.

Integrator needs to verify if client calls to server runnables can inteerupt periodics and set up exclusive area to properly protect access. If exclusive area is needed, at minimum it must disable OS Task scheduling (It is assumed that all clients call occurs in OS Tasks).

ExclsvAr2SigDataBuf

Exclusive area needs to protect access to Signal data buffers from asynchronous read by server runnables and periodic updates by tasks.

Integrator needs to verify if client calls to server runnables can inteerupt periodics and set up exclusive area to properly protect access. If exclusive area is needed, at minimum it must disable OS Task scheduling (It is assumed that all clients call occurs in OS Tasks).

Integration DATAFLOW REQUIREMENTS

Required Global Data Inputs

Refer AR350A_ImcArbn_DataDict.m file

Required Global Data Outputs

Refer AR350A_ImcArbn_DataDict.m file

Specific Include Path present

Yes

Runnable Scheduling

This section specifies the required runnable scheduling.

InitScheduling RequirementsTrigger
ImcArbnInit1Invoked by RTE during InitRTE
RunnableScheduling RequirementsTrigger
ImcArbnPer1Refer Notes listed below the tableRTE 2ms Task
ImcArbnPer2Refer Notes listed below the tableRTE 10ms Taks
ImcArbnPer3Refer Notes listed below the tableRTE 100ms Task
ImcArbnPer4Refer Notes listed below the tableRTE 2ms Task
ImcArbnPer5Refer Notes listed below the tableRTE 10ms Task
ImcArbnPer6Refer Notes listed below the tableRTE 100ms Task
GetSigImcDataExtdSts_f32_OperServer RunnableClient call
GetSigImcDataExtdSts_u32_OperServer RunnableClient call
GetSigImcDataExtdSts_s32_OperServer RunnableClient call
GetSigImcDataExtdSts_u16_OperServer RunnableClient call
GetSigImcDataExtdSts_s16_OperServer RunnableClient call
GetSigImcDataExtdSts_u08_OperServer RunnableClient call
GetSigImcDataExtdSts_s08_OperServer RunnableClient call
GetSigImcDataExtdSts_logl_OperServer RunnableClient call
GetSigImcData_f32_OperServer RunnableClient call
GetSigImcData_u32_OperServer RunnableClient call
GetSigImcData_s32_OperServer RunnableClient call
GetSigImcData_u16_OperServer RunnableClient call
GetSigImcData_s16_OperServer RunnableClient call
GetSigImcData_u08_OperServer RunnableClient call
GetSigImcData_s08_OperServer RunnableClient call
GetSigImcData_logl_OperServer RunnableClient call
GetTxRateGroup_OperServer RunnableClient call
GetTxSigGroup_OperServer RunnableClient call
SetRxSigGroup_OperServer RunnableClient call

Notes:

  1. ImcArbnPer1, ImcArbnPer2 and ImcArbnPer3 periodic functions shall be called prior to calling respective primary and secondary signal source transmit layer functions.

  2. ImcArbnPer4, ImcArbnPer5 and ImcArbnPer6 periodic functions shall be called after calling respective primary and secondary signal source receive layer functions.

  3. ImcArbn Receive periodic functions (ImcArbnPer4, ImcArbnPer5 and ImcArbnPer6) shall run prior to the ImcArbn Transmit periodics (ImcArbnPer1, ImcArbnPer2 and ImcArbnPer3) functions.

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>

2 - ImcArbn_MDD

Module Design Document

For

Imc Arbitration

Jan 17, 2017

Prepared For:

Software Engineering

Nexteer Automotive,

Saginaw, MI, USA

Prepared By:

Software Group,

Nexteer Automotive,

Saginaw, MI, USAChange History

Sl. No.DescriptionAuthorVersionDate
1Initial VersionAkilan Rathakrishnan1.017-Jan-2017

Table of Contents

1 ImcArbn High-Level Description 7

2 Design details of software module 8

Graphical representation of ImcArbn 8

2.1.1 Data Flow Diagram 8

2.1.2 Component level DFD 9

2.1.3 Function level DFD 9

3 Variable Data Dictionary 10

3.1 User defined typedef definition/declaration 10

3.2 Variable definition for enumerated types 12

4 Constant Data Dictionary 13

Program (fixed) Constants 13

4.1.1 Embedded Constants 13

4.1.1.2 Global 13

4.1.2 Module specific Lookup Tables Constants 13

5 Software Module Implementation 14

5.1 Sub-Module Functions 14

5.1.1 Init: ImcArbnInit1 14

5.1.1.1 Design Rationale 14

5.1.1.2 Design Rationale 14

5.1.2 PERIODIC FUNCTIONS 14

5.1.3 Per: ImcArbnPer1 14

5.1.3.1 Design Rationale 14

5.1.4 Per: ImcArbnPer2 14

5.1.4.1 Design Rationale 14

5.1.5 Per: ImcArbnPer3 14

5.1.5.1 Design Rationale 14

5.1.6 Per: ImcArbnPer4 14

5.1.6.1 Design Rationale 14

5.1.7 Per: ImcArbnPer5 14

5.1.7.1 Design Rationale 14

5.1.8 Per: ImcArbnPer6 14

5.1.8.1 Design Rationale 14

5.1.9 Interrupt Functions 14

5.2 Server Runnable Functions 15

5.2.1 GetSigImcDataExtdSts_f32 15

5.2.1.1 Design Rationale 15

5.2.2 GetSigImcDataExtdSts_u32 15

5.2.2.1 Design Rationale 15

5.2.3 GetSigImcDataExtdSts_u16 15

5.2.3.1 Design Rationale 15

5.2.4 GetSigImcDataExtdSts_s16 15

5.2.4.1 Design Rationale 15

5.2.5 GetSigImcDataExtdSts_u08 15

5.2.5.1 Design Rationale 15

5.2.6 GetSigImcDataExtdSts_s08 15

5.2.6.1 Design Rationale 15

5.2.7 GetSigImcDataExtdSts_logl 15

5.2.7.1 Design Rationale 15

5.2.8 GetSigImcData_f32 15

5.2.8.1 Design Rationale 15

5.2.9 GetSigImcData_u32 15

5.2.9.1 Design Rationale 15

5.2.10 GetSigImcData_s32 15

5.2.10.1 Design Rationale 15

5.2.11 GetSigImcData_u16 16

5.2.11.1 Design Rationale 16

5.2.12 GetSigImcData_s16 16

5.2.12.1 Design Rationale 16

5.2.13 GetSigImcData_u08 16

5.2.13.1 Design Rationale 16

5.2.14 GetSigImcData_s08 16

5.2.14.1 Design Rationale 16

5.2.15 GetSigImcData_logl 16

5.2.15.1 Design Rationale 16

5.2.16 GetTxRateGroup 16

5.2.16.1 Design Rationale 16

5.2.17 GetTxSigGroup 16

5.2.17.1 Design Rationale 16

5.2.18 SetRxSigGroup 16

5.2.18.1 Design Rationale 16

5.3 Module Internal (Local) Functions 16

5.3.1 Local Function #1 16

5.3.1.1 Description 17

5.3.2 Local Function #2 17

5.3.2.1 Description 17

5.3.3 Local Function #3 17

5.3.3.1 Description 17

5.3.4 Local Function #4 17

5.3.4.1 Description 17

5.3.5 Local Function #5 17

5.3.5.1 Description 18

5.3.6 Local Function #6 18

5.3.6.1 Description 18

5.3.7 Local Function #7 18

5.3.7.1 Description 18

5.3.8 Local Function #8 18

5.3.8.1 Description 18

5.3.9 Local Function #9 19

5.3.9.1 Description 19

5.3.10 Local Function #10 19

5.3.10.1 Description 19

5.3.11 Local Function #11 19

5.3.11.1 Description 19

5.3.12 Local Function #12 19

5.3.12.1 Description 20

5.3.13 Local Function #13 20

5.3.13.1 Description 20

5.3.14 Local Function #14 20

5.3.14.1 Description 20

5.3.15 Local Function #15 20

5.3.15.1 Description 20

5.3.16 Local Function #16 20

5.3.16.1 Description 20

5.3.17 Transition Functions 20

5.3.18 Global Function/Macro Definitions 21

6 Known Limitations with Design 22

7 UNIT TEST CONSIDERATION 23

Appendix A Abbreviations and Acronyms 24

Appendix B Glossary 25

Appendix C References 26

ImcArbn High-Level Description

The Inter-Micro Communication (IMC) Arbitration prepares data for transmission to a complimentary ECU through two redundant communication paths. On the receive side, the Arbitration reads data from the primary source and determines the data validity. A validity fault on primary source prompts the IMC Arbitration component to evaluate the same signal from the secondary source. Faulty signals from the primary source will be replaced with signals from the secondary source, as long as they are valid. If both data sources are invalid the IMC Arbitration outputs the signal status based on never received, missing and invalid conditions.

Design details of software module

See FDD.

Graphical representation of ImcArbn

Data Flow Diagram

See FDD.

Component level DFD

See FDD.

Function level DFD

See FDD.

Variable Data Dictionary

User defined typedef definition/declaration

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

Variable definition for enumerated types

Enum NameElement NameValue
See AR350A_ImcArbn_DataDict.m file

Constant Data Dictionary

Program (fixed) Constants

Embedded Constants

Local Constants

Constant NameResolutionUnitsValue
See AR350A_ImcArbn_DataDict.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
See AR350A_ImcArbn_DataDict.m file

Module specific Lookup Tables Constants

<(This is for lookup tables (arrays) with fixed values, same name as other tables)>

Constant NametypeValueSoftware Segment
SIGGROUPCONFIG_RECSigGroupRec1ConfigurableImcArbn_CONST
<SIGGROUPNAME>_RECSigPrmRec1ConfigurableImcArbn_CONST
RATEGROUPOFFS_CNT_U08Uint8ConfigurableImcArbn_CONST
NRSIGGROUPINRATEGROUP_CNT_U08Uint8ConfigurableImcArbn_CONST
MISSSIGGROUPTIOUT_CNT_U08Uint8ConfigurableImcArbn_CONST

Note: <SIGGROUPNAME>_REC – Placeholder <SIGGROUPNAME> will be replaced based on respective Signal Group names from the configuration. Also note, this component will have as many number of <SIGGROUPNAME>_REC constants as number of Signal Groups.

Software Module Implementation

Sub-Module Functions

None

Init: ImcArbnInit1

Design Rationale

Design follows implementation in FDD.

Design Rationale

Refer FDD

PERIODIC FUNCTIONS

Per: ImcArbnPer1

Design Rationale

Refer FDD

Per: ImcArbnPer2

Design Rationale

Refer FDD

Per: ImcArbnPer3

Design Rationale

Refer FDD

Per: ImcArbnPer4

Design Rationale

Refer FDD

Per: ImcArbnPer5

Design Rationale

Refer FDD

Per: ImcArbnPer6

Design Rationale

Refer FDD

Interrupt Functions

None

Server Runnable Functions

GetSigImcDataExtdSts_f32

Design Rationale

Refer FDD

GetSigImcDataExtdSts_u32

Design Rationale

Refer FDD

GetSigImcDataExtdSts_u16

Design Rationale

Refer FDD

GetSigImcDataExtdSts_s16

Design Rationale

Refer FDD

GetSigImcDataExtdSts_u08

Design Rationale

Refer FDD

GetSigImcDataExtdSts_s08

Design Rationale

Refer FDD

GetSigImcDataExtdSts_logl

Design Rationale

Refer FDD

GetSigImcData_f32

Design Rationale

Refer FDD

GetSigImcData_u32

Design Rationale

Refer FDD

GetSigImcData_s32

Design Rationale

Refer FDD

GetSigImcData_u16

Design Rationale

Refer FDD

GetSigImcData_s16

Design Rationale

Refer FDD

GetSigImcData_u08

Design Rationale

Refer FDD

GetSigImcData_s08

Design Rationale

Refer FDD

GetSigImcData_logl

Design Rationale

Refer FDD

GetTxRateGroup

Design Rationale

Refer FDD

GetTxSigGroup

Design Rationale

Refer FDD

SetRxSigGroup

Design Rationale

Refer FDD

Module Internal (Local) Functions

Local Function #1

Function NameImcArbnTxTypeMinMax
Arguments PassedRateGroup_Cnt_T_u08Uint802
Return ValuevoidN/AN/AN/A

Description

This function implements “ImcArbnTx” function in the FDD.

Local Function #2

Function NameImcArbnRxTypeMinMax
Arguments PassedFrmFltCntr_Ary2D_u8Ary2D_u8_2_2*0x000000010xFFFFFFFF
RateGroup_Cnt_T_u08uint802
IniTiOutChkCmpl_Cnt_T_loglBoolean01
Return ValueNoneN/AN/AN/A

Description

This function implements “ImcArbnRx” function in the FDD.

Local Function #3

Function NameNoDataHndlgTypeMinMax
Arguments PassedRxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106
RxDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08uint802
SigGroup_Cnt_T_u08uint80255
PrimSrcNoDataRxd_Cnt_T_loglboolean01
SecdrySrcNoDataRxd_Cnt_T_loglboolean01
Return ValueNoneN/AN/AN/A

Description

This function implements “NoDataHndlg” function in the FDD.

Local Function #4

Function NameOvrdSigStsDurgStrtUpTypeMinMax
Arguments PassedSigGroup_Cnt_T_u08uint80255
IniTiOutChkCmpl_Cnt_T_loglBoolean01
Return ValueNoneN/AN/AN/A

Description

This function implements “OvrdSigStsDurgStrtUp” function in the FDD.

Local Function #5

Function NameEvlSigGroupNeverRxdMissStsTypeMinMax
Arguments PassedRateGroup_Cnt_T_u08uint802
SigGroup_Cnt_T_u08uint80255
Return ValueRxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106

Description

This function implements “OvrdSigStsDurgStrtUp” function in the FDD.

Local Function #6

Function NameRxFrmVldChkTypeMinMax
Arguments PassedDataBuf_Cnt_T_u08uint8*0x000000010xFFFFFFFF
FrmFltCntr_Cnt_T_u08Ary1D_u8_2*0x000000010xFFFFFFFF
SigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08uint802
SigGroup_Cnt_T_u08Uint80255
PrimSrcOnlySigGroup_Cnt_T_loglBoolean01
IniTiOutChkCmpl_Cnt_T_loglBoolean01
Return ValueFrmSts_Cnt_T_enumImcArbnRxRollgCntrSts102

Description

This function implements “RxFrmVldChk” function in the FDD.

Local Function #7

Function NameImcChResyncHndlgTypeMinMax
Arguments PassedSigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
SigGroup_Cnt_T_u08Uint80255
PrsntRollgCntr_Cnt_T_u08Uint8031
Return ValueVoidNANANA

Description

This function implements “ImcChResyncHndlg” function in the FDD.

Local Function #8

Function NameVldtRollgCntrTypeMinMax
Arguments PassedSigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08Uint802
SigGroup_Cnt_T_u08Uint80255
PrsntRollgCntr_Cnt_T_u08Uint8031
Return ValueRollgCntrSts_Cnt_T_enumImcArbnRxRollgCntrSts102

Description

This function implements “VldtRollgCntr” function in the FDD.

Local Function #9

Function NameVldtRollgCntrAlgTypeMinMax
Arguments PassedSigGroupDataSrc_Cnt_T_enumImcArbnRxDataSrc102
RateGroup_Cnt_T_u08Uint802
SigGroup_Cnt_T_u08Uint80255
PrsntRollgCntr_Cnt_T_u08Uint8031
Return ValueRollgCntrSts_Cnt_T_enumImcArbnRxRollgCntrSts102

Description

This function implements “VldtRollgCntrAlg” function in the FDD.

Local Function #10

Function NameRollgCntrSeqChkTypeMinMax
Arguments PassedPrsntRollgCntr_Cnt_T_u08Uint8031
AntcptdRollCntr_Cnt_T_u08Uint8031
UpprDriftLim_Cnt_T_u08Uint80255
LwrDriftLim_Cnt_T_u08Uint80255
Return ValueRollgCntrVld_Cnt_T_loglboolean01

Description

This function implements “RollgCntrSeqChk” function in the FDD.

Local Function #11

Function NameCreatSigGroupDataTypeMinMax
Arguments PassedSigGroup_T_recSigGroupRec1 const*0x000000010xFFFFFFFF
Return ValueRetData_Uls_T_u32uint3204294967295

Description

This function implements “CreatSigGroupData” function in the FDD.

Local Function #12

Function NameDecodSigGroupDataTypeMinMax
Arguments PassedSigGroup_T_recSigGroupRec1 const*0x000000010xFFFFFFFF
SigGroupRxData_Uls_T_u32uint3204294967295
RxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106
RxDataSrc_Cnt_T_enumImcArbnRxDataSrc102
Return Valuevoid

Description

This function implements “DecodSigGroupData” function in the FDD.

Local Function #13

Function NameGetBitMaskTypeMinMax
Arguments PassedNrOfBits_Cnt_T_u08Uint8031
Return ValueBitMask_Cnt_T_u32uint3204294967295

Description

This function implements “GetBitMask” function in the FDD.

Local Function #14

Function NameGetImcSigStsTypeMinMax
Arguments PassedRxSigExtdSts1_Cnt_T_enumImcArbnRxExtdSts106
Return ValueRetSts_Cnt_T_enumImcArbnRxSts102

Description

This function implements “GetImcSigSts” function in the FDD.

Local Function #15

Function NameGetImcFltParamByteTypeMinMax
Arguments Passedvoid
Return ValueFltBitMask_Cnt_T_u08Uint8015

Description

This function implements “GetImcFltParamByte” function in the FDD.

Local Function #16

Function NameNoDataRxdTypeMinMax
Arguments PassedStrtByte_Cnt_T_u08Uint80255
EndByte_Cnt_T_u08Uint80255
Return ValueRetVal_Cnt_T_loglboolean01

Description

This function implements “NoDataRxd” function in the FDD.

Transition Functions

None.

Global Function/Macro Definitions

Refer FDD

Known Limitations with Design

None

UNIT TEST CONSIDERATION

  1. Number of Signals / Signal Groups / Rate Groups that can be supported by Imc Tx/Rx is configurable. Even though underlying data type of configuration information might have wider range, only values that are generated out of configuration will be supported by the component. If complete range need to be supported, then make configuration, and generate the cfg files accordingly. Also, none of the configuration values shall be hand-modified to cover legal range of underlying parameter.

Abbreviations and Acronyms

Abbreviation or AcronymDescription
DFDDesign functional diagram
MDDModule design Document
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)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: AR350A_ImcArbn_DesignSee Synergy subproject version

3 - ImcArbn_Review


Overview

Summary Sheet
Synergy Project
Davinci Files
Source Code
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. AR350A_ImcArbn_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. AR350A_ImcArbn_Impl_1.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. Akilan Rathakrishnan
Work CR ID:


EA4# 9291





























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









































YesIntegration Manual


YesDavinci Files








































































Comments:

Only configuration script changes. Config c and h files are regenerated



























































































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:

Akilan Rathakrishnan


Review Date :

02/02/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








Yes
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



























































Naming conventions followed. All names should








Yes












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








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:























Only config script changes. Config c and h files are regenerated











































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:

Akilan Rathakrishnan
Review Date :

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


ImcArbn.c

Source File Revision:


1
Header File Name:


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

ImcArbn_MDD.doc

Revision:
1

























FDD/SCIR/DSR/FDR/CM Name:




AR350A_ImcArbn_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








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.





No
Comments:






















Refer Comments
























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







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







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-unsiged conversions ensure the.







Yes
Comments:










float value is non-negative: [N67]





































All conversions between signed and unsigned







N/A
Comments:










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





































All pointer dereferencing protects against







Yes
Comments:










null pointer if needed: [N70]





































Component outputs are limited to the legal range







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:
















































Contract c file generation script changes only





















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:

Akilan Rathakrishnan


Review Date :

02/02/17
































Lead Peer Reviewer:


Krishna Anne


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:






ImcArbn.c







Source File Revision:


1

Source File Name:






ImcArbn_Private_Cfg.c







Source File Revision:


2

Source File Name:















Source File Revision:






























EA4 Static Analysis Compliance Guideline version:























Poly Space version:


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




Windows User: eg. TL108a_PolyspaceSuprt_1.0.0 Not released

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:

Run only for config c file as it is the only file got changed


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:























1. MISRA Rule 21.1, 16.7, 1.2 are analyzed and found not an issue

2. Data flow issues in polyspace are analyzed and found not an issue































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:

Akilan Rathakrishnan


Review Date :

02/02/17
































Lead Peer Reviewer:


Krishna Anne


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








N/A
Comments:

Initial Version








































General Notes / Comments:























Added note about potential compilation issue in case of no signal group configuration


































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:

Akilan Rathakrishnan


Review Date :

02/02/17
































Lead Peer Reviewer:


Krishna Anne


Approved by Reviewer(s):



Yes































Other Reviewer(s):