DiagcMgrProxy_MDD
Module Design Document
For
Diagnostic Manager Proxy
VERSION: 2.0
DATE: 22-JUN-2016
Prepared By:
Spandana Balani
Location: The official version of this document is stored in the Nexteer Configuration Management System.
Revision History
Sl. No. | Description | Author | Version | Date |
1 | ES101A_DiagcMgr_Design version 2 implementation | SB | 1.0 | 11-Mar-2016 |
2 | ES101A_DiagcMgr_Design version 4 implementation | SB | 2.0 | 22-Jun-2016 |
Table of Contents
3 DiagcMgrPROXYAPPLX & High-Level Description 7
4 Design details of software module 8
4.1 Graphical representation of DiagcmgrPRoxyApplX 8
5.1 User defined typedef definition/declaration 9
5.2 Variable definition for enumerated types 9
6.1 Program(fixed) Constants 10
6.1.2 Module specific Lookup Tables Constants 10
7 Software Module Implementation 11
7.1.1 Initialization Functions 11
7.1.1.1 INIT: DiagcMgrPROXYAPPLXInit1 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.1 Per: diagcmgrPROXYAPPLXPer1 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.4 Server Runnable Functions 12
7.1.4.1 GetDiagcDataApplX_Oper 12
7.1.4.3 GetNtcDebCntrAppl0_Oper 12
7.1.4.4 GetNtcInfoApplX_Oper 12
7.1.4.5 GetNtcQlfrStsX_Oper 12
7.1.5 Local Function/Macro Definitions 14
8 Known Limitations With Design 15
Abbrevations And Acronyms
Abbreviation | Description |
DFD | Design functional diagram |
MDD | Module 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. | Title | Version |
<1> | <MDD Guidelines> | Process 04.02.01 |
<2> | <Software Naming Conventions> | Process 04.02.01 |
<3> | <Coding standards> | Process 04.02.01 |
<4> | FDD – ES101A Diagnostic Manager | See Synergy Subproject version |
<Add if more available> |
DiagcMgrPROXYAPPLX & High-Level Description
There are 11 proxy components whose design is same but the name of the components is based on the application number. ApplX is used through out the document in place of application number.
Design details of software module
Graphical representation of DiagcmgrPRoxyApplX
Graphical representation below is for the application 6 proxy component.
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 Name | Element Name | User Defined Type | Legal Range (min) | Legal Range (max) |
Refer DiagcMgr_MDD |
Variable definition for enumerated types
Enum Name | Element Name | Value |
N/A |
Constant Data Dictionary
Program(fixed) Constants
Embedded Constants
< All program specific constants will be defined in detail >
Local
Constant Name | Resolution | Units | Value |
See DataDict.m file | |||
Refer DiagcMgr_MDD |
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 DataDict.m file |
Module specific Lookup Tables Constants
<(This is for lookup tables (arrays) with fixed values, same name as other tables)>
Constant Name | Resolution | Value | Software Segment |
Refer DiagcMgr_MDD |
Software Module Implementation
Sub-Module Functions
None
Initialization Functions
INIT: DiagcMgrPROXYAPPLXInit1
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
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: diagcmgrPROXYAPPLXPer1
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
Server Runnable 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”)>
GetDiagcDataApplX_Oper
See DataDict.m file and model for detailed description.
GetNtcActvX_Oper
See DataDict.m file and model for detailed description.
X in the flowchart will change based on the proxy application number.
ErrorID ‘0’ is ensuring if NtcNr is within the valid range.
ErrorID ‘1’ is ensuring if ApplIdx is valid.
GetNtcDebCntrAppl0_Oper
See DataDict.m file and model for detailed description.
GetNtcInfoApplX_Oper
See DataDict.m file and model for detailed description.
GetNtcQlfrStsX_Oper
See DataDict.m file and model for detailed description.
X in the flowchart will change based on the proxy application number.
ErrorID ‘0’ is ensuring if NtcNr is within the valid range.
ErrorID ‘1’ is ensuring if ApplIdx is valid.
GetNtcStsX_Oper
See DataDict.m file and model for detailed description.
X in the flowchart will change based on the proxy application number.
ErrorID ‘0’ is ensuring if NtcNr is within the valid range.
ErrorID ‘1’ is ensuring if ApplIdx is valid.
SetNtcStsX_Oper
See DataDict.m file and model for detailed description.
X in the flowchart will change based on the proxy application number.
ErrorID ‘0’ is ensuring if NtcNr is within the valid range.
ErrorID ‘1’ is ensuring if ApplIdx is valid.
Local Function/Macro Definitions
Description
Proxies use functions from the private.c file, refer DiagcMgr MDD for function descriptions.
TRANSIENT FUNCTIONS
None
Known Limitations With Design
Per the FDD author, safety critical data is protected in an exclusive area but there is a possibility of corruption of non critical data.
Refer to Design Rationale section on the top level of DiagcMgrProxy Simulink model.
UNIT TEST CONSIDERATION
Config files in the contract folder are for a test project with sample configurations using Application 6 and Application 10. Therefore with this configuration, the following files cannot be tested – DiagcMgrProxyAppl0, DiagcMgrProxyAppl1, DiagcMgrProxyAppl2, DiagcMgrProxyAppl3, DiagcMgrProxyAppl4, DiagcMgrProxyAppl5, DiagcMgrProxyAppl7, DiagcMgrProxyAppl8, DiagcMgrProxyAppl9.
Appendix
None