Figure 7.12: IOSequence 00
cffc7be269f63106dae33767655f6003d219f3c33eb1c8c39c825e4590d53a5b
1. Diagrammtyp & Architektur-Kontext
UML-Sequenzdiagramm (sd IOSequence 00) im Kontext der AUTOSAR Classic Platform (SWS Diagnostic Communication Manager, DCM). Es modelliert die asynchrone Interaktion bei einer Ein-/Ausgabesteuerung (UDS Service 0x2F – InputOutputControlByIdentifier) mit dem Steuerparameter returnControlToECU (0x00) über die Laufzeitumgebung (RTE) zu einer Software-Komponente (SWC) unter Verwendung von Sender-Receiver-Kommunikation mit Aktualisierungs-Flags (IsUpdated).
2. Komponenten, Entitäten & Schnittstellen
Beteiligte Lebenslinien (Akteure/Komponenten):
Tester: Externes Diagnose-Prüfgerät (UDS-Client).Dcm: AUTOSAR Diagnostic Communication Manager (BSW-Modul).RTE: AUTOSAR Runtime Environment (Kommunikationsinfrastruktur).SWC: Anwendungs-Software-Komponente (Application Software Component).
Schnittstellen und Datenelemente:
- Diagnosenachrichten:
2F D001 00 80(Request),6F D001 00 1234(Positive Response). - Sender-Receiver-Schnittstellen / RTE-APIs:
Write IOControlRequest_{DID}/ DatenelementunderControl = ~CEMR & underControlWrite IOControlRequest_{DID}.IOOperationRequestmit ParameterncontrolEnableMask = 0x80,inputOutputControlParameter = 0x00und RTE IsUpdated-FlagRead DataServices_{DID}mit Rückgabewertdata = 0x1234Read IOControlRequest_{DID}(RückgabeunderControl)IsUpdatedWriteIOControlRequest_{DID}().IOOperationRequest(Rückgabestatus)Read IOControlRequest_{DID}.IOOperationRequestWrite IOControlResponse_{DID}mit ParameternIOOperationResponse = 0x00und{Ack|Nack}Write DataServices_{DID}(data = 0x1234)
- Lokale Operation:
Process IOControlRequestinnerhalb der SWC.
3. Dynamisches Verhalten & Sequenzablauf
- Der
Testersendet die Diagnoseanfrage2F D001 00 80(returnControlToECU, DID0xD001, Control Enable Mask Record / CEMR0x80) an dasDcm. - Das
Dcmschreibt über die RTE den ZustandunderControl = ~CEMR & underControl(Write IOControlRequest_{DID}). - Das
Dcmschreibt die OperationsdatencontrolEnableMask = 0x80,inputOutputControlParameter = 0x00viaWrite IOControlRequest_{DID}.IOOperationRequestin die RTE, wodurch das interneIsUpdated-Flag gesetzt wird. - Im kombinierten Fragment
alt pos Responseliest dasDcmüberRead DataServices_{DID}die aktuellen Daten (0x1234) aus der RTE und sendet die positive UDS-Antwort6F D001 00 1234an denTester. - Zeitlich entkoppelt fragt die
SWCüber die RTERead IOControlRequest_{DID}den WertunderControlab. - Die
SWCprüft überIsUpdatedWriteIOControlRequest_{DID}().IOOperationRequestden Aktualisierungsstatus (status). - Im kombinierten Fragment
alt check IsUpdatedliest dieSWCbei gesetztem Flag den Operationsauftrag viaRead IOControlRequest_{DID}.IOOperationRequest, verarbeitet die Anforderung (Process IOControlRequest), setztIOOperationResponse = 0x00und bestätigt den Empfang überWrite IOControlResponse_{DID}({Ack|Nack}). - Abschließend aktualisiert die
SWCden Datenwert viaWrite DataServices_{DID}(data = 0x1234)in der RTE.
4. Normative Relevanz & Entwickler-Hinweise
Das Diagramm veranschaulicht die Entkopplung zwischen synchroner Diagnoseverarbeitung im DCM und asynchroner Ausführung in der SWC bei Verwendung von Sender/Receiver-Kommunikation mit Übertragungsquittierung bzw. IsUpdated-Mechanismus. Entwickler von SWCs und DCM-Konfigurationen müssen sicherstellen, dass:
- die DCM-Antwort an den Tester unmittelbar nach Aktualisierung der RTE-Puffer und Auslesen der Datenbasis erfolgt, ohne zwingend das Beenden der internen Abarbeitung durch die SWC abzuwarten;
- die SWC zyklisch oder ereignisgesteuert den IsUpdated-Status pollt bzw. auswertet und die Rückmeldung (
Ack|Nack) über die Response-Schnittstelle setzt; - die Bitmaskenlogik (
underControl = ~CEMR & underControl) beireturnControlToECUdie Freigabebits der CEMR in der Steuerungsmaske korrekt zurücksetzt.
Zugeordnete Anforderungen
Diese Angaben zeigt der Versions-Explorer.