Project

General

Profile

Actions

Support Request #12113

closed

Design techniques for stability behavior in ADTF 3

Added by hidden over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Customer:
BOSCH
Department:
CC-DA/ETV
Requester's Priority:
Low
Support Level:
2nd Level
Resolution:
No Customer Feedback
Product Issue Numbers:
Affected Products:
Platform:
Windows 10 64bit
Topic:
ADTF::Common
FAQ Links:

Description

Support Anfrage:

Aktuell arbeiten wir mit ADTF 2. Hauptsächlich integrieren wir Filter in ADTF Konfigurationen, die von anderen Teams entwickelt werden.
Dadurch haben wir keinen direkten Einfluss auf die Entwicklung der einzelnen Filter. In ADTF 2 ist es generell so, dass ein abstürzender Filter
zum Absturz des kompletten ADTF Prozesses führt. Gibt es in ADTF 3 eine Möglichkeit auf der Integrationsebene von ADTF Konfigurationen
und Filtern dies zu gestalten, deshalb meine Frage dazu:

Welche Designtechniken in ADTF 3 können angewendet werden um Absturzverhalten von Filtern einzugrenzen?
Zum Beispiel soll ein Absturz in einem Visualisierungsfilter nicht zum Absturz der Aufzeichnung (Aufzeichnungsfilters) führen.

Meine Überlegung dazu :
Ist die Möglichkeit vorgesehen ADTF Prozesses z.B. über Outports / Inports miteinander kommunizieren (über Interprozesskommunikation) zu lassen ?
So könnte man den Visualisierungsfilter in einem anderen ADTF Prozess laufen lassen als den Aufnahmefilter.
Ein Absturz des Visualisierungsfilter würd dann nicht mehr zum Absturz der Aufnahme führen.

Lösung:

Prinzipiell verhält sich hier ADTF3 wie ADTF2, das heißt die Filter die in einem ADTF Prozess laufen, können auch den ganzen Prozess abschießen.

Aber im Gegensatz zu ADTF2 gibt es auch einfach verwendbare IPC Mechanismen (z.b. https://support.digitalwerk.net/adtf/v3/adtf_html/page_ipc_host_only_plugin.html#section_host_only_ipc_sink und https://support.digitalwerk.net/adtf/v3/adtf_html/page_ipc_host_only_plugin.html#section_host_only_ipc_source) mit denen das von dir beschriebene Szenario mit der Aufteilung in mehrere Prozesse recht einfach möglich ist. Eine Beispiel Session findest Du unter https://support.digitalwerk.net/adtf/v3/adtf_html/page_demo_ipc_sessions.html

Bleibt nur noch das Problem des Managements der ADTF Prozesse (starten/stoppen etc.). Hier gibt es leider keine Komplettlösung, aber da bei ADTF 3 jeder adtf_launcher Prozess sowieso nur über RPC gesteuert wird, kann man das selbst, z.b. mit dem adtf_control handhaben und an den eigenen Use-Case anpassen.

Was in Zukunft die Lösung für so ein verteiltes System sein wird, ist ADTF mit FEP integration (https://support.digitalwerk.net/adtf/v3_fep_integration_preview/guides/fep3_integration_prologue.html). Hier können dann mehrere ADTF Instanzen als FEP Participants gemeinsam in einem FEP System gesteuert werden und auch über FEP Daten austauschen. Das ist zwar schon weit gediehen, aber leider noch nicht öffentlich verfügbar.

Actions #1

Updated by hidden over 3 years ago

  • Status changed from New to In Progress
  • Topic set to ADTF::Common
Actions #2

Updated by hidden over 3 years ago

Hi Thomas,

prinzipiell verhält sich hier ADTF3 wie ADTF2, das heißt die Filter die in einem ADTF Prozess laufen, können auch den ganzen Prozess abschießen.

Aber im Gegensatz zu ADTF2 gibt es auch einfach verwendbare IPC Mechanismen (z.b. https://support.digitalwerk.net/adtf/v3/adtf_html/page_ipc_host_only_plugin.html#section_host_only_ipc_sink und https://support.digitalwerk.net/adtf/v3/adtf_html/page_ipc_host_only_plugin.html#section_host_only_ipc_source) mit denen das von dir beschriebene Szenario mit der Aufteilung in mehrere Prozesse recht einfach möglich ist. Eine Beispiel Session findest Du unter https://support.digitalwerk.net/adtf/v3/adtf_html/page_demo_ipc_sessions.html

Bleibt nur noch das Problem des Managements der ADTF Prozesse (starten/stoppen etc.). Hier gibt es leider keine Komplettlösung, aber da bei ADTF 3 jeder adtf_launcher Prozess sowieso nur über RPC gesteuert wird, kann man das selbst, z.b. mit dem adtf_control handhaben und an den eigenen Use-Case anpassen.

Was in Zukunft die Lösung für so ein verteiltes System sein wird, ist ADTF mit FEP integration (https://support.digitalwerk.net/adtf/v3_fep_integration_preview/guides/fep3_integration_prologue.html). Hier können dann mehrere ADTF Instanzen als FEP Participants gemeinsam in einem FEP System gesteuert werden und auch über FEP Daten austauschen. Das ist zwar schon weit gediehen, aber leider noch nicht öffentlich verfügbar.

Ich hoffe das hilft Dir fürs erste, bitte melde Dich mit weiteren Fragen gerne wieder!

Grüße,

Martin

Actions #3

Updated by hidden over 3 years ago

  • Status changed from In Progress to To Be Closed
  • Resolution set to No Customer Feedback
  • Platform Windows 10 64bit added
Actions #4

Updated by hidden over 3 years ago

  • Subject changed from Desgintechniken für Stabilitätsverhalten in ADTF 3 to Design techniques for stability behavior in ADTF 3
  • Description updated (diff)
Actions #5

Updated by hidden over 3 years ago

  • Project changed from 5 to Public Support
  • Status changed from To Be Closed to Closed
  • Private changed from Yes to No

Vor dem Schließen möchte ich noch ergänzen, dass wir im ADTF 3 (Filter) SDK Exceptions fangen, d.h. die Fehlerbehandlung ist weitaus besser als zu ADTF 2.x Zeiten und sollte dann zumindest eine entsprechende Meldung ausgeben, als dass das System abstürzt. Wir sind zudem weiter bestrebt noch stabiler dahingehend zu werden und bei der Fehlersuche zu unterstützen.

Um getrennte Use Cases (Visualsierung und Recording) sicher voneinander zu trennen, sollte in #12113#note-2 alles gesagt sein.

Actions

Also available in: Atom PDF