Extensions.DiagCom

From emotive
Revision as of 06:22, 12 February 2019 by Hb (talk | contribs) (→‎Checker Rules)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Classification

Name DiagCom
Short Description Diagnostic Vehicle Communication
Class OTX Extension
Base Extension -
Pre-Conditions Diagnostic Communication Kernel (MVCI ISO 22900)
Specified by ISO 13209-3

Introduction

The purpose of the OTX DiagCom extension is to provide the necessary OTX elements for performing diagnostic vehicle communication. Specifically, the following diagnostic use cases have been considered:

  • Handling of ECU communication channels
  • Execution of a diagnostic service
  • Setting of service request parameters and evaluation of service response parameters
  • Dealing with positive or various negative responses of a diagnostic service
  • Handling of communication channel protocol parameters
  • Performing variant identification of an ECU
  • Functionally addressed diagnostic services: more than one ECU will respond to a request
  • Repeated/cyclic execution of diagnostic services: a single request will result in multiple responses from the same ECU
  • A potential combination of functional addressing and cyclic service execution: multiple ECUs responding multiple times to one request
  • Complex data structures within the requests and responses of diagnostic services: structures of parameters, lists of parameters, lists containing structures of parameters

Actions

ComChannel related actions
IdentifyAndSelectVariant
CloseComChannel
ComParameter related actions
SetComParameter
SetComplexComParameter
DiagService related actions
ExecuteDiagService
ExecuteHexDiagService
StartRepeatedExecution
StopRepeatedExecution
SetRepetitionTime
GetAllResultsAndClear
SetParameterValue
SetParameterValueBySemantic
SetPdu

Terms

ComChannel related terms
GetComChannel
GetComChannelIdentifierFromResponse
GetComChannelEcuVariantName
IsVariant
DiagService related terms
CreateDiagServiceByName
CreateDiagServiceBySemantic
GetDiagServiceListBySemantic
GetDiagServiceFromResult
GetDiagServiceFromException
GetDiagServiceName
GetRepetitionTime
Request related terms
GetRequest
GetPdu
Result related terms
GetFirstResult
GetAllResults
GetResultState
Response related terms
GetFirstResponse
GetAllResponses
GetResponseName
GetResponseState
IsPositive
Parameter related terms
GetParameterBySemantic
GetParameterByPath
GetParameterName
GetParameterSemantic
GetParameterTextId
GetParameterAsList
GetParameterValueAsBoolean
GetParameterValueAsString
GetParameterValueAsInteger
GetParameterValueAsFloat
GetParameterValueAsByteField
GetParameterValueAsQuantity
ComParam related terms
GetDefaultComplexComParameter
GetComplexComParameter
GetComParameterValueAsBoolean
GetComParameterValueAsString
GetComParameterValueAsInteger
GetComParameterValueAsFloat
GetComParameterValueAsByteField
GetComParameterValueAsQuantity
GetDefaultComParameterValueAsBoolean
GetDefaultComParameterValueAsString
GetDefaultComParameterValueAsInteger
GetDefaultComParameterValueAsFloat
GetDefaultComParameterValueAsByteField
GetDefaultComParameterValueAsQuantity
Event related terms
GetDiagServiceFromEvent
IsDiagServiceEvent
DiagServiceEventSource

Data Types

ComChannel
DiagService
Result
ParameterContainer
Parameter
Message
Response
Request
ResultState
ResponseState

Exceptions

DiagComException
AmbiguousSemanticException
UnknownTargetException
LossOfComException
UnknownResponseException
UnknownComChannelException
InvalidStateException
IncompleteParameterizationException

Checker Rules

DiagCom_Chk001 No Path in ExecuteDiagService response parameter arguments
DiagCom_Chk002 Type-safe GetAllResultsAndClear
DiagCom_Chk100 Access path can not be determinded
DiagCom_Chk101 Access path can not be resolved
DiagCom_Chk102 Targets of the access paths are not the same struct
DiagCom_Chk103 Incorrect data type in request/response parameter arguments of inline mapping
DiagCom_Chk200 The required request parameter in ExecuteDiagService can not be determinded