Namensraum Isom.Plan.TherapyPlan
Beschreibung
Der Therapieplan beschreibt die Software-Reparatur eines Fahrzeugs. Er ist aus den Aktionen zusammengesetzt, die erforderlich sind, um das Fahrzeug aus dem Ist-Zustand in den Soll-Zustand zu überführen. Der Therapieplan gibt dabei keine fachliche Ausführungsreihenfolge vor. Die Ausführungsreihenfolge wird bei der Berechnung des Aktionsplans bestimmt.
Die einzige Instanz des Therapieplans enthält zu jedem Zeitpunkt den aktuell vorliegenden Therapieplan. Die Aktionen werden hinzugefügt durch
- die Logistik
- den Serviceautor
- den Servicetechniker (Werkstatt-Personal)
Der Therapieplan entsteht in den Phasen 6 bis 8 des ISOM-Phasenmodell. In Phase 6 wird der native Therapieplan berechnet. Dazu wird der Einsprungspunkt GeneratePlan aufgerufen. In Phase 7 kann der Therapieplan manuell bearbeitet werden. Dabei werden die Einsprungspunkte AddActionManually und RemoveActionManually aufgerufen. In Phase 8 wird der finale Therapieplan berechnet. Dazu wird der Einsprungspunkt CalculateFinalPlan aufgerufen.
Funktionen
|
Isom.Plan.TherapyPlan.Add |
Fügt eine Aktion am Ende des Therapieplan ein.
Fügt eine Aktion am Ende des Therapieplan ein.
Das erfolgreiche Hinzufügen bewirkt, dass der Therapieplan danach einen zusätzlichen Knoten mit der Aktion enthält. Bei erfolglosen Einfügeversuchen (return false
) bleibt der Therapieplan unverändert.
Die für den Aktionsnamen definierte Filterfunktion wird angewendet. In dieser Filterfunktion kann wiederum TherapyPlan.Add(TherapyPlanAction) aufgerufen werden, d.h. es wird hierarchisch gefiltert.
ISOM erkennt beim hierarchischen Filtern Rekursionen (eine Filterfunktion fügt direkt oder indirekt über mehrere Filteraufruf- Stufen die als Argument übergebene Aktion ein). In diesem Fall wird diese Einfügeoperation ohne rekursiven Filteraufruf durchgeführt (Rekursionsabbruch). Das direkte Einfügen ist dabei ein Normalfall. Bei indirekten Rekursionen wird über die Ereignisaufzeichnung eine Warnung generiert aber normal weitergearbeitet.
-
Zu beachten:
- Diese Funktion sollte ausschließlich in ISOM/L-Programmen - insbesondere Filterfunktionen - aufgerufen werden. Für Aktionen, die als manuell hinzugefügt gelten sollen, ist stattdessen der Einsprungspunkt AddActionManually zu verwenden.
-
Achtung:
- Eine Aktion ist erst dann im Therapieplan enthalten, nachdem ihre Filterfunktion erfolgreich ausgeführt wurde.
-
Benachrichtigungen
- Wenn die Aktion zum Plan hinzugefügt wurde, sendet ISOM eine Benachrichtigung an die steuernde Anwendung. Die Benachrichtigung kann z.B. eine Aktualisierung der Darstellungen des Steuergerätebaums und der Aktionsliste auslösen.
-
Parameter:
-
|
action
|
die hinzuzufügende Aktion |
-
Rückgabe:
-
Isom.Base.Boolean
true
nach erfolgreichem Einfügen, false
sonst.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.AddMessage |
Fügt eine Therapie-begleitende Nachricht hinzu.
Fügt eine Therapie-begleitende Nachricht hinzu.
Die Nachrichten können z.B. der Anzeige im Abschlussbericht dienen.
-
Achtung:
- Der Aufruf kann _nicht_ durch
TherapyPlan.GetInstance ().GetAllMessages().Add(...)
ersetzt werden, weil hier zusätzlich eine Client-Interaktion notwendig ist und GetAllMessages()
jedesmal ein neu erzeugtes Objekt liefert.
-
Zu beachten:
- Die Einordnung und Interpretation der IDs obliegt der steuernden Anwendung.
-
Siehe auch:
-
Isom.Plan.TherapyPlan.RemoveMessage()
-
Isom.Plan.TherapyPlan.GetAllMessages()
-
Benachrichtigungen
- Wenn Nachrichten zum Plan hinzugefügt wurden, sendet ISOM eine Benachrichtigung an die steuernde Anwendung.
-
Parameter:
-
|
id
|
technische ID für die Nachricht (nicht übersetzbar) |
|
message
|
Text der Nachricht (übersetzbar) |
-
Rückgabe:
-
Isom.Base.Boolean
false
derzeit nie, true
wenn erfolgreich hinzugefügt (derzeit immer).
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls die ID oder die Nachricht Void oder die ID leer ist.
- Es wird das Void-Objekt zurückgegeben, falls die ID bereits existiert.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.Clone |
Erzeugt einen neuen Verweis auf das einzige Objekt des Therapieplans.
Erzeugt einen neuen Verweis auf das einzige Objekt des Therapieplans.
-
Achtung:
- Da es vom Therapieplan nur eine Instanz gibt, erhält man hier nur einen zweiten Verweis auf das gleiche darunterliegende Objekt.
-
Rückgabe:
-
Isom.Plan.TherapyPlan
Das geklonte Objekt.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.ContainsAction |
Prüft, ob eine bestimmte Aktion im Therapieplan enthalten ist.
Prüft, ob eine bestimmte Aktion im Therapieplan enthalten ist.
Es wird geprüft, ob mindestens ein Element im Therapieplan mit der angegebenen Aktion in allen gesetzten Eigenschaften übereinstimmt. D.h. es werden nur die Eigenschaften geprüft, die im Parameter actionTemplate auch gesetzt sind.
Es werden sowohl reale Aktionen als auch virtuelle Aktionen (vgl. TherapyPlan.GetActions()) berücksichtigt.
-
Parameter:
-
|
actionTemplate
|
die zu suchende Aktion |
-
Rückgabe:
-
Isom.Base.Boolean
Die erzeugte Aktion
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls actionTemplate.IsVoid() gilt.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.CreateAction |
Erzeugt eine nicht Steuergeräte-bezogene Aktion.
Erzeugt eine nicht Steuergeräte-bezogene Aktion.
Eine nicht Steuergeräte-bezogene Aktion wirkt entweder auf mehrere Steuergeräte oder auf kein Steuergerät oder auf das Gesamtfahrzeug.
-
Zu beachten:
- Die Aktion wird nicht automatisch zum Therapieplan hinzugefügt, dafür ist TherapyPlan.Add(TherapyPlanAction) explizit aufzurufen.
-
Parameter:
-
-
Rückgabe:
-
Isom.Plan.TherapyPlanAction
Die erzeugte Aktion
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls der Aktionsname leer oder Void ist.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.CreateEcuAction |
Erzeugt eine Steuergeräte-bezogene Aktion.
Erzeugt eine Steuergeräte-bezogene Aktion.
Eine Steuergeräte-bezogene Aktion wirkt ausschließlich auf ein Steuergerät. Hier wird das Steuergerät über ein (partiell) befülltes Ecu-Fachobjekt vorgegeben.
-
Zu beachten:
- Die Aktion wird nicht automatisch zum Therapieplan hinzugefügt, dafür ist TherapyPlan.Add(TherapyPlanAction) explizit aufzurufen.
-
Parameter:
-
|
actionName
|
Aktionsname |
|
ecu
|
Das Steuergerät, auf das sich die Aktion bezieht. |
-
Rückgabe:
-
Isom.Plan.TherapyPlanAction
Die erzeugte Aktion
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls der Aktionsname leer oder Void ist.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.CreateEcuGroupAction |
Erzeugt eine Steuergeräte-bezogene Aktion.
Erzeugt eine Steuergeräte-bezogene Aktion.
Eine Steuergeräte-bezogene Aktion wirkt ausschließlich auf ein Steuergerät. Hier wird das Steuergerät über einen Diagnosegruppennamen vorgegeben.
Wenn ein passendes Ecu-Objekt bereits in der Steuergeräteliste des Ist-Zustands existiert, wird dieses verwendet. Ansonsten wird ein neues Ecu-Objekt erzeugt, das lediglich die gruppenbezogenen Informationen aus der ISOM-Fahrzeugbeschreibung enthält und nicht automatisch zum Ist-Zustand hinzugefügt wird.
-
Zu beachten:
- Die Aktion wird nicht automatisch zum Therapieplan hinzugefügt, dafür ist TherapyPlan.Add(TherapyPlanAction) explizit aufzurufen.
-
Parameter:
-
|
actionName
|
Aktionsname |
|
diagGroup
|
Aktionsname |
-
Rückgabe:
-
Isom.Plan.TherapyPlanAction
Die erzeugte Aktion
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls der Aktionsname leer oder Void ist.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.CreateOrderingAction |
Erzeugt eine Steuergeräte-bezogene Aktion mit Bestellinformation.
Erzeugt eine Steuergeräte-bezogene Aktion mit Bestellinformation.
Eine Steuergeräte-bezogene Aktion wirkt ausschließlich auf ein Steuergerät. Hier wird das Steuergerät wie in der Funktion CreateEcuAction() über ein (partiell) befülltes Ecu-Fachobjekt vorgegeben.
Die Aktion wird mit
-
Zu beachten:
- Die Aktion wird nicht automatisch zum Therapieplan hinzugefügt, dafür ist TherapyPlan.Add(TherapyPlanAction) explizit aufzurufen.
-
Parameter:
-
|
actionName
|
Aktionsname |
|
ecu
|
Das Steuergerät, auf das sich die zu bestellende Einheit bezieht. |
|
orderingAlternatives
|
Bestellinformationen |
-
Rückgabe:
-
Isom.Plan.TherapyPlanAction
Die erzeugte Aktion
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.GetActions |
Ermittelt alle Aktionen des Therapieplans.
Ermittelt alle Aktionen des Therapieplans.
Die Liste enthält alle Aktionen (inkl. virtueller Aktionen) im Therapieplan. Virtuelle Aktionen sind nicht-Blatt-Knoten im Therapieplan, z.B. Aktionen, die an Filterfunktionen übergeben wurden.
Aktionen, die von anderen Aktionen verdeckt werden, sind hingegen nicht in der Liste enthalten.
Ebenso nicht zurückgegeben werden
- Aktionen, die an anderer Stelle neu geplant (Rescheduled) wurden,
- Aktionen, die explizit entfert (Purged) wurden sowie
- Teilpläne, die nur permanent ausgeblendete (Purged) Aktionen enthalten.
Die Reihenfolge entspricht der Einfügereihenfolge in den Therapieplan.
-
Zu beachten:
- Die zurückgegebene Liste umfasst neben Aktionen, welche schon endgültig im Therapieplan enthalten sind, auch die Aktionen, die im Rahmen der aktuell aktiven Filteraufruf-Hierarchie gerade eingefügt werden (z.B. die nativen Aktionen während des Aufrufs von FilterNativePlan()).
-
Siehe auch:
-
Isom.Plan.TherapyPlan.GetDeclinedActions() für abgelehnte Aktionen
-
Rückgabe:
-
Isom.Plan.TherapyPlanActionList
Liste aller enthaltenen Aktionen (inkl. virtueller)
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.GetAllMessages |
Ermittelt die Liste aller Therapie-begleitenden Nachrichten (z.B.
|
Isom.Plan.TherapyPlan.GetDeclinedActions |
Ermittelt Aktionen, die von der Logistik abgelehnt wurden.
Ermittelt Aktionen, die von der Logistik abgelehnt wurden.
Es werden alle Aktionen zurückgegeben, die von der Logistik abgelehnt und somit nicht in den Therapieplan übernommen wurden.
-
Zu beachten:
- Die Funktionalität wird nur von einigen externen Ausführungssystemen unterstützt. Auf anderen Systemen wird eine leere Liste oder Void zurückgegeben.
-
Siehe auch:
-
Isom.Plan.TherapyPlan.GetActions() für effektiv geplante Aktionen
-
Rückgabe:
-
Isom.Plan.TherapyPlanActionList
Abgelehnte Aktionen
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls der Therapieplan noch keinen Logistikplan enthält (d.h. wenn noch kein Logistikplan berechnet ist).
- Es wird das Void-Objekt zurückgegeben, falls der Fachdienst keine Liste abgelehnter Aktionen geliefert hat.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.GetEditableActions |
Ermittelt alle nicht Steuergeräte-bezogenen Aktionen, die vom Autor als [EditableAction(...)] markiert wurden.
Ermittelt alle nicht Steuergeräte-bezogenen Aktionen, die vom Autor als [EditableAction(...)] markiert wurden.
-
Zu beachten:
- Die Steuergeräte-bezogenen Aktionen lassen sich über Ecu.GetEditableActions() ermitteln.
- Die Sichtbarkeit kann über TherapyPlanAction.IsVisibleAsEditableAction() ermittelt werden.
-
Rückgabe:
-
Isom.Plan.TherapyPlanActionList
Liste aller nicht Steuergeräte-bezogenen hinzufügbaren Aktionen.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.GetFilterChainActions |
Ermittelt die Filter-Folge der aktuellen Einfügeoperation vom First-Level-Element bis zum aktuell einzufügenden Element.
Ermittelt die Filter-Folge der aktuellen Einfügeoperation vom First-Level-Element bis zum aktuell einzufügenden Element.
Die Filter-Folge entspricht der Folge von der "oberen" virtuellen Aktionen entlang des aktuell bearbeiteten Teilbaums gemäß der Einfügereihenfolge in den Therapieplan.
Das Wurzel-Element des Therapieplan namens "TherapyPlan" ist in der Filter-Folge nicht enthalten.
-
Zu beachten:
- Die Funktion ist nur innerhalb einer Aufrufhierarchie von FilterFunktionen sinnvoll.
-
Siehe auch:
-
Isom.Plan.TherapyPlan.GetActions()
-
Rückgabe:
-
Isom.Plan.TherapyPlanActionList
Filterkette
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls im Ausführungsfaden keine Filterhierarchie ermittelbar ist.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.GetInstance |
Ermittelt den singulären, für diese ISOM-Sitzung gültigen Therapieplan.
Ermittelt den singulären, für diese ISOM-Sitzung gültigen Therapieplan.
-
Rückgabe:
-
Isom.Plan.TherapyPlan
Der für diese ISOM-Sitzung singuläre Therapieplan.
-
Datum:
- letzte Änderung am 26.04.2010
|
Isom.Plan.TherapyPlan.GetMissingFiles |
Überprüft, ob zu allen Aktionen des Therapieplans die erforderlichen Steuergerätedaten vorhanden sind.
Überprüft, ob zu allen Aktionen des Therapieplans die erforderlichen Steuergerätedaten vorhanden sind.
-
Verwendungsbeispiel:
using Isom.Plan.*;
...
TherapyPlan tp = TherapyPlan.GetInstance();
tp.GetMissingFiles();
TherapyPlanActionList actions = tp.GetActions();
actions.Reset();
while (actions.HasNext())
{
TherapyPlanAction tpa = actions.Next();
String missingSwu = tpa.GetProp("Swu:Missing");
if (missingSwu.Equals("").Not())
{
}
}
...
-
Rückgabe:
-
Isom.Base.Boolean
true
im Erfolgsfall, false
sonst.
|
Isom.Plan.TherapyPlan.IsLogisticsConsistent |
Prüft, ob alle benötigten Logistikdaten vorhanden sind.
Prüft, ob alle benötigten Logistikdaten vorhanden sind.
Für alle Aktionen im Therapieplan wird geprüft
- ob Logistikdaten benötigt werden
- und wenn ja, ob die Logistikdaten bereits ermittelt wurden.
-
Zu beachten:
- Der Aufruf ist logisch äquivalent zu
TherapyPlan.GetInstance().At(0).IsLogisticsConsistent()
-
Siehe auch:
-
Isom.Plan.TherapyPlanAction.IsLogisticsConsistent()
-
Rückgabe:
-
Isom.Base.Boolean
false
für mind. eine Logistik-relevante Aktion liegen die benötigten Logistikdaten nicht vor, true
für alle Logistik-relevanten Aktionen sind die Logistikdaten vorhanden oder es existieren keine logistikrelevanten Aktionen.
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls während der Ermittlung der Logistikrelevanz technische Fehler auftreten.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.IsVoid |
Bestimmt, ob es sich um das Void-Objekt handelt.
Bestimmt, ob es sich um das Void-Objekt handelt.
-
Rückgabe:
-
Isom.Base.Boolean
true
, falls dies das Void-Objekt ist, false
sonst.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.ReevaluateDataAvailability |
Neubewertung der Datenverfügbarkeit aller Aktionen.
Neubewertung der Datenverfügbarkeit aller Aktionen.
Bewertet die Datenverfügbarkeit aller mit den Aktionen im Therapieplan assoziierten Dateneinheiten neu.
-
Rückgabe:
-
Isom.Base.Boolean
true
im Erfolgsfall, false
sonst.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.Remove |
Enfernt eine Aktion aus dem Therapieplan.
Enfernt eine Aktion aus dem Therapieplan.
Es werden alle unabhängigen Vorkommen der angegebenen Aktion entfernt, d.h. alle Vorkommen, die direkt in den Therapieplan eingefügt wurden. Ist die angegebene Aktion dagegen von einer weiteren Aktion (durch deren Filterfunktion) als Abhängigkeit hinzugefügt worden, dann wird sie nicht entfernt. Bei erfolglosen Entfernversuchen (return false
) bleibt der Therapieplan unverändert.
-
Zu beachten:
- Diese Funktion sollte ausschließlich in ISOM/L-Programmen verwendet werden, z.B. in Einsprungspunkten. Für Aktionen, die als manuell hinzugefügt wurden, ist stattdessen der Einsprungspunkt RemoveActionManually zu verwenden.
-
Achtung:
- Eine Aktion ist erst dann im Therapieplan enthalten, nachdem ihre Filterfunktion erfolgreich ausgeführt wurde. Es ist daher nicht möglich, eine Aktion innerhalb der eigenen Filterfunktion mit Remove wieder zu entfernen. Stattdessen sollte die Filterfunktion in diesem Fall
false
zurückgeben.
-
Benachrichtigungen
- Wenn die Aktion aus Plan entfernt wurde, sendet ISOM eine Benachrichtigung an die steuernde Anwendung. Die Benachrichtigung kann z.B. eine Aktualisierung der Darstellungen des Steuergerätebaums und der Aktionsliste auslösen.
-
Parameter:
-
|
action
|
die zu entfernende Aktion |
-
Rückgabe:
-
Isom.Base.Boolean
true
nach erfolgreichem Entfernen, false
sonst.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.RemoveMessage |
Entfernt eine Therapie-begleitende Nachricht von der Anzeige im Abschlussbericht.
Entfernt eine Therapie-begleitende Nachricht von der Anzeige im Abschlussbericht.
-
Siehe auch:
-
Isom.Plan.TherapyPlan.AddMessage()
-
Isom.Plan.TherapyPlan.GetAllMessages()
-
Benachrichtigungen
- Wenn Nachrichten vom Plan entfernt wurden, sendet ISOM eine Benachrichtigung an die steuernde Anwendung.
-
Parameter:
-
|
id
|
technische ID für die Nachricht (nicht übersetzbar) |
-
Rückgabe:
-
Isom.Base.Boolean
false
derzeit nie, true
wenn erfolgreich entfernt (derzeit immer).
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls die ID Void ist.
- Es wird das Void-Objekt zurückgegeben, falls die ID noch nicht existiert.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.RestoreNativePlan |
Ersetzt den aktuellen Therapieplan durch den nativen Therapieplan.
Ersetzt den aktuellen Therapieplan durch den nativen Therapieplan.
Diese Funktion entfernt (ersatzlos) alles aus dem Therapieplan außer dem Knoten des nativen Therapieplans. Von den Aktionen des nativen Therapieplans werden alle "Purged"- Markierungen durch Zustandswechsel auf den Initialzustand 'Isom.Execution.ToDo' entfernt.
Bei erfolglosen Entfernversuchen (return 'Void') bleibt der Therapiebaum unverändert.
-
Benachrichtigungen
- Wenn Aktionen aus Plan entfernt oder zum Plan hinzugefügt wurden, sendet ISOM Benachrichtigungen an die steuernde Anwendung. Auch wenn Aktionen ihren Zustand ändern, werden Benachrichtigungen gesendet. Die Benachrichtigungen können z.B. eine Aktualisierung der Darstellungen des Steuergerätebaums und der Aktionsliste auslösen.
-
Rückgabe:
-
Isom.Base.Boolean
true
wenn mindestens ein Element geändert (entfernt oder Zustandswechsel), false
sonst.
-
Ausnahmebehandlung:
- Es wird das Void-Objekt zurückgegeben, falls kein nativer Therapieplan existiert. Der Therapieplan dann bleibt unverändert.
-
Datum:
- letzte Änderung am 04.05.2010
|
Isom.Plan.TherapyPlan.Void |
Erzeugt ein ungültiges Objekt.
Erzeugt ein ungültiges Objekt.
Die Funktion kann in Fehlerfällen verwendet werden, um z.B. einen ungültigen Funktionsrückgabewert zu erzeugen.
-
Rückgabe:
-
Isom.Plan.TherapyPlan
Ungültiges Objekt.
-
Datum:
- letzte Änderung am 04.05.2010