3.3.11.2. Functional communication¶
Software Architecture: Diagnostic description & Configuration arch~sovd-api-functional-communication-dd-configuration
|
Information about the available functional groups, the available services in those groups, and their communication parameters must be provided in a separate diagnostic description. The diagnostic description’s MDD filename, in which the information for functional communication is contained, must be configurable. When no file is configured, functional communication is not available. A configuration option in the CDA can further filter the available functional groups from the diagnostic description. Rationale Extracting a standardized resource collection for functional communication from individual ECU descriptions is challenging and non-transparent when extracting common functional services from all ECU files. Therefore, we chose to do this via a separate diagnostic description file. This also follows the general pattern of one MDD file to an available standardized resource collection. |
3.3.11.2.1. API¶
Functional group functionality - if available - must be available in the Within that path, a standardized resource collection (chapter 5.4.2 in ISO/DIS 17978-3) must be available, with the linked semantics.
|
Software Architecture: Functional Communication ECU-Lock behavior arch~sovd-api-functional-communication-locks
|
Locking a functional group will start sending functional Tester Presents to the functional DoIP addresses of all DoIP Entities, and stop sending non-functional Tester Presents. Component Lock Takeover For every ECU covered by the functional group on which the same client already holds a component (ECU) lock, that component lock’s physical Tester Present is stopped once the functional group lock’s acquisition commits. The component lock itself is not released: it remains valid and renewable on its own, but it no longer runs its own Tester Present or responds independently to release; the functional group lock now owns both. Releasing, expiring, or preempting the functional group lock also releases every component lock it replaced the Tester Present of, running each one’s own cleanup (Tester Present stop, session and security access reset) as well as its own. Releasing or expiring one of those component locks on its own, while the functional group lock still covers that ECU, runs no cleanup at all; the functional group lock still owns the ECU until it is itself released. A component lock acquired while the same client already holds a functional group lock covering that ECU starts no physical Tester Present of its own, for the same reason.
|
Data Since functional communication returns data from multiple ECUs, the In case of errors, the Note The content-type
|
Software Architecture: Functional Communication - Operations arch~sovd-api-functional-communication-operations
|
Same principle as with data, except that the top-level element name is Note The content-type
|
Software Architecture: Functional Communication - Modes arch~sovd-api-functional-communication-modes
|
The following modes must be supported for functional groups when the underlying diagnostic description contains them:
|