Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR SELECTING A PLURALITY OF PROGRAM FUNCTIONS, METHOD FOR SELECTING A PROGRAM FUNCTION, ASSOCIATED APPARATUSES AND ASSOCIATED VEHICLE, SHIP OR AIRCRAFT
Document Type and Number:
WIPO Patent Application WO/2015/124234
Kind Code:
A1
Abstract:
The explanation relates, inter alia, to a method for selecting a plurality of program functions (APFa, APFb) for the provision of repeatedly implemented functions, particularly in a vehicle (10), ship or in an aircraft: wherein ascertained first single performance values (X) and recorded first dependencies (A) are used to ascertain or to compute a first total performance value (y1), wherein ascertained second single performance values (X) and recorded second dependencies (A) are used to ascertain or to compute a second total performance value (y2), wherein a cluster performance value (z1a, z1b) is ascertained from the first total performance value (y1) and from the second total performance value (y2), and wherein the cluster performance value (z1a, zlb) or at least one value ascertained or computed therefrom is used for the selection of the program functions (APFa, APFb) or of other program functions (APFb) for the provision of the repeatedly implemented functions.

Inventors:
ARMBRUSTER MICHAEL (DE)
ZIRKLER ANDREAS (DE)
Application Number:
PCT/EP2014/078018
Publication Date:
August 27, 2015
Filing Date:
December 16, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
International Classes:
G05B19/042; G05B23/02; G06F11/20
Other References:
REICHEL, R., ARMBRUSTER, M.: "X-by-Wire Plattform - Konzept und Auslegung", AT - AUTOMATISIERUNGSTECHNIK, vol. 59, no. 9, 2 September 2011 (2011-09-02), pages 583 - 596, XP002737492
LI, X.J., BIN, G.F., DHILLON, B.S.: "Model to evaluate the state of mechanical equipment based on health value", MECHANISM AND MACHINE THEORY, vol. 46, no. 3, 14 December 2010 (2010-12-14), pages 305-311, XP002737493
ARMBRUSTER; LEHMANN; REICHEL; ZIMMER; TJADEN; OSTERTAG; WERNER: "X-by-Wire platform design-approach: Functionality, Safety and Design", EUROPEAN AUTOMOTIVE SAFETY, FRANKFURT, 2007
MICHAEL ARMBRUSTER: "Eine fahrzeugübergreifende X-by-Wire Plattform zur Ausführung umfassender Fahr- und Assistenzfunktionen, Institut für Luftfahrtsysteme der Universität Stuttgart", DISSERTATION, 2009
Download PDF:
Claims:
Ansprüche

1. Verfahren zum Auswählen mehrerer Programmfunktionen (APFa, APFb) für das Erbringen von mehrfach realisierten Funktionen, insbesondere in einem Fahrzeug (10), Schiff oder in einem Flugzeug,

wobei erste Abhängigkeiten (A) vermerkt werden oder worden sind zwischen Einzelleistungswerten (DegO, Degl) für Funkti¬ onseinheiten (16, 20, 22, M, APF) , die beim Ausführen einer ersten Programmfunktion (APFa) verwendet werden, und Gesamt¬ leistungswerten (p) , die für mehrfach realisierte Funktionen festgelegt worden sind,

wobei zweite Abhängigkeiten (A) vermerkt werden oder worden sind zwischen Einzelleistungswerten (DegO, Degl) für Funkti- onseinheiten (16, 20, 22, M, APF), die beim Ausführen einer zweiten Programmfunktion (APFb) verwendet werden, und den festgelegten Gesamtleistungswerten (p) ,

wobei aktuelle erste Einzelleistungswerte (X) der Funktions¬ einheiten (16, 20, 22, M, APF) der ersten Programmfunktion (AFPa) ermittelt werden,

wobei aktuelle zweite Einzelleistungswerte (X) der Funktions¬ einheiten (16, 20, 22, M, APF) der zweiten Programmfunktion (AFPb) ermittelt werden,

wobei die ermittelten ersten Einzelleistungswerte (X) und die vermerkten ersten Abhängigkeiten (A) zur Ermittlung oder zur Berechnung eines ersten Gesamtleistungswertes (yl) verwendet werden,

wobei die ermittelten zweiten Einzelleistungswerte (X) und die vermerkten zweiten Abhängigkeiten (A) zur Ermittlung oder zur Berechnung eines zweiten Gesamtleistungswertes (y2) ver¬ wendet werden,

wobei aus dem ersten Gesamtleistungswert (yl) und aus dem zweiten Gesamtleistungswert (y2) ein Clusterleistungswert (zla, zlb) ermittelt wird,

und wobei der Clusterleistungswert (zla, zlb) oder mindestens ein daraus ermittelter oder berechneter Wert für die Auswahl der Programmfunktionen (APFa, APFb) oder anderer Programm- funktionen für das Erbringen der mehrfach realisierten Funk¬ tionen verwendet wird.

2. Verfahren zum Auswählen einer Programmfunktion (APFa, APFb) für das Erbringen einer mehrfach realisierten Funktion (54, 56), insbesondere in einem Fahrzeug (10), Schiff oder in einem Flugzeug,

wobei Abhängigkeiten (A) vermerkt werden oder worden sind zwischen Einzelleistungswerten (DegO, Degl) für Funktionsein- heiten (16, 20, 22, M, APF) , die beim Ausführen der Programm¬ funktion (APFa, APFb) verwendet werden, und Gesamtleistungs¬ werten (p) , die für eine mehrfach realisierte Funktion (54, 56) festgelegt worden sind,

wobei aktuelle Einzelleistungswerte (X) der Funktionseinhei- ten (16, 20, 22, M, APF) ermittelt werden,

wobei die ermittelten Einzelleistungswerte (X) und die ver¬ merkten Abhängigkeiten (A) zur Ermittlung oder zur Berechnung eines Gesamtleistungswertes (y) für die Funktionseinheiten (16, 20, 22, M, APF) verwendet werden,

und wobei der Gesamtleistungswert (y) oder mindestens ein da¬ raus ermittelter oder berechneter Wert für die Auswahl der Programmfunktion (APFa) oder einer anderen Programmfunktion (APFb) für das Erbringen der mehrfach realisierten Funktion (54, 56) verwendet wird.

3. Verfahren nach Anspruch 1 oder 2, wobei die Abhängigkeiten in einer Matrix (A) vermerkt werden,

wobei vorzugsweise die Zeilen (170a bis 186a) der Matrix (A) den Gesamtleistungswerten (p) und die Spalten (156a bis 166a) der Matrix (A) den Einzelleistungswerten (DegO, Degl) zuge¬ ordnet sind,

oder wobei vorzugsweise die Spalten der Matrix (A) den Ge¬ samtleistungswerten (p) und die Zeilen der Matrix (A) den Einzelleistungswerten (DegO, Degl) zugeordnet sind,

wobei die Matrix (A) vorzugsweise nur zwei voneinander ver¬ schiedene Werte enthält, insbesondere die Werte 0 und 1, wobei vorzugsweise für mindestens einen Gesamtleistungswert mindesten zwei Zeilen (172bl, 172b2) der Matrix (A) oder min¬ destens zwei Spalten der Matrix (A) vorgesehen sind,

insbesondere um ODER-Verknüpfungen darzustellen und/oder um Zustände von Funktionseinheiten (16, 20, 22, M, APF) zu be¬ rücksichtigen, auf die es für den betreffenden Gesamtleis¬ tungswert ankommt .

4. Verfahren nach einem der vorhergehenden Ansprüche, wobei mehrere Klassen (ID) von Funktionseinheiten (16, 20, 22, M, APF) festgelegt werden, deren Einzelleistungswerte (DegO, Degl) eine klassenspezifische Bedeutung haben,

und wobei vorzugsweise mindestens zwei Funktionseinheiten (16, 20, 22, M, APF) der Funktion (54, 56) zu derselben Klas- se (ID) gehören,

und/oder wobei vorzugsweise mindestens zwei Funktionseinhei¬ ten (16, 20, 22, M, APF) der Funktion (54, 56) zu voneinander verschiedenen Klassen (ID) gehören,

wobei die Klassen (ID) vorzugsweise beruhend auf mindestens einem, mindestens zwei oder auf allen der folgenden Redun¬ danzmerkmale festgelegt werden oder festgelegt worden sind: keine Redundanz einer Funktionseinheit (16, 20, 22, M, APF) oder Redundanz durch mehrfach vorgesehenen Funktionseinheiten (16, 20, 22, M, APF),

keine Werteredundanz oder Werteredundanz bezogen auf eine Funktionseinheit (16, 20, 22, M, APF),

keine Kommunikationsredundanz, insbesondere Kommunikations¬ streckenredundanz, oder mehrfache Kommunikationsredundanz. 5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Gesamtleistungswerte (p) für mehrere oder für alle Funk¬ tionseinheiten (16, 20, 22, M, APF) gleichermaßen festgelegt werden oder festgelegt worden sind,

insbesondere unter Berücksichtigung der Auswirkung eines Fehlers hinsichtlich der Beeinträchtigung von Passagieren und/oder Fracht, und/oder des Unterschreitens einer Wartungsmission oder eines Wartungsintervalls ,

und/oder des Abbruchs einer Fahrt oder einer Fahrmission oder eines Fluges.

6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die aktuellen Einzelleistungswerte (DegO, Degl) in einer Mat¬ rix (X) oder in einem Vektor vermerkt werden,

wobei vorzugsweise diese Matrix (X) oder dieser Vektor nur zwei voneinander verschiedene Werte enthält, insbesondere die Werte 0 und 1.

7. Verfahren nach Anspruch 3 und Anspruch 6, wobei die Er¬ mittlung des Gesamtleistungswertes (y) durch Multiplikation der beiden Matrizen (A, X) oder durch Multiplikation der Mat¬ rix (A) und des Vektors erfolgt.

8. Verfahren nach Anspruch 7, wobei die Ermittlung des Ge¬ samtleistungswertes (y) unter Verwendung einer Berechnungs- funktion (556, 558) erfolgt, die für Werte kleiner oder un¬ gleich der Anzahl der Funktionseinheiten (16, 20, 22, M, APF) zu einem ersten Wert definiert ist, insbesondere zu 0, und die für einen Wert gleich dieser Anzahl zu einem zweiten Wert definiert ist, der sich von dem ersten Wert unterscheidet, insbesondere den Wert 1.

9. Verfahren nach Anspruch 8, wobei für die Ermittlung des Gesamtleistungswertes (y) ein Vektor (p) verwendet wird, in dem die Gesamtleistungswerte in Übereinstimmung mit den ver- merkten Abhängigkeiten (A) vermerkt sind,

wobei vorzugsweise dieser Vektor (p) und ein Vektor oder eine Matrix multipliziert werden, der oder die unter Anwenden der Berechnungsfunktion (556, 558) ermittelt worden ist,

und/oder wobei das Verfahren zyklisch ausgeführt wird, vor- zugsweise mit einer Zykluszeit kleiner als 50 Millisekunden.

10. Verfahren nach einem der vorhergehenden Ansprüche, wobei mindestens eine Funktionseinheit (16, 20, 22, M, APF) ein Netzknoten ist,

und/oder wobei mindestens eine Funktionseinheit die Programm- funktion (APF) selbst ist,

wobei insbesondere eine Funktion (54) für das Fahren vorgese¬ hen ist,

wobei vorzugsweise die Funktion (54) für das Fahren mindes¬ tens eine der folgenden Funktionseinheiten enthält,

- eine ein Fahrpedal (16) betreffende Funktion,

- mindestens eine oder mindestens zwei oder mindestens vier ein Rad (HR, HL) betreffende Funktionen (20, 22), die vor¬ zugsweise jeweils eine einen Antriebsmotor betreffende Funk¬ tion enthalten,

- ein das Fahren (APF) betreffendes Programm,

wobei insbesondere eine Funktion für das Bremsen vorgesehen ist ,

wobei vorzugsweise die Funktion für das Bremsen mindestens eine der folgenden Funktionseinheiten enthält,

- ein Aggregat zum Auslesen des Fahrerbremswunsches am Brems¬ pedal,

- ein Aggregat zur Ansteuerung der Bremshydraulik,

- vorzugsweise mindestens zwei Aggregate, elektrisch ange¬ triebenes Rad, welche auch zum Bremsen verwendet werden kön- nen,

- eine Programmfunktion mit der Aufgabe den vom Fahrer ge¬ wünschten Bremsbefehl in eine Soll-Bremsvorgabe für das Rad vorzugsweise hinten rechts oder vorzugsweise hinten links so¬ wie den Netzknoten zur Ansteuerung der Hydraulikbremse umzu- rechnen,

wobei insbesondere eine Funktion für das Lenken vorgesehen ist ,

wobei vorzugsweise die Funktion für das Lenken mindestens ei¬ ne der folgenden Funktionseinheiten enthält,

- Ansteuerung eines Lenkstellers und Ausgabe der Ist- Lenkposition,

- Auswertung des Soll-Lenkwinkels am Lenkrad, - Programmfunktion Stellervorgabe = f (Ist-Lenkwinkel, Soll- Lenkwinkel) ,

wobei insbesondere eine Funktion für eine Assistenzfunktion vorgesehen ist, insbesondere für ein ABS, für ein ESP oder für das vollautomatische Fahren.

11. Verfahren nach einem der vorhergehenden Ansprüche, wobei Clusterleistungswerte (564) für mehrere oder für alle Funkti¬ onen gleichermaßen festgelegt werden oder festgelegt worden sind,

wobei vorzugsweise mindestens eine, mindestens zwei oder alle der folgenden Klassen berücksichtigt werden:

wichtigste Funktion (54, 56) oder wichtigste Funktionen, zweitwichtigste Funktion oder zweitwichtigste Funktionen, weniger wichtige Funktion oder weniger wichtige Funktionen, insbesondere unter Berücksichtigung der Auswirkung eines Fehlers hinsichtlich der Beeinträchtigung von Passagieren und/oder Fracht,

und/oder des Unterschreitens einer Wartungsmission oder eines Wartungsintervalls,

und/oder des Abbruchs einer Fahrt oder Fahrmission oder eines Fluges .

12. Verfahren nach Anspruch 11, wobei ein Clusterleistungs- wert (564) für mehrere Funktionen eines Clusters ermittelt wird, insbesondere über Abfragen (560), vorzugsweise über WENN DANN Abfragen oder über CASE Abfragen.

13. Vorrichtung, insbesondere zum Ausführen eines Verfahrens nach einem der vorhergehenden Ansprüche,

mit einer Speichereinheit (Ml), in der erste Abhängigkeiten (A) vermerkt werden oder worden sind zwischen Einzelleis¬ tungswerten (DegO, Degl) für Funktionseinheiten (16, 20, 22, M, APF) , die beim Ausführen einer ersten Programmfunktion (APFa) verwendet werden, und Gesamtleistungswerten (p) , die für eine mehrfach realisierte Funktionen festgelegt worden sind, und in der zweite Abhängigkeiten (A) vermerkt werden oder worden sind zwischen Einzelleistungswerten (DegO, Degl) für Funktionseinheiten (16, 20, 22, M, APF) , die beim Ausführen einer zweiten Programmfunktion (APFb) verwendet werden, und den festgelegten Gesamtleistungswerten (p) ,

mit einer Ermittlungseinheit (P) , die aktuelle erste Einzel¬ leistungswerte (X) der Funktionseinheiten (16, 20, 22, M, APF) der ersten Programmfunktion (APFa) ermittelt und die ak¬ tuelle zweite Einzelleistungswerte (X) der Funktionseinheiten (16, 20, 22, M, APF) der zweiten Programmfunktion (APFb) er¬ mittelt ,

mit einer zweiten Ermittlungseinheit (P) , die die ermittelten ersten Einzelleistungswerte (X) und die vermerkten ersten Ab¬ hängigkeiten (A) zur Ermittlung oder zur Berechnung eines ersten Gesamtleistungswertes (yl) verwendet (702) und die die ermittelten zweiten Einzelleistungswerte (X) und die vermerk¬ ten zweiten Abhängigkeiten (A) zur Ermittlung oder zur Be¬ rechnung eines zweiten Gesamtleistungswertes (y2) verwendet (702) ,

und mit einer dritten Ermittlungseinheit (P) , die aus dem ersten Gesamtleistungswert (yl) und aus dem zweiten Gesamt¬ leistungswert (y2) einen Clusterleistungswert (zla, zlb) er¬ mittelt (706),

und mit einer Auswahleinheit (P) , die den Clusterleistungs- wert (zla, zlb) oder mindestens einen daraus ermittelten oder berechneten Wert für die Auswahl der ersten Programmfunktion (APFa) und der zweiten Programmfunktion (APFb) oder anderer Programmfunktionen für das Erbringen der mehrfach realisier¬ ten Funktionen verwendet.

14. Vorrichtung, insbesondere zum Ausführen eines Verfahrens nach einem der Ansprüche 1 bis 12,

mit einer Speichereinheit (Ml), in der Abhängigkeiten (A) vermerkt werden oder worden sind zwischen Einzelleistungswer- ten (DegO, Degl) für Funktionseinheiten (16, 20, 22, M, APF), die beim Ausführen einer Programmfunktion (APFa) verwendet werden, und Gesamtleistungswerten (p) , die für eine mehrfach realisierte Funktion (54, 56) festgelegt worden sind, mit einer Ermittlungseinheit (P) , die aktuelle Einzelleis¬ tungswerte (X) der Funktionseinheiten (16, 20, 22, M, APF) ermittelt,

mit einer weiteren Ermittlungseinheit (P) oder Berechnungs¬ einheit, die die ermittelten Einzelleistungswerte (X) und die vermerkten Abhängigkeiten (A) zur Ermittlung oder zur Berech¬ nung eines Gesamtleistungswertes (y) verwendet (702), und mit einer Auswahleinheit (P) , die den aktuellen Gesamt¬ leistungswert (y) oder mindestens einen daraus ermittelten oder berechneten Wert für die Auswahl der Programmfunktion (APFa) oder einer anderen Programmfunktion (APFb) für das Er¬ bringen der mehrfach realisierten Funktion (54, 56) verwen- det .

15. Fahrzeug (10), Schiff oder Flugzeug mit einer Vorrichtung nach Anspruch 13 oder 14.

Description:
Beschreibung

Verfahren zum Auswählen mehrerer Programmfunktionen, Verfah ¬ ren zum Auswählen einer Programmfunktion, zugehörige Vorrich ¬ tungen und zugehöriges Fahrzeug, Schiff oder Flugzeug

Die Erfindung bezieht sich u.a. auf ein Verfahren bzw. eine Vorrichtung zum Auswählen einer Programmfunktion für das Er ¬ bringen einer mehrfach realisierten Funktion, d.h. einer re ¬ dundant erbrachten Funktion. Es kann eine einfache Redundanz, d.h. zwei Funktionen, oder eine mehrfache Redundanz größer als Eins vorliegen. Die zueinander redundanten Funktionen können auf identische Art und Weise erbracht werden oder auf voneinander verschiedene Art und Weise, bspw. wenn eine re ¬ dundante Funktion nur eine Notfunktion gewährleisten soll.

Insbesondere im Zusammenhang mit autonomen Fahren haben re ¬ dundante Systeme eine große Bedeutung. Autonomes Fahren kommt sowohl für Elektrofahrzeuge, für Verbrennungsfahrzeuge als auch für Hybridfahrzeuge in Betracht. In der Luftfahrt gibt es das autonome Fliegen schon längere Zeit. Jedoch sind auch in der Luftfahrt noch Verbesserungen von redundanten Systemen möglich .

Für ein erfindungsgemäßes Verfahren zum Auswählen mehrerer Programmfunktionen für das Erbringen von mehrfach realisier ¬ ten Funktionen, insbesondere in einem Fahrzeug, Schiff oder in einem Flugzeug, kann gelten:

- wobei erste Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer ersten Programmfunktion verwendet wer ¬ den, und Gesamtleistungswerten, die für die mehrfach reali ¬ sierten Funktionen festgelegt worden sind,

- wobei zweite Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer zweiten Programmfunktion verwendet werden, und den festgelegten Gesamtleistungswerten, - wobei aktuelle erste Einzelleistungswerte der Funktionsein ¬ heiten der ersten Programmfunktion ermittelt werden,

- wobei aktuelle zweite Einzelleistungswerte der Funktions ¬ einheiten der zweiten Programmfunktion ermittelt werden, - wobei die ermittelten ersten Einzelleistungswerte und die vermerkten ersten Abhängigkeiten zur Ermittlung oder zur Be ¬ rechnung eines ersten Gesamtleistungswertes verwendet werden,

- wobei die ermittelten zweiten Einzelleistungswerte und die vermerkten zweiten Abhängigkeiten zur Ermittlung oder zur Be- rechnung eines zweiten Gesamtleistungswertes verwendet wer ¬ den,

- wobei aus dem ersten Gesamtleistungswert und aus dem zwei ¬ ten Gesamtleistungswert ein Clusterleistungswert ermittelt wird, und

- wobei der Clusterleistungswert oder mindestens ein daraus ermittelter oder berechneter Wert für die Auswahl der Pro ¬ grammfunktionen oder anderer Programmfunktionen für das Er ¬ bringen der mehrfach realisierten Funktionen verwendet wird. Die Erfindung betrifft ein Verfahren zum Auswählen einer Pro ¬ grammfunktion für das Erbringen einer mehrfach realisierten Funktion, insbesondere in einem Fahrzeug, Schiff oder in ei ¬ nem Flugzeug,

- wobei Abhängigkeiten vermerkt werden oder worden sind zwi- sehen Einzelleistungswerten für Funktionseinheiten (Aggre ¬ gat /Net zknoten) , die beim Ausführen der Programmfunktion ver ¬ wendet werden, und Gesamtleistungswerten, die für eine mehr ¬ fach realisierte Funktion festgelegt worden sind,

- wobei aktuelle Einzelleistungswerte der Funktionseinheiten ermittelt werden,

- wobei die ermittelten Einzelleistungswerte und die vermerk ¬ ten Abhängigkeiten zur Ermittlung oder zur Berechnung eines Gesamtleistungswertes verwendet werden,

- und wobei der Gesamtleistungswert oder mindestens ein da- raus ermittelter oder berechneter Wert für die Auswahl der

Programmfunktion oder einer anderen Programmfunktion für das Erbringen der mehrfach realisierten Funktion verwendet wird. Eine Vorrichtung, die insbesondere zum Ausführen eines oben genannten Verfahrens geeignet ist, kann enthalten:

- eine Speichereinheit, in der erste Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für

Funktionseinheiten, die beim Ausführen einer ersten Programm ¬ funktion verwendet werden, und Gesamtleistungswerten, die für mehrfach realisierte Funktionen festgelegt worden sind, und in der zweite Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer zweiten Programmfunktion verwendet werden, und den festgelegten Gesamtleistungswerten,

- eine Ermittlungseinheit, die aktuelle erste Einzelleis ¬ tungswerte der Funktionseinheiten der ersten Programmfunktion ermittelt und die aktuelle zweite Einzelleistungswerte der Funktionseinheiten der zweiten Programmfunktion ermittelt,

- eine zweite Ermittlungseinheit, die die ermittelten ersten Einzelleistungswerte und die vermerkten ersten Abhängigkeiten zur Ermittlung oder zur Berechnung eines ersten Gesamtleis- tungswertes verwendet und die die ermittelten zweiten Einzel ¬ leistungswerte und die vermerkten zweiten Abhängigkeiten zur Ermittlung oder zur Berechnung eines zweiten Gesamtleistungs ¬ wertes verwendet,

- eine dritte Ermittlungseinheit, die aus dem ersten Gesamt- leistungswert und aus dem zweiten Gesamtleistungswert einen

Clusterleistungswert ermittelt, und

- eine Auswahleinheit, die den Clusterleistungswert oder min ¬ destens einen daraus ermittelten oder berechneten Wert für die Auswahl der ersten Programmfunktion und der zweiten Pro- grammfunktion oder anderer Programmfunktionen für das Erbrin ¬ gen der mehrfach realisierten Funktionen verwendet.

Außerdem betrifft die Erfindung eine Vorrichtung, insbesonde ¬ re zum Ausführen des oben genannten Verfahrens,

- mit einer Speichereinheit, in der Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten (Aggregat /Net zknoten) , die beim Ausführen einer Programmfunktion verwendet werden, und Gesamtleistungs ¬ werten, die für eine mehrfach realisierte Funktion festgelegt worden sind,

- mit einer Ermittlungseinheit, die aktuelle Einzelleistungs- werte ermittelt,

- mit einer weiteren Ermittlungseinheit oder Berechnungsein ¬ heit, die die ermittelten Einzelleistungswerte und die ver ¬ merkten Abhängigkeiten zur Ermittlung oder zur Berechnung ei ¬ nes Gesamtleistungswertes verwendet,

- und mit einer Auswahleinheit, die den aktuellen Gesamtleis ¬ tungswert oder mindestens einen daraus ermittelten oder be ¬ rechneten Wert für die Auswahl der Programmfunktion oder ei ¬ ner anderen Programmfunktion für das Erbringen der mehrfach realisierten Funktion verwendet.

Die Erfindung betrifft weiterhin ein Fahrzeug, ein Schiff oder ein Flugzeug mit einer der oben erwähnten Vorrichtungen.

Es ist eine Aufgabe von Ausgestaltungen der Erfindung einfa- che Verfahren zum Auswählen mehrerer Programmfunktionen für das Erbringen von mehrfach realisierten Funktionen bzw. ein Verfahren zum Auswählen einer Programmfunktion für das Er ¬ bringen einer mehrfach realisierten Funktion anzugeben, die insbesondere auf einfache Art erweitert werden können. Außer- dem sollen zugehörige Vorrichtungen und zugehörige Fahrzeuge, Schiffe bzw. Flugzeuge angegeben werden.

Die auf das Verfahren bezogene Aufgabe wird durch das Verfah ¬ ren nach Anspruch 1 bzw. 2 gelöst. Weiterbildungen sind in den Unteransprüchen angegeben. Die auf die zugehörige Vor ¬ richtung bzw. die zugehörigen Transportmittel bezogenen Auf ¬ gaben werden durch die Gegenstände der nebengeordneten An ¬ sprüche gelöst. Für ein Verfahren zum Auswählen mehrerer Programmfunktionen für das Erbringen von mehrfach realisierten Funktionen, ins- besondere in einem Fahrzeug, Schiff oder in einem Flugzeug, kann gelten:

- wobei erste Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer ersten Programmfunktion verwendet wer ¬ den, was im Folgenden auch als Funktionseinheiten der Pro ¬ grammfunktion bzw. der Funktion bezeichnet wird, und Gesamt ¬ leistungswerten, die für die mehrfach realisierten Funktionen festgelegt worden sind,

- wobei zweite Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer zweiten Programmfunktion verwendet werden, und den festgelegten Gesamtleistungswerten,

- wobei aktuelle erste Einzelleistungswerte der Funktionsein- heiten der ersten Programmfunktion ermittelt werden,

- wobei aktuelle zweite Einzelleistungswerte der Funktions ¬ einheiten der zweiten Programmfunktion ermittelt werden,

- wobei die ermittelten ersten Einzelleistungswerte und die vermerkten ersten Abhängigkeiten zur Ermittlung oder zur Be- rechnung eines ersten Gesamtleistungswertes verwendet werden,

- wobei die ermittelten zweiten Einzelleistungswerte und die vermerkten zweiten Abhängigkeiten zur Ermittlung oder zur Be ¬ rechnung eines zweiten Gesamtleistungswertes verwendet wer ¬ den,

- wobei aus dem ersten Gesamtleistungswert und aus dem zwei ¬ ten Gesamtleistungswert ein Clusterleistungswert ermittelt wird, und

- wobei der Clusterleistungswert oder mindestens ein daraus ermittelter oder berechneter Wert für die Auswahl der Pro- grammfunktionen oder anderer Programmfunktionen für das Er ¬ bringen der mehrfach realisierten Funktionen verwendet wird.

Der Cluster enthält somit mehrere Funktionen. Im Gegensatz zu der Durchführung des Verfahrens ohne Clusterung führt die Clusterung dazu, das der Berechnungsaufwand erheblich sinkt und somit Rechenzeit eingespart wird. Damit kann das Verfah- ren zyklisch innerhalb einer Zeit kleiner als 50 ms durchge ¬ führt werden, auch wenn es mehrere Funktionen betrifft.

Bei einem alternativen Verfahren zum Auswählen einer Pro- grammfunktion für das Erbringen einer mehrfach realisierten Funktion, insbesondere in einem Fahrzeug, Schiff oder in ei ¬ nem Flugzeug, können:

- Abhängigkeiten vermerkt werden oder vermerkt worden zwi ¬ schen Einzelleistungswerten für Funktionseinheiten (Aggre- gat /Net zknoten) , die beim Ausführen der Programmfunktion ver ¬ wendet werden, und Gesamtleistungswerten, die für die mehrfa ¬ che realisierte Funktion festgelegt worden sind,

- aktuelle Einzelleistungswerte der Funktionseinheiten (der Funktion bzw. der Programmfunktion) ermittelt werden,

- die ermittelten Einzelleistungswerte und die vermerkten Ab ¬ hängigkeiten zur Ermittlung oder zur Berechnung eines Gesamt ¬ leistungswertes für die Funktionseinheiten (der Funktion bzw. der Programmfunktion) verwendet werden, und

- der Gesamtleistungswert oder mindestens ein daraus ermit- telter oder berechneter Wert kann für die Auswahl der Pro ¬ grammfunktion bzw. der Funktion oder für die Auswahl einer anderen Programmfunktion bzw. einer anderen Funktion für das Erbringen der mehrfach realisierten Funktion verwendet wer ¬ den .

Damit kann das Verfahren bspw. auch ohne Clusterung durchge ¬ führt werden.

Die mehrfach realisierte Funktion wird bei beiden Alternati- ven demnach redundant erbracht. Die Abhängigkeiten können in einer Matrix oder auf andere Art und Weise vermerkt werden.

Der Gesamtleistungswert kann als y bezeichnet werden und ist vorzugsweise eine skalare Größe, die für einen einfachen Ver- gleich mit anderen skalaren Größen besonders geeignet ist. Durch die genannten Schritte kann also auf besonders einfache Art und Weise ein Gesamtleistungswert ermittelt werden, der die Auswahl von im Moment bevorzugt zu benutzenden Funktions ¬ einheiten in einer Master-Servant (Meister, Diener) bzw. Mas- ter-Slave (Meister, Sklave) Steuerung oder Regelung ermög ¬ licht, insbesondere an Hand von objektiven Kriterien. Insbe ¬ sondere können eine Vielzahl von verschiedenen Kriterien bei der Auswahl berücksichtigt werden. Indirekt können damit sol ¬ che Einheiten zurückgestellt werden, die stärker als andere Einheiten beeinträchtigt bzw. degradiert sind, bspw. auf Grund von kurzfristigen oder dauerhaften Störungen.

Die Programmfunktion kann Befehle enthalten, die durch einen Prozessor einer ersten DVA ausgeführt werden. Die Programm- funktion definiert sich auch dadurch, dass sie eine Einheit ist, auf die eine Master-Slave-Funktion angewandt werden kann, bspw. entweder alleinig oder gemeinsam mit anderen Pro ¬ grammfunktionen . Die Abhängigkeiten können in einer Matrix vermerkt werden. So können die Zeilen der Matrix den Gesamtleistungswerten und die Spalten der Matrix den Einzelleistungswerten zugeordnet werden. Alternativ können die Spalten der Matrix den Gesamt ¬ leistungswerten und die Zeilen der Matrix den Einzelleis- tungswerten zugeordnet werden oder worden sein. Eine Matrix ¬ anordnung ist eine sehr übersichtliche Form der Darstellung. Außerdem kann eine Berechnung mit Matrizen auf einfache Art und Weise implementiert werden, z.B. in einem Mikroprozessor, einem MikroController oder einer Recheneinheit, die keinen Prozessor bzw. Controller enthält, der Programmbefehle eines Programms abarbeitet.

Die Matrix kann bspw. nur zwei voneinander verschiedene Werte enthalten, insbesondere die Werte 0 und 1, was die Berechnung weiter vereinfacht und beschleunigt. Für mindestens einen Gesamtleistungswert können mindestens zwei Zeilen der Matrix oder mindestens zwei Spalten der Mat ¬ rix vorgesehen sein. So lassen sich ODER-Verknüpfungen auf einfache Weise in mehreren Zeilen darstellen. Alternativ oder zusätzlich können auch Zustände von Funktionseinheiten be ¬ rücksichtigt werden, auf die es für den betreffenden Gesamt ¬ leistungswert ankommt, d.h. insbesondere Permutationen von Zustandswerten für solche Funktionseinheiten. Es können mehrere Klassen von Funktionseinheiten festgelegt werden, deren Einzelleistungswerte eine klassenspezifische Bedeutung haben. Mindestens zwei Funktionseinheiten der Funk ¬ tion können zu derselben Klasse gehören. Alternativ oder zu ¬ sätzlich können mindestens zwei Funktionseinheiten der Funk- tion zu voneinander verschiedenen Klassen gehören.

Die Klassen können auf mindestens einem, mindestens zwei oder auf allen der folgenden Redundanzmerkmale beruhend festgelegt werden oder festgelegt worden sein:

- keine Redundanz einer Funktionseinheit oder Redundanz durch mehrfach vorgesehenen Funktionseinheiten, d.h. für diese Funktion gibt es nur die eine Funktionseinheit,

- keine Werteredundanz oder Werteredundanz bezogen auf eine Funktionseinheit, bspw. werden die Werte mehrmals ermittelt und auch mehrmals übertragen und/oder es werden mehrere zuei ¬ nander redundante Sensoren verwendet,

- keine Kommunikationsredundanz, insbesondere Kommunikations ¬ streckenredundanz, oder mehrfache Kommunikationsredundanz, insbesondere Kommunikationsstreckenredundanz .

Kommunikationsredundanz kann vorliegen, wenn es mehrere Über ¬ tragungsstrecken, gedoppelte Übertragungspakete oder Nach ¬ richten gibt. Durch diese Art des Festlegens der Klassen ist insbesondere eine einfache Erweiterbarkeit des Systems gegeben. Neue Funk ¬ tionseinheiten können in bereits festgelegte Klassen einge- ordnet werden. Damit kann die Funktion/Applikation durch Funktionseinheiten (Aggregat /Net zknoten) nachträglich erwei ¬ tert werden, bspw. über Plug und Play Konzepte, das heißt durch einfaches Anstecken. Auch kann eine Klasse bereits auf Grund einer vorhandenen Systematik bereits festgelegt werden, bevor Funktionseinheiten, die in diese Klasse gehören, in die Funktion eingefügt werden.

Die Gesamtleistungswerte für die Funktion können für mehrere oder für alle Funktionseinheiten gleichermaßen festgelegt werden oder festgelegt worden sein. Es kann mindestens eines der folgenden Kriterien berücksichtigt werden:

- die Auswirkung eines Fehlers hinsichtlich der Beeinträchti ¬ gung von Passagieren und/oder Fracht,

- das Unterschreiten einer Wartungsmission oder eines War ¬ tungsintervalls, sowie

- der Abbruch einer Fahrt oder Fahrmission oder eines Fluges.

Somit werden Kriterien berücksichtigt, die für den Gebrauch des Transportmittels von großer Bedeutung sind und damit auch die Funktionsfähigkeit der Funktionseinheiten gut wiederge ¬ ben. Eine Wartungsmission kann bei einem Fahrzeug bspw. mehr als 50000 Kilometer betragen.

Eine Fahrmission kann bei einem Fahrzeug bspw. mehr als 4 h betragen.

Durch diese Art der Festlegung der Gesamtleistungswerte ist wiederum insbesondere eine einfache Erweiterbarkeit des Sys ¬ tems gegeben. Neu entwickelte Funktionseinheiten können in die Funktion nachträglich eingefügt werden bzw. durch die

Programmfunktion nachträglich genutzt werden, bspw. über Plug und Play Konzepte, das heißt durch einfaches Anstecken, wobei auch für diese Funktionseinheiten, die früher festgelegten Gesamtleistungswerte gelten. Dies gilt auch für das Nachrüs- ten von Funktionseinheiten in Transportmitteln. Die aktuellen Einzelleistungswerte können in einer Matrix oder in einem Vektor vermerkt werden. Somit liegt wieder eine übersichtliche Form des Vermerken einer Vielzahl von Werten vor. Auch ist die Matrix bzw. der Vektor für eine schnelle Berechnung eines aktuellen Gesamtleistungswertes besonderes geeignet. Die Matrix oder der Vektor können nur zwei vonei ¬ nander verschiedene Werte enthalten, insbesondere die Werte 0 und 1. Dadurch lassen sich Rechenoperationen mit der Matrix oder mit dem Vektor weiter beschleunigen.

Die Ermittlung des Gesamtleistungswertes kann durch Multipli ¬ kation der beiden Matrizen, d.h. Abhängigkeitsmatrix und Ein- zelleistungswertmatrix, oder durch Multiplikation der Matrix, d.h. der Abhängigkeitsmatrix, und des Vektors mit den Einzel- leistungswerten erfolgen. Abhängig von der Reihenfolge der

Multiplikation kann bei der Multiplikation bspw. die transpo ¬ nierte der Abhängigkeitsmatrix oder die transponierte der Einzelleistungswertmatrix bzw. der transponierte Vektor ver ¬ wendet werden. Transponieren bedeutet, dass in einer Matrix die Elemente bezüglich ihrer aktuellen Zeile und Spalte ver ¬ tauscht werden. Die Matrixmultiplikation (inklusive Vektor ¬ multiplikation) kann für größere Matrizen implementiert wer ¬ den als Funktionseinheiten vorhanden sind, um eine einfache Erweiterbarkeit des Systems zu gewährleisten.

Die Ermittlung des aktuellen Gesamtleistungswertes kann unter Verwendung einer Berechnungsfunktion erfolgen, die für Werte kleiner oder ungleich der Anzahl der Funktionseinheiten der Funktion bzw. der Programmfunktion zu einem ersten Wert defi- niert ist, insbesondere zu 0, und die für einen Wert gleich dieser Anzahl zu einem zweiten Wert definiert ist, der sich von dem ersten Wert unterscheidet, insbesondere den Wert 1. Die Funktion kann z.B. auf der x-Achse verschobene Sprung ¬ funktion sein, die ggf. auch als verschobene Sigmafunktion bezeichnet werden kann. Werte größer als die Anzahl der Funk ¬ tionseinheiten in der Funktion können bspw. nicht auftreten, so dass diese Werte auch nicht definiert werden müssen. Durch das Verwenden einer solchen Berechnungsfunktion lassen sich Werte, die bei der Matrizenmultiplikation entstanden sind und die kleiner als die Anzahl der Funktionseinheiten in der Funktion sind, wieder auf den Wert 1 bzw. 0 zurückführen. Werte, die der Anzahl der Funktionseinheiten in der Funktion entsprechen, werden bspw. auf den Wert 1 gesetzt. Dies ermög ¬ licht eine einfache Ermittlung eines skalaren Gesamtleis ¬ tungswertes, wenn bspw. die Werteskala mit einem Vektor mul ¬ tipliziert wird, der nur in einem Element den Wert 1 enthält.

Somit kann für die Ermittlung des Gesamtleistungswertes ein Vektor verwendet werden, in dem die Gesamtleistungswerte in Übereinstimmung mit den vermerkten Abhängigkeiten vermerkt sind. Vorzugsweise wird dieser Vektor und ein Vektor oder ei ¬ ne Matrix multipliziert, der oder die unter Anwenden der oben angegebenen Berechnungsfunktion ermittelt worden ist. Es ent ¬ steht eine mathematisch geschlossene Darstellung, die insbe ¬ sondere die technische Zertifizierung erleichtert.

Das Verfahren kann gemäß beider Alternativen zyklisch ausge ¬ führt werden, vorzugsweise mit einer Zykluszeit kleiner als 50 Millisekunden.

Mindestens eine Funktionseinheit kann ein Netzknoten sein, insbesondere :

- eine Lenkstellaggregat mit Steuerelektronik, oder

- ein Radnabenmotor, ggf. mit Inverter und/oder Steuerelekt ¬ ronik, oder

- ein Netzknoten mit der Aufgabe, den Fahrpedalwert auszule ¬ sen und zu übertragen,

- ein Netzknoten mit Antriebsmotor am Rad hinten rechts, analog hinten links oder an einer anderen Stelle, oder

- eine Programmfunktion mit der Aufgabe aus dem Fahrpedal- Sensorwert eine Sollvorgabe zur Ansteuerung der angetriebenen Räder hinten rechts und links oder an anderer Stelle zu er ¬ mitteln . Der Netzknoten kann Bestandteil eines Datenübertragungsnetzes sein, insbesondere eines Datenübertragungsnetzes, das Daten ¬ pakete überträgt, z.B. LAN (Local Area Network) /Ethernet oder WLAN (Wireless LAN) .

Mindestens eine Funktionseinheit kann durch die Programmfunk ¬ tion selbst realisiert sein, bspw. ein Programm für die Funk ¬ tion "Fahren" . Auf der Ebene der Funktionseinheiten wird die Programmfunktion bspw. nur darauf hin betrachtet, ob sie Da- ten liefern kann (Running) oder nicht ausführbar ist

(Isolated), wobei insbesondere nicht berücksichtigt wird, ob die Daten richtig sind oder nicht.

Es kann eine Funktion für das "Fahren" eines Fahrzeugs vorge- sehen sein. Die Funktion für das Fahren kann mindestens eine der folgenden Funktionseinheiten enthalten:

- eine ein Fahrpedal betreffende Funktion,

- mindestens eine, mindestens zwei oder mindestens vier ein Rad betreffende Funktion (en) , die insbesondere jeweils eine einen Antriebsmotor betreffende Funktion enthalten,

- ein das Fahren betreffendes Programm.

Es kann alternativ oder zusätzlich eine Funktion für das Bremsen vorgesehen sein. Die Funktion für das Bremsen kann mindestens eine der folgenden Funktionseinheiten enthalten:

- ein Aggregat zum Auslesen des Fahrerbremswunsches am Brems ¬ pedal,

- ein Aggregat zur Ansteuerung der Bremshydraulik,

- vorzugsweise mindestens zwei Aggregate, elektrisch ange- triebenes Rad z.B. hinten rechts und links, welche auch zum

Bremsen verwendet werden können,

- eine Programmfunktion mit der Aufgabe, den vom Fahrer ge ¬ wünschten Bremsbefehl in eine Soll-Bremsvorgabe für das Rad z.B. hinten rechts, hinten links sowie den Netzknoten zur An- Steuerung der Hydraulikbremse umzurechnen. Alternativ oder zusätzlich kann eine Funktion für das Lenken vorgesehen sein. Die Funktion für das Lenken kann mindestens eine der folgenden Funktionseinheiten enthalten:

- Ansteuerung eines Lenkstellers und Ausgabe der Ist- Lenkposition,

- Auswertung des Soll-Lenkwinkels am Lenkrad,

- Programmfunktion Stellervorgabe = f (Ist-Lenkwinkel, Soll- Lenkwinkel) . Eine Funktion für eine Assistenzfunktion kann ein ABS (Anti- blockiersystem) , ein ESP (Elektronisches Stabilitätssystem) oder das vollautomatische Fahren betreffen. Es kann eine, es können zwei oder es können alle genannten Assistenzfunktionen vorhanden sein.

Ähnlich kann es bei einem Flugzeug Funktionen für die folgen ¬ den Abläufe geben: Bewegen auf dem Rollfeld (Taxing) , Start, Abheben, Steigflug, Flug bei konstanter Flughöhe, Sinkflug, Landeanflug, Landung, Ausrollen.

Clusterleistungswerte können für mehrere oder für alle Funk ¬ tionen gleichermaßen festgelegt werden oder festgelegt worden sein. Eine solche Maßnahme ermöglicht auch auf der Ebene der Funktionen eine einfache Erweiterbarkeit und/oder eine hohe Flexibilität beim Systementwurf.

Vorzugsweise kann mindestens eine, können mindestens zwei oder können alle der folgenden Klassen berücksichtigt werden:

- wichtigste Funktion oder wichtigste Funktionen,

- zweitwichtigste Funktion oder zweitwichtigste Funktionen,

- weniger wichtige Funktion oder weniger wichtige Funktionen.

Diese einfache Kategorisierung ermöglicht eine Gewichtung der Funktionen nach ihrer Bedeutung für das Gesamtsystem und/oder bspw. nach der Bedeutung für die Gesundheit von Personen bzw. die Gefährdung von zu transportierenden Sachwerten. Es kann wie bspw. auch bezüglich der Gesamtleistungswerte für mehrere Funktionseinheiten bzw. für eine Anwen ¬ dung/Applikation/Funktion/Programmfunktion bei den Cluster- leistungswerten auf mindestens eines, mindestens zwei oder auf alle der folgenden Kriterien Bezug genommen werden:

- die Auswirkung eines Fehlers hinsichtlich der Beeinträchti ¬ gung von Passagieren und/oder Fracht,

- das Unterschreitens einer Wartungsmission oder eines War ¬ tungsintervalls,

- den Abbruch einer Fahrt oder Fahrmission oder eines Fluges.

Das Festlegen auf gleiche Art und Weise (generisch) , d.h. für mehrere Funktionen, sichert auch hier das einfache Einfügen von weiteren Funktionen in das System.

Der Clusterleistungswert für mehrere Funktionen bzw. Pro ¬ grammfunktionen eines Clusters, kann bspw. über Abfragen er ¬ mittelt werden, insbesondere über WENN DANN Abfragen oder über CASE Abfragen (Fallabhängigkeit) . Solche Abfragen sind in vielen verbreiteten Programmiersprachen vorhanden. Das

Verwenden von Clustern kann in Echt Zeitanwendungen wertvolle Rechenzeit sparen. Auch eine so genannte WORST() Funktion kann verwendet werden, bei der der momentan schlechteste Per ¬ formancewert ermittelt wird.

Eine Vorrichtung, die insbesondere zum Ausführen eines oben genannten Verfahrens geeignet ist, kann enthalten:

- eine Speichereinheit, in der erste Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer ersten Programm ¬ funktion verwendet werden, und Gesamtleistungswerten, die für mehrfach realisierte Funktionen festgelegt worden sind, und in der zweite Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funktionseinheiten, die beim Ausführen einer zweiten Programmfunktion verwendet werden, und den festgelegten Gesamtleistungswerten, - eine Ermittlungseinheit, die aktuelle erste Einzelleis ¬ tungswerte der Funktionseinheiten der ersten Programmfunktion ermittelt und die aktuelle zweite Einzelleistungswerte der Funktionseinheiten der zweiten Programmfunktion ermittelt, - eine zweite Ermittlungseinheit, die die ermittelten ersten Einzelleistungswerte und die vermerkten ersten Abhängigkeiten zur Ermittlung oder zur Berechnung eines ersten Gesamtleis ¬ tungswertes verwendet und die die ermittelten zweiten Einzel ¬ leistungswerte und die vermerkten zweiten Abhängigkeiten zur Ermittlung oder zur Berechnung eines zweiten Gesamtleistungs ¬ wertes verwendet,

- eine dritte Ermittlungseinheit, die aus dem ersten Gesamt ¬ leistungswert und aus dem zweiten Gesamtleistungswert einen Clusterleistungswert ermittelt, und

- eine Auswahleinheit, die den Clusterleistungswert oder min ¬ destens einen daraus ermittelten oder berechneten Wert für die Auswahl der ersten Programmfunktion und der zweiten Pro ¬ grammfunktion oder anderer Programmfunktionen für das Erbrin ¬ gen der mehrfach realisierten Funktionen verwendet.

Der Clusterleistungswert für mehrere oder für alle Funktionen oder mindestens ein daraus berechneter Wert kann für die Aus ¬ wahl der Programmfunktionen des Clusters oder anderer Pro ¬ grammfunktionen eines anderen Clusters für das Erbringen der mehrfach realisierten Funktionen verwendet werden, d.h. für die Master-Slave Umschaltung bzw. das Aktivieren eines redun ¬ dant ausgeführten Clusters aufgrund einer besseren Perfor ¬ mance . Somit gelten die oben für die Verfahren angegebenen techni ¬ schen Wirkungen auch für die Vorrichtung und ihre entspre ¬ chenden Weiterbildungen. Insbesondere wird durch die

Clusterung eine Einsparung von Rechenzeit erreicht. Eine Vorrichtung, die insbesondere zum Ausführen eines oben erläuterten Verfahrens geeignet ist, kann folgendes enthal ¬ ten : - eine Speichereinheit, in der Abhängigkeiten vermerkt werden oder worden sind zwischen Einzelleistungswerten für Funkti ¬ onseinheiten, die beim Ausführen einer Programmfunktion ver ¬ wendet werden, und Gesamtleistungswerten, die für eine mehr- fach realisierte Funktion festgelegt worden sind,

- eine Ermittlungseinheit, die aktuelle Einzelleistungswerte der Funktionseinheiten (der Funktion bzw. der Programmfunkti ¬ on) ermittelt,

- eine weitere Ermittlungseinheit oder Berechnungseinheit, die die ermittelten Einzelleistungswerte und die vermerkten

Abhängigkeiten zur Ermittlung oder zur Berechnung eines, ins ¬ besondere aktuellen, Gesamtleistungswertes (für die Funktion bzw. für die Programmfunktion) verwendet,

- und eine Auswahleinheit, die den aktuellen Gesamtleistungs- wert oder mindestens einen daraus ermittelten oder berechne ¬ ten Wert für die Auswahl der Programmfunktion oder für die Auswahl einer anderen Programmfunktion für das Erbringen der mehrfach realisierten Funktion verwendet. Somit gelten die oben für die Verfahren angegebenen techni ¬ schen Wirkungen auch für die Vorrichtung und ihre entspre ¬ chenden Weiterbildungen.

Weiterhin kann ein Fahrzeug, ein Schiff oder ein Flugzeug mit einer solchen Vorrichtung ausgestattet werden. Die oben ange ¬ gebenen technischen Wirkungen gelten analog. Redundanzen und damit verbundene Verfahren zum Ermitteln der Leistungsfähig ¬ keit bzw. der Beeinträchtigung von Funktionseinheiten kommen insbesondere bei der autonomen Steuerung dieser Transportmit- tel zum Tragen, weil dann der technische Aufwand gerechtfer ¬ tigt ist, um Gefahren für Personen und für Fracht zu minimie ¬ ren .

Das Fahrzeug kann ein Elektrofahrzeug, ein Verbrennungsfahr- zeug oder ein Hybridfahrzeug dieser beiden Antriebsformen sein. Es kann sich um eine Auto zur Personenbeförderung, um einen Bus, um einen Laster oder um ein anderes Nutzfahrzeug handeln. Neben Fahrzeug und Flugzeug kann die Vorrichtung aber auch in einem Boot oder Schiff enthalten sein.

Mit anderen Worten ausgedrückt, wird ein Verfahren zur Bewer- tung von Funktionsqualitäten angegeben. Ein Grundproblem feh ¬ lertoleranter Systeme liegt darin, die Eindeutigkeit in der Ansteuerung der Aktoren bzw. der Aktorik trotz vorhandener Redundanzen in einem verteilten Netzwerk sicherzustellen. Grundlage kann ein zweikanaliges oder mehr als zweikanaliges fehlertolerantes Steuersystem sein. Über eine Master-Slave ( Servant ) -Attributierung eines Kanals wird die oben angespro ¬ chene Eindeutigkeit hergestellt. Das Master-Slave Verfahren wählt von beiden vorhandenen Kanä ¬ len einen eindeutig als Master aus. Nur der Master-Kanal steuert die Aktorik, woraufhin für diese deren eindeutige An ¬ Steuerung gewährleistet ist. Grundlage des Master-Slave Verfahrens kann eine Metrik zur Bewertung und zum Vergleich der Performance eines jeden Ka ¬ nals untereinander sein. Beschrieben werden u.a. eine Metrik und ein Verfahren zur Bestimmung einer eben solchen Funkti ¬ onsperformance. Als Metrik kann eine funktionsunabhängige Be- wertungsskala von bspw. 0 bis 9 bzw. 0 bis 10 vorgeschlagen werden. Diese lässt sich beliebig erweitern bzw. einschrän ¬ ken, was an der Methodik zur Berechnung der Funktionsperfor ¬ mance eines Kanals allerdings nichts ändert. Das Verfahren kann aus einer Menge an Transferfunktionen mit den folgenden Aufgaben bestehen:

- 1) Transfer von Fehlerindikationen bzgl. Sensorik/ Aktorik in einen generischen, funktionsunspezifischen Degradationsle ¬ vel, d.h. Einzelleistungswerte.

- 2) Transfer der funktionsunspezifischen Degradationslevel der Sensorik/ Aktorik in ein Performancelevel aller Einzel ¬ funktionen eines Kanals in je einen Performance-Level auf Ba- sis einer Abhängigkeitsmatrix, d.h. Gesamtleistungswert (e) bzw. Gesamtperformancewert (e) .

- 3) Optional beim Verwenden von Clustern: Transfer der Per ¬ formance-Level der Einzelfunktionen eines Kanals in einen Clusterperformance-Level des Kanals.

Ziel des Verfahrens kann es letztlich sein, den Clusterper- formancelevel oder den Gesamtperformancelevel eines Kanals zu bestimmen und an den Master-/Slave Mechanismus zu übergeben.

Master-Slave Verfahren sind seit langem bekannt. Insbesondere Primär- und Sekundärflugsteuersysteme von Flugzeugen stellen ein intensives Anwendungsgebiet dar. Beispiele für die Anwendung eines Master-Slave Verfahrens in der Automobildomäne gibt es ebenfalls:

- [1] Armbruster, Lehmann, Reichel, Zimmer, T jaden, Ostertag, Werner: X-by-Wire platform design-approach : Functionality, Safety and Design. In: European Automotive Safety, Frankfurt, 2007.

- [2] Michael Armbruster: Eine fahrzeugübergreifende X-by- Wire Plattform zur Ausführung umfassender Fahr- und Assis ¬ tenzfunktionen, Institut für LuftfahrtSysteme der Universität Stuttgart 2009, Dissertation.

In [1] wird das Prinzip des Prioritätsbasierten Master-Slave Mechanismus aufgezeigt, jedoch keine funktionsunspezifische bzw. keine generische Methodik zur Bestimmung eben dieser Prioritäten .

Da das Master-Slave Verfahren selbst nicht hochgradig komplex ist, wird davon ausgegangen, dass die Verfahren zur Bestim ¬ mung der Performance eines Kanals prinzipiell bei den ent ¬ sprechenden Systemlieferanten bekannt sind, aber darin der Kniff des Mechanismus liegt und daher diese Verfahren nicht veröffentlicht werden. Das hier dargestellte Verfahren grenzt sich bspw. durch eine Abstraktion der Bewertung einer Funkti- onsperformance von der eigentlichen Funktion ab, egal ob auf der Ebene:

- der Netzknoten, z.B. Lenkungselektronik, Bremsenelektronik, VideoSteuergerät ,

- der Einzelfunktionen, z.B. Lenken, Fahren, Bremsen, etc., oder

- oder der Funktionscluster, wobei ein Funktionscluster meh ¬ rere Einzelfunktionen zusammenfassen kann. Dies ermöglicht die Anwendung des Master-Slave-Verfahrens auf ein Cluster aus Funktionen anstatt auf eine Einzelfunktion. Dies reduziert letztlich den Rechenaufwand. Das Verfahren ist aber auch auf eine Einzelfunktion anwendbar.

Ein derartiges Vorgehen kann bspw. notwendig sein, um die Be- rechnung der entsprechenden Performancelevel im Rahmen von erweiterbaren Systemen, z.B. Stichwort: safe Plug' n x Play, zum Einsatz zu bringen.

Wie oben dargestellt, kann das Verfahren aus einer Menge an Transferfunktionen mit folgenden Aufgaben bestehen:

- Schritt 1: Transfer von Fehlerindikationen bzgl. Sensorik/ Aktorik in einen generischen, funktionsunspezifischen Degra ¬ dationslevel .

- Schritt 2: Transfer der funktionsunspezifischen Degradati- onslevel der Sensorik/ Aktorik in ein Performancelevel aller

Einzelfunktionen eines Kanals in je einen Performance-Level auf Basis einer Abhängigkeitsmatrix.

- Schritt 3 (optional) : Transfer der Performance-Level der Einzelfunktionen eines Kanals in einen Gesamtperformance- Level des Kanals.

Nachfolgend werden die Schritte im einzelnen präzisiert.

Schritt 1: generische, funktionsunspezifische Degradationsle- vel von Aggregaten/Netzknoten. Die Fehlererkennung basiert bspw. auf bekannten Standardfeh- lererkennungsmechanismen welche auf den Eingangsdatenstrom angewandt werden. Zentrale mögliche Fehlerindikatoren sind bspw . :

- keine Daten empfangen,

- falsche CRC (Cyclic Redundancy Code) ,

- Werte nicht im Wertebereich,

- Nicht-Übereinstimung redundanter Daten,

- unplausible Daten, z.B. erkannt auf Basis bspw. eines Ver- gleichs mit einem Modell.

Die Figur 3 zeigt in einer Tabelle 1 die Kategorisierung der Netzknoten zu bislang bspw. 11 Typen. Die Figur 3 zeigt die Performance-Abstraktion von Aggregaten/Netzknoten bzw. Funk- tionseinheiten . Jeder Typ kann eine wohl definierte Menge an Degradationsleveln haben, die in den nachfolgenden Perfor ¬ mance-Berechnungen entsprechend berücksichtigt werden. Es können auch mehr oder weniger als 11 Degradationslevel ver ¬ wendet werden. Entscheidend ist hier nicht die Anzahl der Klassen sondern die Klassenbildung (hier 11) selbst und die begrenzte Zahl an Degradationsstufen pro Klasse.

Beim Aggregattyp wird bspw. in der folgenden Reihenfolge un ¬ terschieden in:

- Redundanz in sich selbst,

- Werteredundanz, und

- Kommunikationsstreckenredundanz .

So bedeutet " simplex/single/single-link" , dass das betreffen- de Aggregat bzw. die entsprechende Funktionseinheit nicht re ¬ dundant ausgeführt wird, dass keine Werteredundanz vorliegt und dass eine einfache Kommunikationsstrecke vorliegt, d.h. ebenfalls keine Redundanz. Es gibt bspw. keinen Unterschied zwischen Applikati ¬ on/Anwendung und Funktion, wobei sich Funktion jedoch von Programmfunktion dahin gehend unterscheiden können, dass die Funktion über das Transportmittel (Fahrzeug) verteilt ist und die Programmfunktion in einem Steuergerät, z.B. ECU (Electro ¬ nic Control Unit) realisiert ist, z.B. als Softwareprogramm oder als Schaltung ohne Prozessor, der ein Programm ausführt.

Cluster ist eine logische Abstraktionsebene.

Eine Applikation wird auf einem Netzknoten ausgeführt. Ein Aggregat ist ein Netzknoten. Es werden hier Performance-Level von Programmfunktionen berechnet, die auf unterschiedlichen Netzknoten redundant ausgeführt werden, Daten von anderen Netzknoten bekommen und an wieder andere Netzknoten schicken.

Schritt 2: Performance-Level von Einzelfunktionen.

Aufgabe: Der Performance-Level der Anwendungs-Software- Komponenten Lenken, Bremsen und Fahren kann auf Basis der De ¬ gradationslevel der Aggregate berechnet werden. Ein Aggregat kann eindeutig einem Typ aus dem vorangegangenen Kapitel zu- geordnet werden. Auf dieser Basis kann sich so für jedes Ag ¬ gregat eine spezifische Menge an wohl definierten

Degradationsleveln ergeben.

Ziel kann es letztlich sein, den Zusammenhang zwischen dem Performance-Level einer Anwendungs-Software-Komponente und den Degradationsleveln von Aggregaten kompakt, systematisch und maschinenverständlich zu beschreiben. In einer weiteren Abstraktion können die Performance-Level mehrerer Anwendungs- SW (Software) -Komponenten zu einem Cluster-Leistungswert zu- sammengefasst werden. Diese Indirektion ist aber optional und ermöglicht letztlich ein gemeinsames Master/Slave Umschalten mehrerer Anwendungs-SW-Komponenten als Gruppe, um bspw. wert ¬ volle Rechenzeit zu sparen. Nachfolgend wird ein Ansatz dargestellt, wie dies mit Hilfe von Matrizen beschrieben werden kann. Wir definieren hierzu folgendes : p : sog. Performancevektor

X : Degradationsmatrix

A : Abhängigkeitsmatrix

K : Korrekturmatrix

e : Identitätsvektor

y : Performancelevel der betrachteten Anwendung

Im Zusammenhang gilt: y = p T *sgn AppMc ((x*A T )-K)*e Formel (1) wobei sgnAppMa die an Hand der Figur 14 erläuterte Funktion ist .

Im Beispiel soll dieser Zusammenhang nachfolgend erklärt wer ¬ den .

Schritt a) Aufstellen der Abhängigkeitsmatrix A

Zunächst gilt bspw. für die Funktion Fahren die in der Figur 4 gezeigte Tabelle 2. Die dort verwendeten Symbole haben die folgende Bedeutung von Boolschen Ausdrücken:

- "-" kein Einfluss, d.h. der entsprechende Wert wird an die ¬ sen Stellen nicht berücksichtigt,

- "&" UND Verknüpfung, und

- "I" ODER Verknüpfung.

Im Schritt a) wird diese Matrix weiter präzisiert, bis das in der Figur 4 gezeigte Konfigurationsfeld (Tabelle 2) nur noch &-Abhängigkeiten beinhaltet. Dies kann zu der Matrix gemäß der Figur 5 (Tabelle 3) führen. Es können also alle Permuta- tionen explizit notiert werden.

Am Beispiel ergibt sich die Abhängigkeitsmatrix A bzw. A für die Funktion "Fahren" wie in der Tabelle 4 gezeigt, siehe Fi ¬ gur 6. Es kann sich um eine binäre Abbildung handeln, da die Abhängigkeitsmatrix A nur die Werte 0 und 1 enthält. Eine bi- näre Abbildung ist möglich durch Beseitigung von ODER Ver ¬ knüpfungen "I" und von Symbolen "X" für Aggregate bzw. Degra ¬ dationslevel von Aggregaten, die keinen Einfluss auf das be ¬ treffende Performancelevel haben.

Für die Bestimmung des Performance-Wertes kann das in der Fi ¬ gur 8 bzw. der Tabelle 5 gezeigte Regelwerk gelten. Dieses Regelwerk kann applikationsunabhängig bspw. für die folgenden Applikationen gelten:

- Fahren, und/oder

- Bremsen, und/oder

- Lenken, und/oder

- Assistenz: wie ABS (Antiblockiersystem) und/oder ESP

(Elektronisches Stabilisierungsprogramm) und/oder vollautoma- tisches Fahren.

Schritt b) Ableiten der Degradationsmatrix

Die Degradationsmatrix X kann sich aus zyklisch, bspw. in ei- nem Intervall kleiner als 50 Millisekunden, kleiner als 10 Millisekunden oder kleiner als 5 Millisekunden, in der RTE (Run Time Environment bzw. Laufzeitumgebung) berechneten Degradationsleveln eines Aggregats zusammensetzen. Dabei kann bspw. davon ausgegangen werden, dass für jeden Degradations- level eines Aggregates eine gesonderte Variable verwendet wird, welche z.B. die Werte 0 und 1 haben kann.

Die Spalten der Degradationsmatrix X bzw. X repräsentieren die für die Bestimmung der Abhängigkeitsmatrix relevanten De- gradationslevel der Aggregate. In Figur 5 ist die Bedeutung der Spalten am Beispiel dargestellt und mittels eines Rahmens verdeutlicht. Die Figur 10 zeigt einen Ausschnitt der Degra ¬ dationsmatrix X. In der Degradationsmatrix X bzw. X werden die in der Software (SW) verfügbaren Größen zur Beschreibung des Degradationslevels von virtuellen Aggregaten bspw. fol ¬ gendermaßen bezeichnet:

Var (degLevel ( i ) ) . virtAgg (k) Formel (2) Diese Degradationen ergeben sich bspw. aus einer Variablen degradationLevel vom Typ attribute_performanceLevel_t in ei ¬ ner Struktur AggregateStatus_t .

Es ergibt sich die in der Tabelle 6 bzw. der Figur 9 gezeigte Zuordnung zwischen dem Dezimalwert der Variablen

degradationLevel und dem zugehörigen DegLevel für die oben festgelegten Aggregatklassen, wobei ein "X" bspw. dem Wert "1" entspricht und ein "-" dem Wert 0.

Die Aggregate können in der RTE (Run Time Environment) konfi ¬ guriert sein. Jedes Ein- und Ausgangsdatum einer Applikati ¬ on (i) kann genau einem Aggregat zugewiesen werden.

Am Beispiel ergibt sich die Degradationsmatrix X für die Funktion Fahren wie in der Figur 10 für einen Ausschnitt der Degradationsmatrix X dargestellt. Die nicht dargestellten Spalten enthalten die folgenden Belegungen:

- VirtAgg_Rad_HL, DegO, Degl - Single link, DegN ->

var (degLevelO ) . virtAgg (Rad_HL) ,

var (degLevell ) . virtAgg (Rad_HL) bzw.

var (degLevelN) .virtAgg (Rad_HL) ,

- VirtAgg_Rad_HR, DegO, DegN - Single link, DegN ->

var (degLevelO ) . virtAgg (Rad_HR) ,

var (degLevell ) . virtAgg (Rad_HR) bzw.

var (degLevelN) .virtAgg (Rad_HR) ,

- optional, falls zentraler Antriebsmotor:

VirtAgg_Antriebsmotor, DegO, DegN - unavailable (nicht ver- fügbar) -> var (degLevelO ). virtAgg (Antriebsmotor) ,

var (degLevelN) .virtAgg (Antriebsmotor) ,

- Applikation "Fahren", DegO (Running) , DegN (Isolated) -> var (degLevelO) .virtAgg (Applikation_Fahren) ,

var (degLevelN) .virtAgg ( (Applikation_Fahren) . Hierbei gilt, dass in jeder Spalte der Degradationsmatrix X nur der Wert 1 oder nur der Wert 0 stehen kann, was unten an Hand der Figuren 1 2 und 1 3 noch näher erläutert wird. Schritt c) Extraktion des Performance-Vektors

Im dritten Schritt lässt sich der Performance-Vektor p bzw. p bspw. aus der initialen Tabelle 4 bzw. aus Figur 6 able ¬ sen, wie in der Figur 1 1 (Tabelle 7 ) gezeigt ist.

Schritt d) Ableiten der Korrekturmatrix K bzw. K

Berechnet man

C = (x*Ä T ) Formel ( 3 ) so entsteht eine Matrix, in welcher bspw. nur die Elemente der Hauptdiagonale interessieren, also alle C Ü . Die Korrek ¬ turmatrix K stellt sicher, dass nach Ausführung der Operati ¬ on

D = ((X*Ä T )-K) Formel ( 4 ) eine Matrix vorliegt, für die nur die Elemente du <> (un ¬ gleich) 0 sind. Es gilt also: Formel ( 5 )

Schritt e) - Transfer der Matrix D bzw. ((X*A T )-K) zu einem Vektor

Bevor der gültige Performance-Wert pi aus p extrahiert wer ¬ den kann, kann die Matrix ((X*A T )-K) in einen Vektor über ¬ führt werden. Dadurch, dass ((X*A T )-K) nur noch die Elemente du <> (ungleich) 0 sind, genügt bspw. die Multiplikation mit dem „Identitätsvektor" e . Es gilt:

1

e =1 Formel ( 6 )

Daraus folgt: Formel (7'

l, fallsx = Zahl der virtuellen Aggregate zu Appl

5 gn 4wMs (i): Formel (8'

I 0, sonst

Schritt f) - Extraktion des aktuell gültigen Performancewerts bzw. Performancelevelwertes der betrachteten Applikation ( i )

Der letztlich aktuell vorliegende Performancelevel zu der Ap ¬ plikation (i) ergibt sich final zu y = f * sgn AppMa [((x *A t )-K)* e = p T

Formel (9;

wobei sich in den Elementen dll bis dnn nur einmal der Wert 1 befindet und alle anderen Werte 0 sind.

Es kann also eine Korrekturmatrix K verwendet werden, insbe ¬ sondere um eine geschlossene mathematische Darstellung zu er ¬ halten. Alternativ wird keine Korrekturmatrix K verwendet, so dass die Schritte e) und f) entfallen können. Die Elemente dll bis dnn können dann direkt der Matrix C entnommen werden, bspw. der Hauptdiagonalen oder auch aus einer Zeile. Schritt 3: Performance-Level von Funktionsclustern/Partition

Aufgabe: Die Aufgabe von „APPLICLUSTER Performance

Calculation" kann darin bestehen, auf Basis der Performance aller Anwendungs-Software-Komponenten eines APPLICLUSTERs ei nen einzigen Performance-Wert des gesamten Performanceclus- ters PC zu berechnen.

Grundlegendes Vorgehen: Die Herausforderung besteht darin, eine im Rahmen des Plug and Play (PnP) erweiterbare Methode zu finden, um den Performance-Level einer Mehrzahl an Anwen- dungs-Software-Komponenten auf einen Performancelevel eines APPLICLUSTERs zu übertragen.

Für eine ErstImplementierung kann die folgende Strategie ver- folgt werden:

Tabelle 8

Performancelevel Auswahlkriterium

eines Per ¬ formanceclusters

GREEN (Grün) Alle Applikationen ( i ) des Performanceclus- ters PC(j) sind mit voller Performance ver ¬ fügbar .

YELLOW1 (Gelbl) Eine weniger wichtige Applikation ( i ) aus dem

Performancecluster (j) hat für mindestens ein Aggregat /Funktionseinheit eine reduzier ¬ te Verfügbarkeit (YELLOW3 oder YELLOW4)

YELLOW2 (Gelb2) Eine zweitwichtigste Applikation ( i ) aus dem

Performancecluster (j) hat für mindestens ein Aggregat /Funktionseinheit eine reduzier ¬ te Verfügbarkeit (YELLOW3 oder YELLOW4)

YELLOW3 (Gelb3) Eine wichtigste Applikation ( i ) aus dem Per- formancecluster (j) hat für mindestens ein Aggregat /Funktionseinheit eine reduzierte Verfügbarkeit (YELLOW3 oder YELLOW4) ODER eine weniger wichtige Applikation hat die Verfügbarkeit YELLOW5, d.h. fehlendes Aggre ¬ gat aber keine kundenerlebbare Degradation und kein Fahrmissionsabbruch

YELLOW4 (Gelb4) mehr als eine Applikation ( i ) aus dem Perfor- mancecluster ( i ) hat für mindestens ein Ag ¬ gregat eine reduzierte Verfügbarkeit

(YELLOW3 oder YELLOW4 ) ,

ODER zweitwichtigste Applikation ( i ) hat Per ¬ formancelevel YELLOW5, d.h. fehlendes Aggre ¬ gat aber keine kundenerlebbare Degradation und kein Fahrmissionsabbruch, ODER eine weniger wichtige Applikation ( i ) hat Performancelevel YELLOW6, d.h. fehlendes Aggregat mit kundenerlebbarer Degradation und kein Fahrmissionsabbruch

YELL0W5 (Gelb5) wichtigste Applikation ( i ) hat Performancele ¬ vel YELLOW5, d.h. fehlendes Aggregat aber keine kundenerlebbare Degradation und kein Fahrmissionsabbruch,

ODER zweitwichtigste Applikation ( i ) hat feh ¬ lendes Aggregat mit kundenerlebbarer Degra ¬ dation und keinem Fahrmissionsabbruch

YELL0W6 (Gelb6) wichtigste Applikation ( i ) hat Performancele ¬ vel YELLOW6, d.h. fehlendes Aggregat mit kundenerlebbarer Degradation und kein Fahr ¬ missionsabbruch,

ODER eine weniger wichtige Applikation ( i ) hat YELLOW7 oder YELLOW8,

ODER für alle weniger wichtigen anderen Ap ¬ plikationen liegt ein Performancelevel schlechter als YELLOW6 vor, d.h. Abbruch der Wartungsmission

YELL0W7 (Gelb7) wichtigste Applikation ( i ) hat YELLOW7, d.h.

Abbruch der Wartungsmission,

ODER zweitwichtigste Applikation ( i ) hat YELLOW7 oder YELLOW8,

ODER für alle weniger wichtigen anderen Ap ¬ plikationen ( i ) liegt eine Performance

YELLOW9 vor

YELL0W8 (Gelb8) wichtigste Applikation ( i ) hat YELLOW8, d.h.

zweite Performance-Verschlechterung,

ODER zweitwichtigste Applikation ( i ) hat YELLOW9, d.h. Abbruch der Fahrmission, ODER für eine weniger wichtige Applikati ¬ on (i) liegt eine Performance RED vor

YELL0W9 (Gelb9) wichtigste Applikation ( i ) hat YELLOW9,

ODER zweitwichtigste Applikation ( i ) hat Per ¬ formance RED RED (Rot) Die wichtigste Applikation ( i ) bzw. eine der wichtigsten Applikationen ( i ) hat eine maxi ¬ male Degradation.

Hierbei sind i und j natürliche Zahlen 1, 2, 3 usw. Es kann auch mehrere wichtigste Applikationen und/oder mehrere zweit ¬ wichtigste Applikationen geben.

Da nach den oben stehenden Definitionen in Tabelle 8 mehrere Performance-Level eines Clusters zutreffen können, wird für alle weiteren Betrachtungen das schlechteste Performance- Level (PL) verwendet und die anderen Performance-Level werden verworfen. Es wird also eine so genannte WORST() Funktion an ¬ gewendet .

Die Bestimmung des Performance-Levels eines Performance- Clusters PC folgt bspw. dem in der Figur 15 (Tabelle 9) dar- gestellten Prinzip. Dabei können die folgenden Degradations ¬ informationen verwendet werden:

- Eine Applikation ( i ) kann die maximale Degradation haben, wenn sie nicht ausführbar ist oder ihre DL-Appli (Direct-Law) bzw. DL-Applikation ausgeführt wird. Die DL-Applikation ist eine Ersatzapplikation, für den Fall, dass die eigentliche, sog. Normal-Law Appli, einen genau ihr zuzuordnenden Fehler verursacht hat. Eine Direct-Law Applikation ist sehr einfach implementiert und kann für den Fahrer einen Trainingsfall darstellen, genügt jedoch eben einem trainierten Fahrer das Fahrzeug noch sicher anhalten zu können.

- "reduzierte Verfügbarkeit einer Applikation ( i ) " kann bedeu ¬ ten, dass deren Performance besser oder gleich als YELLOW4 ist . Es können sowohl für die Applikationen als auch für die Clus ¬ ter auch andere Festlegungen für die Performancelevel verwen ¬ det werden, insbesondere eine abweichende Anzahl von

Performanceleveln . Es wird also ein systematisches Verfahren zur Abstraktion ei ¬ ner funktionsspezifischen Information in eine funktionsunspe- zifische generische also vergleichbare beschrieben. Die Abs ¬ traktion kann aus Bewertungstabellen sowie aus Verfah- ren/Transferfunktionen gemäß den oben stehenden und den unten folgenden Erläuterungen bestehen. Dort finden sich auch die Bewertungstabellen .

Die oben beschriebenen Eigenschaften, Merkmale und Vorteile dieser Erfindung sowie die Art und Weise, wie diese erreicht werden, werden klarer und deutlicher verständlich im Zusam ¬ menhang mit der folgenden Beschreibung der Ausführungsbei ¬ spiele. Sofern in dieser Anmeldung der Begriff "kann" verwen ¬ det wird, handelt es sich sowohl um die technische Möglich- keit als auch um die tatsächliche technische Umsetzung. So ¬ fern in dieser Anmeldung der Begriff "etwa" verwendet wird, bedeutet dies, dass auch der exakte Wert offenbart ist.

Die Figuren sind nicht maßstabsgerecht gezeichnet, insbeson dere können die Aspektverhältnisse der Elemente anders ge ¬ wählt werden.

Im Folgenden werden Ausführungsbeispiele der Erfindung an Hand der beiliegenden Zeichnungen erläutert. Darin zeigen

Figur 1 Funktionseinheiten bzw. Aggregate in einem Auto

Figur 2 zwei zueinander redundante Applikationen aus Funk ¬ tionseinheiten für die Anwendung "Fahren",

Figur 3 die festgelegten Klassen für die Performance bzw.

Leistungsfähigkeit von Aggregaten bzw. Netzknoten,

Figur 4 eine Abhängigkeitsmatrix A gemäß einer ersten Ent- wurfsstufe, Figur 5 die Abhängigkeitsmatrix A gemäß einer zweiten Ent ¬ wurfsstufe, die Abhängigkeitsmatrix A gemäß einer dritten Ent wurfsstufe, einen Ausschnitt der Abhängigkeitsmatrix A gemäß der dritten Entwurfsstufe, Figur die Festlegung von Performancelevel für mehrere Ap ¬ plikationen bzw. Anwendungen, die jeweils mehrere Aggregate bzw. Netzknoten enthalten,

Figur 9 eine Zuordnung zwischen dem Dezimalwert der Variab- len "degradationslevel " und dem zugehörigen Degra ¬ dationslevel sowie zu den Klassen von Aggregaten bzw. Netzknoten,

Figur 10 eine Degradationsmatrix für die Funktion bzw. für die Anwendung "Fahren",

Figur 11 einen Performancevektor,

Figur 12 ein erstes Beispiel für die Matrixmultiplikation eines Ausschnitts der Degradationsmatrix X und ei ¬ nes Ausschnitts der Abhängigkeitsmatrix A,

Figur 13 ein zweites Beispiel für die Matrixmultiplikation eines Ausschnitts der Degradationsmatrix X und ei ¬ nes Ausschnitts der Abhängigkeitsmatrix A,

Figur 14 eine Funktion zur Vereinfachung der Elemente der

Produktmatrix C, Figur 15 eine Tabelle, die das Prinzip der Ermittlung des

Performancelevels eines Clusters aus mehreren An ¬ wendungen bzw. Applikationen zeigt, und Figur 16 Verfahrensschritte bei der Ausführung eines Verfah ¬ rens zum Ermitteln der Leistungsfähigkeit von Funk ¬ tionsclustern .

Die Figur 1 zeigt Funktionseinheiten bzw. Aggregate in einem Auto 10. Das Auto 10 ist bspw. ein PKW (Personenkraftwagen) und enthält :

- ein rechtes Vorderrad VR,

- ein linkes Vorderrad VL,

- ein rechtes Hinterrad HR,

- ein linkes Hinterrad HL,

- eine Batterie 12 und (Hybrid) /oder einen Kraftstofftank 12,

- ein Lenkrad 14,

- ein Gaspedal 16,

- zwei Steuereinheiten 18, 18b,

- ein Radaggregat 20 für das rechte Hinterrad HR, d.h. z.B. Elektromotor, Inverter und/oder Steuerelektronik,

- ein Radaggregat 22 für das linke Hinterrad HL, d.h. z.B. Elektromotor, Inverter und/oder Steuerelektronik.

An Stelle der beiden Radnabenmotoren kann auch ein zentraler Antriebs-Motor M, z.B. einen Elektromotor, Verbrennungsmotor oder einen Hybridmotor, verwendet werden. Alternativ können auch vier elektrische Radnabenmotore eingesetzt werden.

Die Steuerung 18 enthält:

- einen Daten-Speicher Ml, zum Speichern von Daten und von Programmbefehlen,

- einen Prozessor P, z.B. einen Mikroprozessor oder einen MikroController, bzw. mehrere Prozessoren,

- eine oder mehrere Programmfunktion (en) , z.B. "Fahren", kurz APF, d.h. eine Softwarefunktion. Alternativ kann die Steuerung 18 auch ohne Programme nur als elektronische Schaltung aufgebaut sein, z.B. unter Verwendung von ASICs (Application Specific Integrated Circuit) oder ähn ¬ lichen Schaltung, deren Verdrahtung programmiert werden kann.

Die Steuerung 18 ist als Teil einer zentralen Steuerung dar- gestellt. Alternativ kann die Steuerung 18 auch Teil einer dezentralen Steuerung sein.

Die Steuerung 18 ist mit einem Bussystem 24 verbunden und bildet somit einen Netzknoten. Das Bussystem 24 ist bspw. ein Ethernet, ein CAN-Netz (Controller Area Network) oder ein Flexray Bus. Alternativ kann auch ein LAN (Local Area Net ¬ work) als Bussystem 24 verwendet werden, insbesondere ein re ¬ dundant ausgeführtes LAN, das bspw. auf der logischen Ebene zwei Ringstrukturen bildet.

Es gibt bspw. die folgenden Verbindungen zwischen dem Bussys ¬ tem 24 und den oben genannten Funktionseinheiten:

- eine Verbindung 30 zum Fahrpedal 16,

- eine Verbindung 32 zum Lenkrad 14,

- eine optionale Verbindung 34 zum optionalen zentralen Motor M,

- eine Verbindung 36 zum Radaggregat 22, und

- eine Verbindung 40 zum Radaggregat 20. Alternativ kann auch ein Vorderradantrieb oder ein Allradan ¬ trieb verwendet werden.

Die Steuerung 18b ist bspw. genauso wie die Steuerung 18 auf gebaut. Die Steuerung 18b ist über ein Bussystem 24b mit den oben erläuterten Einheiten 14, 16, M, 20 und 22 verbunden.

Auch die Spannungsversorgung der in der Figur 1 gezeigten Einheiten kann gedoppelt oder mehrfach redundant ausgeführt werden .

Ein unten an Hand der Figur 2 erläutertes Verfahren oder ein anderes Verfahren bestimmt abhängig von den Leistungswer- ten/Degradationswerten der Funktionseinheiten 14, 16, M, 20, 22, APF usw., welche Steuerung 18, 18b gerade aktiv sein soll und welche inaktiv ist. Aktiv bedeutet, dass das Fahren durch die aktive Steuerung gesteuert wird. Inaktiv kann bedeuten, dass die betreffende Steuerung ausgeschaltet ist oder dass die betreffende Steuerung arbeit, jedoch die Steuersignale nicht zur momentanen Steuerung des Autos 10 verwendet werden. In diesem Zusammenhang wird auch von einem Master-Servant- bzw. Master-Slave-Verfahren gesprochen. Das Ermitteln von Einzelleistungswerten und von Gesamtleistungswerten wird un ¬ ten an Hand der Figuren 3 bis 16 erläutert, wobei die Ausfüh ¬ rungen nicht zwingend auf die in den Figuren 1 und 2 gezeig ¬ ten Konfigurationen Bezug nehmen sondern allgemeingültiger sind .

Die Figur 2 zeigt zwei zueinander redundante Applikationen bzw. Anwendungen aus Funktionseinheiten für die Anwendung "Fahren" . In der Figur 2 ist in stark vereinfachter Form ein zweikanaliger Radaktuator 50 gezeigt.

Ein erster Aktuatorkanal 54 enthält:

- das Fahrpedal 16, das nicht gedoppelt ist,

- eine Kommunikationsstrecke Klab, z.B. ein Teil eines Bus ¬ systems, zwischen dem Fahrpedal 16 und einer Datenverarbei- tungsanlage bzw. Steuereinheit DVAa bzw. 18,

- eine Kommunikationsstrecke K2ab, z.B. ein Teil eines Bus ¬ systems, zwischen der Steuereinheit DVAa und den Radaggrega ¬ ten 20, 22, die ebenfalls nicht gedoppelt sind. Ein zweiter Aktuatorkanal 56 enthält:

- ebenfalls das Fahrpedal 16, das nicht gedoppelt ist,

- die Kommunikationsstrecke Klab, z.B. ein Teil eines Bussys ¬ tems, zwischen dem Fahrpedal 16 und einer Datenverarbeitungs ¬ anlage bzw. Steuereinheit DVAb bzw. 18b,

- die Kommunikationsstrecke K2ab, z.B. ein Teil eines Bussys ¬ tems, zwischen der Steuereinheit DVAb und den Radaggregaten 20, 22, die ebenfalls nicht gedoppelt sind. Der erste Aktuatorkanal 54 ist als Master M aktiv. Der zweite Aktuatorkanal 56 ist bspw. momentan als Slave/Servant oder Diener D eingestuft, d.h. er ist im Moment nicht aktiv, bil- det aber eine Rückfallposition für den Fall eines Fehlers im ersten Aktuatorkanal 54.

Die Steuereinheiten DVAa und DVAb führen ständig, z.B. in ZeitIntervallen kleiner als 50 Millisekunden eine Statusab- frage bzw. Fehlererfassung 60 bzw. 62 des ersten

Aktuatorkanals 54 bzw. des zweiten Aktuatorkanals 56 durch. Auf Grund der Abfrageergebnisse werden dann Einzelleistungs ¬ werte für die Aggregate bzw. Netzknoten und Gesamtleistungs ¬ werte für die Anwendung/Applikation ermittelt, die den be- treffenden Aktuatorkanal 54 bzw. 56 bildet. Dabei kann prin ¬ zipiell so vorgegangen werden, wie es unten an Hand der Figu ¬ ren 3 bis 14 bzw. 3 bis 16 erläutert wird. Mehrere Anwendun ¬ gen/Applikationen können auch einen Cluster bilden, für den ein Clusterleistungswert ermittelt werden kann, was unten insbesondere an Hand der Figuren 15 und 16 erläutert wird. Aber auch Master/Slave Verfahren ohne Clusterbildung sind möglich .

Die genannten Leistungswerte können entweder in der Steuerung DVAa, in der Steuerung DVAb in beiden Steuerungen DVAa und

DVAb redundant oder in einer übergeordneten Steuerung ermit ¬ telt werden.

Auf der Datenverarbeitungsanlage (Computer) DVAa können ins- besondere die folgenden Programmfunktionen installiert sein:

- Programmfunktion Fahren APFa,

- Programmfunktion Lenken APLa,

- Programmfunktion Bremsen APBa, und ggf.

- weitere Programmfunktion (en) 57a (ABS (Antiblockiersystem) , ACC (Automatic Cruising Control) , ESP (Elektronisches Stabi ¬ litätsprogramm) etc.) Auf der Datenverarbeitungsanlage (Computer) DVAa können ins ¬ besondere die folgenden Programmfunktionen installiert sein:

- Programmfunktion Fahren APFb, die redundant zu APFa ist,

- Programmfunktion Lenken APLb, die redundant zu APLa ist, - Programmfunktion Bremsen APBb, die redundant zu APBa ist, und ggf.

- weitere Programmfunktion (en) 57b (ABS (Antiblockiersystem) , ACC (Automatic Cruising Control) , ESP (Elektronisches Stabi ¬ litätsprogramm) etc.), die redundant zu 57a sind.

Die Programmfunktion APF bildet bspw. einen Cluster mit nur einer Programmfunktion bzw. ist keinem Cluster zugeordnet. Die Programmfunktionen APL und APB bilden bspw. ein Cluster mit mehreren Programmfunktionen bzw.

Funtionseinheitengruppen, was unten näher erläutert wird. Für den Cluster wird ein skalarer Performancelevel berechnet, der dann zur Auswahl von Master M und Diener D (Slave) verwendet wird . Für diese Programmfunktionen APF, APL, APB, etc. und/oder die von ihnen verwendeten Funktionseinheiten werden die Leis ¬ tungswerte (Performancelevel) , so wie unten näher erläutert, berechnet und in mindestens einer Datenbank oder aus Redun ¬ danzgründen in bspw. zwei Datenbanken DBa und DBb gespei- chert .

In beiden Datenbanken DBa, DBb können die gleichen Daten ge ¬ speichert werden. Die Datenverarbeitungsanlage DVAa, kurz die Anlage DVAa, greift bspw. im Normalfall auf die Datenbank DBa zu. Die Datenverarbeitungsanlage DVAb, kurz die Anlage DVAb, greift bspw. im Normalfall auf die Datenbank DBb zu. Zwischen den Datenbanken DBa und DBb kann ein Abgleich 58 der Daten stattfinden . Im Zusammenhang mit dem Abgleich 58 der Daten wird bspw. auf die oben erwähnte Dissertation [2] von M. Armbruster verwie ¬ sen. Unter Annahme einer vereinfachten Sicht, d.h. ohne Be- rücksichtigung von bspw. Fragestellungen im Zusammenhang mit einem asynchronen Start und anderen Asynchronitaten, kann gelten, dass die beiden Anlagen DVAa und DVAb unter Zuhilfe ¬ nahme eines Datenkonsistenzverfahrens dieselbe Sichtweise auf sich selbst und auf alle anderen Einheiten im Netz haben. Sind die Sichtweisen identisch, wird bspw. die Anlage DVAa priorisiert im Vergleich zur Anlage DVAb, d.h. die Anlage DVAa ist dann der Master M. Zu Abweichungen bei den Sichtweisen und damit zu unterschied ¬ lichen Performancelevels für die Programmfunktionen APF, APL, APB, etc. kann es kommen, wenn bspw. bei der Datenübertragung Abweichungen oder Fehler auf einer logischen Ebene auftreten. So kann es zwei Datenübertragungsringstrukturen geben, die jeweils die relevanten Funktionseinheiten und die Anlagen DVAa und DVAb enthalten. Insbesondere können die Anlagen DVAa und DVAb über zwei Ringsegmente miteinander verbunden sein. Datenübertragungsrichtungen in den Ringstrukturen können über die Festlegung von Ports, d.h. auf logischer Ebene, erfolgen. Fällt bspw. ein Port aus, so ist die Datenübertragung in der anderen Richtung weiter gegeben, die Sichtweisen der Anlagen DVAa und DVAb können aber dann verschieden sein. Die Figur 3 zeigt die festgelegten Klassen für die Perfor ¬ mance bzw. Leistungsfähigkeit von Aggregaten bzw. Netzknoten in einer Degradationstabelle 100. Die Degradationstabelle 100 hat Spalten 102 bis 108 mit den folgenden Inhalten:

- in Spalte 102 ist ein Kennzeichen (ID Identifikation) für den jeweiligen Aggregattyp enthalten,

- in Spalte 103 ist der Aggregattyp angegeben, wobei die un ¬ ten erläuterten Redundanzmerkmale berücksichtigt werden,

- in Spalte 104 wird angegeben, ob für den Aggregattyp der betreffenden Zeile der Tabelle 100 ein Degradationslevel 0 festgelegt ist und wie der Degradationslevel definiert ist,

- in Spalte 106 wird angegeben, ob für den Aggregattyp der betreffenden Zeile der Tabelle 100 ein Degradationslevel 1 festgelegt ist und wie der Degradationslevel definiert ist, und

- in Spalte 108 wird angegeben, ob für den Aggregattyp der betreffenden Zeile der Tabelle 100 ein Degradationslevel 2 festgelegt ist und wie der Degradationslevel definiert ist.

In einer nicht dargestellten Spalte ist für alle Aggregatty ¬ pen ein Degradationslevel N festgelegt, wobei N eine natürli ¬ che Zahl ist, die die höchste Degradation angibt, z.B. Dezi- malwert 10, siehe auch Figur 9, PL_RED (Performancelevel RED bzw . rot ) .

Es können auch mehr Spalten oder weniger Spalten und/oder mehr Kennzeichen ID oder weniger Kennzeichen ID festgelegt werden.

Beim Festlegen des Aggregattyps können die folgenden Redun ¬ danzmerkmale berücksichtigt werden:

- keine Redundanz einer Funktionseinheit oder Redundanz durch mehrfach vorgesehenen Funktionseinheiten, d.h. für diese

Funktion gibt es nur die eine Funktionseinheit,

- keine Werteredundanz oder Werteredundanz bezogen auf eine Funktionseinheit, bspw. werden die Werte mehrmals ermittelt und auch mehrmals übertragen,

- keine Kommunikationsredundanz, insbesondere Kommunikations ¬ streckenredundanz, oder mehrfache Kommunikationsredundanz, insbesondere Kommunikationsstreckenredundanz .

Eine erste Zeile 110 betrifft bspw. das Kennzeichen ID mit dem Wert 1. Zu diesem Wert gehört bspw. der Aggregattyp

" simplex/single/single-link" , d.h. keine Redundanz des Aggre ¬ gats, keine Werteredundanz und keine Kommunikationsredundanz. Der Degradationslevel 0 liegt vor, wenn kein Fehler in diesem Aggregat vorhanden ist. Andere Degradationslevel außer dem Degradationslevel N, insbesondere die Degradationslevel 1 und 2, sind für den Aggregattyp "simplex/single/single-link" nicht definiert. Eine zweite Zeile 112 betrifft bspw. das Kennzeichen ID mit dem Wert 2. Zu diesem Wert gehört bspw. der Aggregattyp

" simplex/single/dual-link" , d.h. keine Redundanz des Aggre- gats, keine Werteredundanz aber doppelte bzw. duale Kommuni ¬ kationsredundanz. Der Degradationslevel 0 liegt vor, wenn kein Fehler in diesem Aggregat vorhanden ist. Der Degradati ¬ onslevel 1 liegt vor, wenn ein Kommunikationslink fehlerhaft ist. Der Degradationslevel 2 ist für den Aggregattyp "simp- lex/single/dual-link" nicht definiert. Die Radaktuatoren 20 ,22 haben bspw. den Aggregattyp mit dem Wert 2, d.h. "simp ¬ lex/single/dual-link" .

Eine dritte Zeile 114 betrifft bspw. das Kennzeichen ID mit dem Wert 3. Zu diesem Wert gehört bspw. der Aggregattyp

"simplex/dual/single-link" , d.h. keine Redundanz des Aggre ¬ gats, Werteredundanz und keine Kommunikationsredundanz. Der Degradationslevel 0 liegt vor, wenn kein Fehler in diesem Ag ¬ gregat vorhanden ist. Andere Degradationslevel außer dem De- gradationslevel N, insbesondere die Degradationslevel 1 und 2, sind für den Aggregattyp "simplex/dual/single-link" nicht definiert. Das Fahrpedal 16 hat bspw. den Aggregattyp "simp ¬ lex/dual/single-link" . In weiteren Zeilen zwischen den Zeilen 114 und einer Zeile 128 treten bspw. noch folgende Werte auf:

- "duplex" für die Aggregatredundanz,

- "dual-dual" für die Wertredundanz,

- "duplex" für die Wertredundanz, und

- "duo-duplex" für die Wertredundanz.

Dabei bedeuten:

- duplex: Werteredundanz mit zwei bitidentischen Werten,

- dual: Werteredundanz mit zwei Delta-konsistenten Werten, , d.h. z.B. absoluter Wert (Wert A - Wert B) < Delta, und

- Duo-XXXX: es gibt die XXXX Werteredundanz aus zwei physika ¬ lischen Boxen bzw. Einheiten. Eine vorletzte Zeile 128 hat das Kennzeichen ID gleich 10, den Aggregattyp "duplex/duo-duplex/dual-link" , d.h. Redundanz des Aggregats, vierfache (2 Netzknoten mit je 2 Sensorwerten, wobei je zwei Werte pro Netzknoten verglichen werden, nie aber die Werte der zwei Netzknoten untereinander) Werteredun ¬ danz und doppelte Kommunikationsredundanz. Die Degradations ¬ level sind wie folgt definiert:

- Deg-Level 0: kein Fehler,

- Deg-Level 1: Verlust eines Links,

- Deg-Level 2: Verlust eines Sensorpaares.

Eine letzte Zeile 130 betrifft bspw. den Aggregattyp "simp- lex/duo-triple/dual-link" . Die Degradationslevel für diesen Aggregattyp sind noch festzulegen, d.h. tbd (to be defined) . Die letzte Zeile 130 kann auch weggelassen werden.

Die Figur 4 zeigt eine Abhängigkeitsmatrix 150a bzw. A gemäß einer ersten Entwurfsstufe. Die Abhängigkeitsmatrix 150a be- trifft die Applikation "Fahren". Es gilt die folgende Zuord ¬ nung zu bzw. in der Abhängigkeitsmatrix 150a bzw. A:

- die Spalte 152a gibt den Performancelevelwert der betref ¬ fenden Zeile 170a bis 186a,

- die Spalte 154a enthält eine verbale Erläuterung des Per- formancelevels ,

- dem Fahrpedal 16 entspricht ein Aggregat "VirtAgg Fahrpe ¬ dal", siehe die beiden Spalten 158a, die von links nach rechts dem Degradationslevel 0 bzw. N zugeordnet sind,

- dem Radaktuator 22 entspricht ein Aggregat "VirtAgg Rad HL", siehe die drei Spalten 160a, die von links nach rechts dem Degradationslevel 0, 1 bzw. N zugeordnet sind,

- dem Radaktuator 20 entspricht ein Aggregat "VirtAgg Rad HR", siehe die drei Spalten 162a, die von links nach rechts dem Degradationslevel 0, 1 bzw. N zugeordnet sind, und

- dem APF entspricht eine Applikation "Fahren", siehe die beiden Spalten 166a, die von links nach rechts dem Degradati- onslevel DegO ("Running") bzw. DegN ("Isolated") zugeordnet sind .

Eine erste Zeile 170a der Abhängigkeitsmatrix 150a, A be- trifft einen Leistungszustand, in dem alle Aggregate verfüg ¬ bar sind, d.h. es liegt kein Fehler vor. Wie unten an Hand der Figur 8 erläutert wird, liegt damit ein Performancelevel mit dem Wert 10 vor. Ein "&" (UND-Verknüpfungssymbol ) , insbe ¬ sondere Element 187a, zeigt an, dass das Aggregat 16 und das Aggregat 22 und das Aggregat 20 und das Programm "Fahren" den Einzel-Degradationslevel DegO bzw. "Running" haben. Alle Ag ¬ gregate 16, 22, 20 und das Programm "Fahren" sind demnach verfügbar . Eine zweite Zeile 172a der Abhängigkeitsmatrix 150a, A be ¬ trifft einen Leistungszustand, in dem mindestens ein Aggregat eine reduzierte Verfügbarkeit hat. Dies entspricht dem Per ¬ formancelevel mit dem Wert 7 bzw. 6, siehe auch Figur 8.

Bspw. hat der Radaktuator 22 bzw. "VirtAgg_Rad_HL" den Degra- dationslevel 1. Dabei kommt es auf die Zustände DegO (Degra ¬ dationslevel 0) oder Degl (Degradationslevel 1) des Radaktua- tors 20 bzw. "VirtAgg_Rad_HR" an, siehe "|" (ODER Verknüp ¬ fung) im Element 188a sowie die daneben liegende ODER Ver ¬ knüpfung .

Eine dritte Zeile 174a der Abhängigkeitsmatrix 150a, A be ¬ trifft ebenfalls den Leistungszustand, in dem mindestens ein Aggregat eine reduzierte Verfügbarkeit hat. Dies entspricht wieder dem Performancelevel mit dem Wert 7 bzw. 6, siehe auch Figur 8. Bspw. hat nun der Radaktuator 20 bzw.

"VirtAgg_Rad_HR" den Degradationslevel 1. Dabei kommt es auf die Zustände DegO (Degradationslevel 0) oder Degl (Degradati ¬ onslevel 1) des Radaktuators 22 bzw. "VirtAgg_Rad_HL" an, siehe " | " (ODER Verknüpfung) in den ersten beiden Spalten der Spalten 160a, d.h. betreffend die Degradationslevel DegO und Degl des Radaktuators 22. Weiterhin sind in der Abhängigkeitsmatrix 150a, A zwei Zeilen 176a und 178a betreffend den Degradationslevel mit dem Wert 5 festgelegt, d.h. ein Aggregat ist nicht verfügbar (DegN), bspw. der Radaktuator 20, wobei es auf die Zustände DegO und Degl des anderen Radaktuators 22 ankommt, bzw. ist der Radak ¬ tuator 22 nicht verfügbar, d.h. DegN, wobei es auf die Zu ¬ stände DegO und Degl des Radaktuators 20 ankommt, siehe ent ¬ sprechende "I" Symbole, in der Zeile 174a bzw. in der Zeile 176a.

In der Abhängigkeitsmatrix 150a, A sind weiterhin drei Zeilen 180a bis 186a festgelegt, die den Degradationslevel 0 betref ¬ fen, "d.h. Funktion nicht ausführbar". Dabei werden durch ein Symbol "X", siehe bspw. Element 189a, Zustände bzw. Degrada- tionslevel gekennzeichnet, auf die es ankommt. Die ein "X" (immer auf ein Aggregat bezogen) enthaltenden Zellen bzw. Zeilen sind noch weiter aufzulösen, was unten an Hand der Fi ¬ gur 6 für eine der Zeile 180a entsprechende Zeile 180c und an Hand der Figur 7 für eine der Zeile 186a entsprechende Zeile 186c noch näher erläutert wird. Das Symbol "-" bedeutet, dass ein bestimmter Degradationslevel nicht vorhanden ist.

Beispielsweise ist die Funktion "Fahren" nicht ausführbar, wenn beide Radaktuatoren 22 und 20 den Degradationslevel DegN haben, siehe Zeile 180a, wenn das Fahrpedal 16 den Degradati ¬ onslevel DegN hat, siehe Zeile 184a oder wenn das Programm "Fahren" im Zustand "isoliert" bzw. "Isolated" ist, siehe Zeile 186a. Somit hat die Abhängigkeitsmatrix 150a, A im Beispiel zu ¬ nächst 10 Spalten 158a bis 166a und 8 Zeilen 170a bis 186a.

Bei anderen Ausführungsbeispielen werden die Abhängigkeiten in der Abhängigkeitsmatrix 150a, A anders festgelegt als in der Figur 4 gezeigt, insbesondere unter Verwendung von mehr oder weniger bzw. anderen Aggregaten, Programmen, d.h. (Spal- ten) , und/oder unter Verwendung von mehr oder weniger bzw. anderen Zeilen bzw. Gesamtdegradationsleveln .

Die Figur 5 zeigt die Abhängigkeitsmatrix A gemäß einer zwei- ten Entwurfsstufe, in der aus der Abhängigkeitsmatrix 150a die Abhängigkeitsmatrix 150b entsteht. Den Spalten 152a bis 166a entsprechen Spalten 152b bis 166b. Der Zeile 170a ent ¬ spricht eine Zeile 170b. Die ODER Verknüpfungen in der Zeile 172a wurden aufgelöst durch das Ersetzen dieser Zeile 172a durch die ergänzten Zeilen 172bl und 172b2, wobei in der Zei ¬ le 172bl ein "&" Symbol in der DegO Spalte der Spalten 162b steht und in der Zeile 172b2 ein "&" Symbol in der Spalte Degl der Spalten 162b. Für Spalte 152b, Zeile 172b2, ergibt sich ein Performancelevelwert von 6, d.h. YELLOW4 - "mehr als ein Aggregat hat eine reduzierte Verfügbarkeit".

Auf ähnliche Art und Weise wurden die ODER-Symbole in den Zeilen 174a, 176a und 178a aufgelöst, siehe ergänzte Zeilen 174bl, 174b2; 176bl, 178b2 bzw. 178bl, 178b2. Für Spalte 152b, Zeile 174b2, ergibt sich wieder ein

Performancelevelwert von 6, d.h. YELLOW4 - "mehr als ein Ag ¬ gregat hat eine reduzierte Verfügbarkeit".

Demzufolge gibt es in der Abhängigkeitsmatrix 150b ein dem Element 187a entsprechendes Element 187b und ein dem Element 189a entsprechendes Matrix-Elemente 189b. Das Element 188b und das rechts daneben liegende Matrixelement, d.h. die ODER Verknüpfungen sind dagegen nicht mehr vorhanden. An ihrer Stelle gibt es nun in den beiden Zeilen 172bl und 172b2 eine zwei mal zwei Matrix, wobei in jeder Zeile dieser Teilmatrix ein "&" Symbol und "-" bzw. ein "-" Symbol und ein "&" Symbol vorhanden sind. Außerhalb dieser Teilmatrix wurden die Werte aus der Zeile 172a in die Zeilen 172bl und 172b2 unverändert übernommen. Ähnliches gilt wieder für die anderen ergänzten Zeilen 174bl bis 178b2. Die Figur 6 zeigt die Abhängigkeitsmatrix A gemäß einer drit ¬ ten Entwurfsstufe, bei der aus der Abhängigkeitsmatrix 150b die Abhängigkeitsmatrix 150c entsteht, indem an Stelle der "&" Symbole bspw. der Wert "1" gesetzt wird. An Stelle der Symbole "-" wird bspw. jeweils der Wert "0" gesetzt. Bei ei ¬ nem anderen Ausführungsbeispiel werden gleich die Werte "0" und "1" verwendet ohne auf die ggf. einfacher zu verstehenden Symbole "&" und "-" zurückzugreifen. So entspricht dem Ele ¬ ment "&" 187b der Matrix 150b ein Element "1" bzw. 187c in der Matrix 150c.

Den Spalten 152b bis 166b entsprechen Spalten 152c bis 166c. Der Zeile 170b entspricht eine Zeile 170c. Den ergänzten Zei ¬ len 172bl bis 178b2 entsprechen ergänzte Zeilen 172cl bis 178c2. Den Zeilen 180b bis 186b entsprechen Zeilen 180c bis 186c, wobei in den Zeilen 180c bis 186c immer noch Symbole "X" vorhanden sind, siehe bspw. das dem Element 189b entspre ¬ chende Elemente 189c. Diese Symbole "X" werden für die Zeile 180c aufgelöst, indem aus der Zeile 180c zwei neue Zeilen generiert werden, deren Elemente an den Stellen, an denen kein "X" steht, unverändert aus der Zeile 180c übernommen werden. In der ersten neu gene ¬ rierten Zeile wird bspw. an Stelle des "X" im Element 189c eine "1" eingetragen und an Stelle des rechts daneben stehen ¬ den "X" eine "0"

Alternativ können die Symbole "X" auch schon in der Abhängig ¬ keitsmatrix 150b in "&" Symbole auf die gleiche Art aufgelöst werden, wobei das Ersetzen der "&" Symbole durch die Werte

"1" und der Symbole "-" durch die Werte "0" in einem nächsten Schritt erfolgen kann.

Das Auflösen der Symbole "X" in der Zeile 186c wird unten an Hand der Figur 7 näher erläutert, wobei auf die Spalten 158c, 160c und 162c Bezug genommen wird, in denen die Symbole "X" auftreten. Die Werte "0" und "1" in Zeile 186c, Spalte 166c werden wieder unverändert in alle ergänzten Zeilen übernom ¬ men. Auf ähnliche Art werden die Symbole "X" in der Zeile 184c aufgelöst. Ein Ausschnitt 190 der Abhängigkeitsmatrix 150c enthält die Kreuzungselemente der Spalten 160c, d.h. Radaktuator 22 bzw. VirtAgg_Rad_HL, und der Spalten 162c, , d.h. Radaktuator 20 bzw. VirtAgg_Rad_HR, mit den Zeilen 170c, 172cl bis 178c2. Der Ausschnitt 190 wird insbesondere in den Figuren 12 und 13 verwendet, um den Fortgang der weiteren Berechnungen auf ein ¬ fache Art zu erläutern. Im Auto 10 wird üblicherweise die ge ¬ samte Abhängigkeitsmatrix A für die weitere Berechnung ver ¬ wendet, wobei die Abhängigkeitsmatrix A auch wesentlich grö ¬ ßer als die Abhängigkeitsmatrix 150c, inklusive der noch auf- gelösten Symbole "X" sein kann. Bspw. hat die Abhängigkeits ¬ matrix A dann mehr als 50 Spalten und/oder mehr als 50 Zei ¬ len .

Die Figur 7 zeigt einen Ausschnitt 196 der Abhängigkeitsmat- rix A gemäß der dritten Entwurfsstufe. Der Ausschnitt 196 zeigt die Spalten 158c, 160c und 162c, in denen die Symbole "X" in der Zeile 186c auftraten. Es werden an Stelle der Zei ¬ le 186c 18 Zeilen 186cl bis 186cl8 ergänzt, in denen alle Permutation aufgelistet sind, die für die Degradationslevel DegO, DegN des Fahrpedals 16, die Degradationslevel DegO,

Degl, DegN des Radaktuators HL, 22 sowie für die Degradations ¬ level DegO, Degl, DegN des Radaktuators HR, 20 auftreten kön ¬ nen . So gibt es bspw. in Spalte 162c drei Gruppen für den Wert "1" des Degradationslevels DegN, Degl und DegO des Radaktuators HR, 20 wobei jede Gruppe jeweils sechs Zeilen enthält. Inner ¬ halb der ersten sechs Zeilen gibt es drei Untergruppen für den Wert "1" des Degradationslevels DegN, Degl und DegO des Radaktuators HL, 22 wobei jede Untergruppe jeweils zwei Zei ¬ len enthält. Innerhalb jeder Untergruppe unterscheiden sich die Zeilen hinsichtlich des Wertes "1" für das Degradations- level DegN des Fahrpedals 16 bzw. hinsichtlich des Wertes "1" für den Degradationslevel DegO des Fahrpedals 16. Die nicht erwähnten Elemente einer Zeile haben den Wert "0". Die Rei ¬ henfolge der Permutationen kann auch von der gezeigten Rei- henfolge abweichen, solange alle Permutationen berücksichtigt sind .

Entsprechendes gilt für die sechs Zeilen der zweiten Gruppe (Aggregat HR, 20; Degl = 1) und für die sechs Zeilen der dritten Gruppe (Aggregat HR, 20; DegO = 1) . Drei Punkte am

Ende der Zeilen 186cl bis 186cl8 deuten jeweils die Übernahme der Werte "01" aus der Zeile 186c an.

Die Figur 8 zeigt die Festlegung von Performanceleveln für mehrere Applikationen bzw. Anwendungen bzw. Programmfunktio ¬ nen, die ihrerseits jeweils mehrere Aggregate bzw. Netzknoten enthalten. Die Festlegungen können in Form einer Tabelle 200 oder auf andere Art und Weise getroffen werden. Die Tabelle 200 enthält Spalten 202 bis 206 mit der folgenden Bedeutung :

- Die Spalte 202 enthält Dezimalwerte der Performancelevel beginnend bspw. bei "10" für den besten Leistungswert bis zu dem Wert "0" für den schlechtesten Leistungswert. Es können auch mehr oder weniger bzw. andere Dezimalwerte und damit Performancelevel PL festgelegt werden.

- Die Spalte 204 enthält eine verständlichere Beschreibung des jeweiligen Performancelevels PL beginnend bei GREEN

(grün) für den besten Leistungswert über YELLOWl bis YELLOW9 (gelb) für mittlere Leistungswerte bis zu RED (Rot) für den schlechtesten Leistungswert bzw. für den größten Degradati ¬ onslevel. Die Spalte 204 ist optional.

- Die Spalte 206 enthält das Auswahlkriterium bzw. die Aus ¬ wahlbedingung für das Zutreffen eines bestimmten Performance- levels PC in verbaler Form oder in einer anderen geeigneten Form. Die Tabelle 200 enthält Zeilen 210 bis 230 mit der folgenden Bedeutung :

- Die Zeile 210 betrifft den Performancelevel GREEN mit dem Wert "10", wobei der Performancelevel GREEN eintritt, wenn alle anderen Applikationen ( j ) von denen die Applikation ( i ) abhängt ohne Degradation bzw. ohne Beeinträchtigung verfügbar sind .

- Die Zeile 212 betrifft den Performancelevel YELLOW1 mit dem Wert "9", wobei der Performancelevel YELLOW1 momentan nicht definiert ist und somit weggelassen werden könnte.

- Die Zeile 214 betrifft den Performancelevel YELLOW2 mit dem Wert "8", wobei der Performancelevel YELLOW2 momentan eben ¬ falls nicht definiert ist und somit weggelassen werden könn ¬ te .

- Die Zeile 216 betrifft den Performancelevel YELLOW3 mit dem

Wert wobei der Performancelevel YELLOW3 eintritt, wenn ein Aggregat /Net zknoten eine reduzierte Verfügbarkeit hat.

- Die Zeile 218 betrifft den Performancelevel YELLOW4 mit dem

Wert " 6 " , wobei der Performancelevel YELLOW4 eintritt, wenn mehr als ein Aggregat /Net zknoten eine reduzierte Verfügbar ¬ keit hat .

- Die Zeile 220 betrifft den Performancelevel YELLOW5 mit dem

Wert " 5 " , wobei der Performancelevel YELLOW5 eintritt, wenn mindestens ein Aggregat /Net zknoten ausfällt bzw. fehlt und sich eine Regelgüte bzw. eine Funktionsperformance nicht kun- denerlebbar verschlechtert.

- Die Zeile 222 betrifft den Performancelevel YELLOW6 mit dem

Wert " 4 " , wobei der Performancelevel YELLOW6 eintritt, wenn mindestens ein Aggregat /Net zknoten ausfällt bzw. fehlt und sich eine Regelgüte bzw. eine Funktionsperformance kundener- lebbar verschlechtert.

- Die Zeile 224 betrifft den Performancelevel YELLOW7 mit dem Wert "3", wobei der Performancelevel YELLOW7 eintritt, wenn mindestens ein Aggregat /Net zknoten ausfällt bzw. fehlt und sich eine Regelgüte bzw. eine Funktionsperformance kundener- lebbar verschlechtert sowie zusätzlich die Applikation ( i ) die Notwendigkeit einer ungeplanten Wartung meldet, d.h. Abbruch der Fahrmission aber nicht der Wartungsmission.

- Die Zeile 226 betrifft den Performancelevel YELLOW8 mit dem Wert "2", wobei der Performancelevel YELLOW8 eintritt, wenn mindestens ein Aggregat /Net zknoten ausfällt bzw. fehlt und sich eine Regelgüte bzw. eine Funktionsperformance kundener- lebbar mit schlechterer Performance als in dem Performancele ¬ vel Yellowö verschlechtert. Optional kann gefordert sein, dass die Applikation ( i ) die Notwendigkeit einer ungeplanten Wartung meldet, d.h. Abbruch der Fahrmission aber nicht der Wartungsmission .

- Die Zeile 228 betrifft den Performancelevel YELLOW9 mit dem Wert "1", wobei der Performancelevel YELLOW9 eintritt, wenn mindestens ein Aggregat /Net zknoten ausfällt bzw. fehlt und sich eine Regelgüte bzw. eine Funktionsperformance kundener- lebbar verschlechtert oder die Applikation ( i ) eine Rotwar ¬ nung, d.h. noch nicht Performancelevel RED, ausgibt, d.h. ein Missionsabbruch ist erforderlich.

- Die Zeile 230 betrifft den Performancelevel RED mit dem Wert "0", wobei der Performancelevel RED eintritt, wenn die Applikation ( i ) nicht ausführbar ist oder DL (siehe die oben stehende Erläuterung) wird ausgeführt oder die Performance ist schlechter als die Performance des Performancelevels YELLOW9.

Somit werden bei der Festlegung der Performancelevel auf App ¬ likationsebene insbesondere die Kriterien Kundenerlebbarkeit und/oder Wartungsmissionsabbruch und/oder Fahrmissionsabbruch berücksichtigt. Bei anderen Ausführungsbeispielen werden die Performancelevel auf andere Art und/oder unter Nutzung ande ¬ rer Kriterien festgelegt.

Die Figur 9 zeigt eine Zuordnung zwischen dem Dezimalwert der Variablen "degradationslevel " und dem zugehörigen Degradati ¬ onslevel sowie zu den Klassen von Aggregaten bzw. Netzknoten in einer Tabelle 250. Die Tabelle 250 enthält Spalten 252 bis 276 mit den folgenden Inhalten: - Die Spalte 252 definiert Variablen PL_GREEN (Performancele ¬ vel GREEN) , PL_YELLOWl bis PL_YELLOW9 und eine Variable

PL_RED. Der Name der Variablen kann auch

PERFORMANCELEVEL_PL_GREEN usw. sein, um beispielsweise einer proprietären Vorgabe der Anmelderin oder einem Standard zu genügen .

- Die Spalte 254 gibt einen Dezimalwert der Variablen an, hier im Bereich von 0 bis 10 beginnend bei PL_GREEN über YELLOW1 bis YELLOW9 bis PL_RED .

- Die Spalte 256 gibt den Wert des Degradationslevels an, hier von 0 bis 9 und N beginnend bei PL_GREEN über YELLOW1 bis YELLOW9 bis PL_RED .

- Die zehn Spalten 258 bis 276 entsprechen in dieser Reihen ¬ folge den zehn Aggregattypen gemäß Figur 3, Zeile 110 bis Zeile 128, beginnend bei " simplex/single/single-link" bis en ¬ dend bei "duplex/duo-duplex/dual-link" .

Die Tabelle 250 enthält die folgenden Zeilen 280 bis 300:

- Die Zeile 280 betrifft die Variable PL_GREEN mit dem Dezi- malwert 0 und dem Degradationslevel 0. Alle Aggregattypen können den Degradationslevel 0 haben, siehe Kreuze in allen Spalten 258 bis 276.

- Die Zeile 282 betrifft die Variable PL_YELL0W1 mit dem De ¬ zimalwert 1 und dem Degradationslevel 1. Alle Aggregattypen bis auf die Aggregattypen 1, 3 und 7 können den Degradations ¬ level 1 haben, siehe Kreuze in den betreffenden Spalten 260, 264 bis 268 sowie 272 bis 276.

- Die Zeile 284 betrifft die Variable PL_YELLOW2 mit dem De ¬ zimalwert 2 und dem Degradationslevel 2. Nur die Aggregatty- pen 6 und 10 können den Degradationslevel 2 haben, siehe Kreuze in den betreffenden Spalten 268 und 276.

- Die Zeilen 286 bis 298 betreffen die Variablen PL_YELLOW3 bis PL_YELLOW7 mit den Dezimalwerten 3 bis 9 und den

Degradationsleveln 3 bis 9. Diese Degradationslevel wurden im Ausführungsbeispiel nicht für die in den Spalten 258 bis 276 betroffenen Aggregattypen festgelegt, so dass die Tabelle 250 in den Zeilen 286 bis 298 in diesen Spalten jeweils das Sym- bol "-" enthält, was angibt, dass der betreffende Degradati ¬ onslevel für den betreffenden Aggregattyp nicht verfügbar ist .

- Die Zeile 300 betrifft die Variable PL_RED mit dem Dezimal- wert 10 und dem Degradationslevel N. Alle Aggregattypen kön ¬ nen den Performancelevel N haben, siehe Kreuze in allen Spal ¬ ten 158 bis 276.

Am unteren Rand der Tabelle 250 sind die Kennzeichen ID der Aggregattypen für die Spalten 258 bis 276 vermerkt beginnend beim Wert "1" bis zum Wert "10". Damit entspricht die Tabelle 250 im Wesentlichen der in der Figur 3 gezeigten Tabelle, wo ¬ bei jedoch an Stelle der verbalen Erläuterungen in der Tabel ¬ le 250 nur vermerkt ist, ob ein betreffender Degradationsle- vel definiert worden ist oder nicht. Somit ist die Tabelle 250 durch Maschinen, insbesondere durch Rechenmaschinen, leichter auszuwerten.

Abhängig vom momentanen Zustand eines Aggregats liegt jedoch nur jeweils ein bestimmter Degradationslevel vor.

Bei anderen Ausführungsbeispielen gibt es andere Festlegungen für die Degradationslevel der Aggregatklassen und/oder andere Festlegungen für die Dezimalwerte und/oder die Werte der De- gradationslevel . Insbesondere können mehr oder weniger und/oder andere Degradationslevel verwendet werden.

Die Figur 10 zeigt einen Ausschnitt einer Degradationsmatrix X bzw. 350 für die Funktion bzw. für die Anwendung "Fahren". In der Figur 10 sind Spalten 352 und 354 gezeigt, um die Be ¬ deutung der Zeilen der Degradationsmatrix X bzw. 350 zu er ¬ läutern. Die Spalte 352 stimmt mit einem Performancevektor p überein, der die Performancelevel für die einzelne Zeilen 370 bis 394 der Degradationsmatrix 350 angibt. Der Performance- vektor stimmt auch mit der Bedeutung der Zeilen der Abhängig ¬ keitsmatrix A überein, siehe bspw. Figur 6, Spalte 152c. Die Spalte 354 beschreibt die Bedeutung der einzelnen Perfor- mancelevel bzw. einzelnen Zeilen 370 bis 394 verbal, was ebenfalls mit den Beschreibungen bei der ergänzten Abhängig ¬ keitsmatrix A übereinstimmt, siehe bspw. Figur 6, Spalte 154c.

Zu beachten ist, dass der besseren Übersicht wegen die Degra ¬ dationsmatrix X bzw. 350 in den letzten drei Zeilen 388 bis 394 noch nicht aufgelöst worden ist, so dass hier eigentlich entsprechend mehr Zeilen zu verwenden sind, was oben für die Abhängigkeitsmatrix A bspw. an Hand der Figur 7 eingehend er ¬ läutert worden ist.

In einer ersten Spalte 356 der Degradationsmatrix X bzw. 350 werden Werte vermerkt, die das virtuelle Aggregat Fahrpedal, Degradationslevel DegO, betreffen, siehe bspw. den Wert mit dem Bezugszeichen 396, der durch die Abfrage

var (degLevelO) .virtAgg (Fahrpedal) ermittelt wird gemäß Formel (2) . Es ist bspw. der Wert "1" möglich, wenn momentan dieser Degradationslevel 0 vorliegt. Der Wert "0" wird bei der Ab- frage ermittelt, wenn der Degradationslevel 0 nicht vorliegt.

In einer zweiten Spalte 356 der Degradationsmatrix X bzw. 350 werden Werte vermerkt, die das Aggregat Fahrpedal, Degradati ¬ onslevel DegN, betreffen. Hier wird die Abfrage

var (degLevelN) . virtAgg (Fahrpedal ) verwendet, wieder gemäß

Formel (2) . Es ist bspw. der Wert "1" möglich, wenn momentan dieser Degradationslevel N vorliegt. Der Wert "0" wird bei der Abfrage ermittelt, wenn der Degradationslevel N nicht vorliegt .

Die weiteren Spalten 360 der Degradationsmatrix X bzw. 350 betreffen :

- VirtAgg_Rad_HL, DegO, Degl - Single link, DegN ->

var (degLevelO ) . virtAgg (Rad_HL) ,

var (degLevell ). virtAgg (Rad_HL) bzw.

var (degLevelN) .virtAgg (Rad_HL) , - VirtAgg_Rad_HR, DegO, DegN - Single link, DegN ->

var (degLevelO) . irtAgg (Rad_HR) ,

var (degLevell ) . irtAgg (Rad_HR) bzw.

var (degLevelN) .virtAgg (Rad_HR) ,

- Applikation "Fahren", DegO (Running) , DegN (Isolated) -> var (degLevelO) .virtAgg (Applikation_Fahren) ,

var (degLevelN) .virtAgg ( (Applikation_Fahren) .

Die vereinfacht dargestellte Degradationsmatrix X bzw. 350 enthält 12 Zeilen 376 bis 394, die in dieser Reihenfolge den Performanceleveln 10, 7, 6, 7, 6, 5, 5, 5, 5, 0, 0 und 0 zu ¬ geordnet sind. Somit gibt es wieder mehrere Zeilen für be ¬ stimmte Performancelevel, z.B. 7, 6, 5 und 0, hier jeweils zwei, zwei, vier bzw. drei Zeilen.

Im Ausführungsbeispiel treten innerhalb einer Spalte der De ¬ gradationsmatrix X bzw. 350 immer nur die selben Werte auf, d.h. der Wert 0 bzw. der Wert 1. Dennoch werden alle Zeilen verwendet, um eine geschlossene Darstellung bzw. eine einfa- che Berechung zu gewährleisten.

Bei anderen Ausführungsbeispielen hat die Degradationsmatrix X bzw. 350 mehr als die erwähnten Spalten und Zeilen, bspw. mehr als 50 Spalten und/oder mehr als 50 Zeilen. Bei einem anderen Ausführungsbeispiel kann auch nur ein Degradations ¬ vektor aufgestellt werden, der bspw. der Zeile 370 der Degra ¬ dationsmatrix X bzw. 350 entspricht.

Die Figur 11 zeigt einen Performancevektor p, der für die in der Figur 10 gezeigte Degradationsmatrix X bzw. 350 gilt, siehe Spalte 352. Der Performancevektor p gilt auch für die Abhängigkeitsmatrix A, siehe Figur 6, Spalte 152c. Tatsäch ¬ lich enthält der Performancevektor aber mehr Zeilen als dar ¬ gestellt, da die Abhängigkeitsmatrix A und auch die Degrada- tionsmatrix X ggf. noch um Zeilen erweitert werden, z.B. zum Auflösen der Symbole "X" . Die Figur 12 zeigt ein erstes Beispiel für die Matrixmulti ¬ plikation eines Ausschnitts 350d der Degradationsmatrix X und des Ausschnitts 190d der transponierten Abhängigkeitsmatrix A.

Der Ausschnitt 350d der Degradationsmatrix X betrifft einen Teil der Spalten 360, siehe Figur 10, nämlich drei Spalten 402d, 404d und 406d, die den Radaktor HL bzw. 22, und drei Spalten 408d, 410d und 412d, die den Radaktor HR bzw. 20 be- treffen. Die Spalten 356 bzw. 358 sind demnach der besseren Übersicht wegen weggelassen worden, können jedoch ebenfalls in die Berechnung einbezogen werden. Gleiches gilt für Spal ¬ ten 362, die den momentanen Wert des Programms "Fahren" bzw. APF betreffen.

Für die sechs Spalten 402d bis 412d des Ausschnitts 350d gilt :

- in der Spalte 402d haben alle Elemente den Wert "1", d.h. es liegt Degradationslevel DegO für den Radaktuator 22, HL vor,

- in der Spalte 404d haben alle Elemente den Wert "0",

- in der Spalte 406d haben alle Elemente den Wert "0",

- in der Spalte 408d haben alle Elemente den Wert "1", d.h. es liegt Degradationslevel DegO für den Radaktuator 20, HR vor,

- in der Spalte 410d haben alle Elemente den Wert "0",

- in der Spalte 412d haben alle Elemente den Wert "0".

Der Ausschnitt 190d stimmt bis auf die Vertauschung der Spal- ten und Zeilen mit dem Ausschnitt 190 überein, siehe Figur 6. Zur besseren Übersicht sind in der Figur 12 den Spalten 160c und 162c entsprechende transponierte Zeilen 160d und 162d dargestellt, die jedoch auf den Ausschnitt 190d beschränkt sind .

Neun Spalten 400dl bis 400d des Ausschnitts 190d sind in die ¬ ser Reihenfolge den Degradationsleveln 10, 7, 6, 7, 6, 5, 5, 5 und 5 zugeordnet und mit den Werten der entsprechenden transponierten Elemente belegt.

Bei der Matrizenmultiplikation wird in bekannter Weise das erste Element der ersten Zeile des Ausschnitts 350d mit dem ersten Element der ersten Spalte 400dl des Ausschnitts 190d multipliziert. Dazu wird dann das Produkt des zweiten Ele ¬ ments der ersten Zeile des Ausschnitts 350d mit dem zweiten Element der ersten Spalte 400dl des Ausschnitts 190d addiert usw. für alle Elemente der ersten Zeile des Ausschnitts 350d und der Spalte 400dl. Danach werden auf ähnliche Weise die anderen Elemente der Produktmatrix 450d bzw. C berechnet, siehe auch Formel (3) . Für die neun Spalten 452d bis 468d der Produktmatrix 450d, C gilt :

- in der ersten Spalte 452d haben alle Elemente den Wert "2", siehe bspw. erstes Element 500d in der Hauptdiagonale der Produktmatrix 450d, C,

- in der zweiten Spalte 454d haben alle Elemente den Wert

"1", siehe bspw. erstes Element 502d und zweites Element 504d in der Hauptdiagonalen der Produktmatrix 450d, C,

- in der dritten Spalte haben alle Elemente den Wert "0",

- in der vierten Spalte haben alle Elemente den Wert "1", - in der fünften Spalte haben alle Elemente den Wert "0",

- in der sechsten Spalte haben alle Elemente den Wert "1",

- in der siebten Spalte haben alle Elemente den Wert "0",

- in der achten Spalte haben alle Elemente den Wert "1", sie ¬ he bspw. erstes Element 506d und vorletztes Element 508d auf der Hauptdiagonalen,

- in der neunten Spalte 468d haben alle Elemente den Wert "0", siehe bspw. letztes Element 510d auf der Hauptdiagona ¬ len . Somit können bspw. die Elemente der Hauptdiagonale ausgewer ¬ tet werden mit der unten an Hand der Figur 14 erläuterten Funktion. Alternativ werden die Hauptdiagonalelemente abge- fragt und das Maximum bestimmt, das im Beispiel das Element 500d in der ersten Spalte des Ausschnitts 450d, C ist. Der Wert dieses Elements ist "2" was mit der Anzahl der in dem Ausschnitt 350d berücksichtigten Aggregate übereinstimmt. Al- ternativ können auch die Elemente einer Zeile der Produktmat ¬ rix 450d, C ausgewertet werden, bspw. die Elemente der ersten Zeile. Das Element 500d mit dem Maximum weist über seine Spaltennummer direkt auf den geltenden Performancelevel hin. Im Beispiel trat keine Degradation auf, so dass Performance- level 9 bzw. vorliegt, der auch der ersten Zeile der Degrada ¬ tionsmatrix X bzw. der ersten Spalte der Abhängigkeitsmatrix A zugeordnet ist.

Wenn über die kompletten Matrizen multipliziert wird, erhöhen sich die Werte in der Produktmatrix 450d bzw. C entsprechend, wobei die maximalen Werte dann der Anzahl von Aggregaten in der Applikation ( i ) entsprechen, hier z.B. 4, siehe bspw. Fi ¬ gur 4. Auf diese maximale Anzahl ist dann auch die unten an Hand der Figur 14 erläuterte Funktion zur weiteren Berechnung abgestimmt, siehe auch Formel (8) .

Die Figur 13 zeigt ein zweites Beispiel für die Matrixmulti ¬ plikation eines Ausschnitts 350e der Degradationsmatrix X und des Ausschnitts 190d der Abhängigkeitsmatrix A. Es gelten bis auf die im Folgenden erläuterten Abweichungen die Aussagen zur Figur 12 entsprechend weiter.

Der Ausschnitt 350e der Degradationsmatrix X betrifft wieder einen Teil der Spalten 360, siehe Figur 10, nämlich drei Spalten 402e, 404e und 406e, die den Radaktor HL bzw. 22, und drei Spalten 408e, 410e und 412e, die den Radaktor HR bzw. 20 betreffen. Die Spalten 356 bzw. 358 sind demnach der besseren Übersicht wegen weggelassen worden, können jedoch ebenfalls in die Berechnung einbezogen werden. Gleiches gilt für Spal- ten 362, die den momentanen Wert des Programms "Fahren" bzw. APF betreffen. Für die sechs Spalten 402e bis 412e des Ausschnitts 350e gilt :

- in der Spalte 402e haben alle Elemente den Wert "0",

- in der Spalte 404e haben alle Elemente den Wert "0",

- in der Spalte 406e haben alle Elemente den Wert "1", d.h. es liegt Degradationslevel DegN für den Radaktuator 22, HL vor,

- in der Spalte 408d haben alle Elemente den Wert "1", d.h. es liegt Degradationslevel DegO für den Radaktuator 20, HR vor,

- in der Spalte 410d haben alle Elemente den Wert "0",

- in der Spalte 412d haben alle Elemente den Wert "0".

Der Ausschnitt 190d stimmt bis auf die Vertauschung der Spal- ten und Zeilen mit dem Ausschnitt 190 überein, siehe Figur 6. Zur besseren Übersicht sind in der Figur 13 den Spalten 160c und 162c entsprechende transponierte Zeilen 160d und 162d dargestellt, die jedoch auf den Ausschnitt 190d beschränkt sind .

Für die neun Spalten 452e bis 468e der Produktmatrix 450e, C gilt gemäß der oben erläuteten Matrizenmultiplikation:

- in der ersten Spalte 452e haben alle Elemente den Wert "1", siehe bspw. erstes Element 500e in der Hauptdiagonale der Produktmatrix 450e, C,

- in der zweiten Spalte 454d haben alle Elemente den Wert "1", siehe bspw. erstes Element 502e und zweites Element 504e in der Hauptdiagonale der Produktmatrix 450e, C,

- in der dritten Spalte haben alle Elemente den Wert "0", - in der vierten Spalte haben alle Elemente den Wert "0",

- in der fünften Spalte haben alle Elemente den Wert "0",

- in der sechsten Spalte haben alle Elemente den Wert "0",

- in der siebten Spalte haben alle Elemente den Wert "0",

- in der achten Spalte haben alle Elemente den Wert "2, siehe bspw. erstes Element 506e und vorletztes Element 508e auf der

Hauptdiagonalen, - in der neunten Spalte 468d haben alle Elemente den Wert "1, siehe bspw. letztes Element 510e auf der Hauptdiagonalen.

Somit können bspw. wieder die Elemente der Hauptdiagonale ausgewertet werden mit der unten an Hand der Figur 14 erläu ¬ terten Funktion. Alternativ werden die Hauptdiagonalelemente abgefragt und das Maximum bestimmt, das im Beispiel der Figur 13 das Element 508e in der vorletzten bzw. in der achten Spalte des Ausschnitts 450e, C ist. Der Wert dieses Elements ist "2" was wieder mit der Anzahl der in dem Ausschnitt 350e berücksichtigten Aggregate übereinstimmt. Alternativ können auch die Elemente einer Zeile der Produktmatrix 450e, C aus ¬ gewertet werden, bspw. die Elemente der ersten Zeile. Das Element mit dem Maximum weist in beiden Fällen über seine Spaltennummer direkt auf den geltenden Performancelevel hin. Im Beispiel der Figur 13 trat eine Degradation DegN am Radak- tuator HR auf, so dass Performancelevel 5 vorliegt, der auch der vorletzten Zeile des Ausschnitts 350e der Degradations ¬ matrix X bzw. der vorletzten bzw. der achten Spalte des Aus- Schnitts 190d der Abhängigkeitsmatrix zugeordnet ist.

Wenn über die kompletten Matrizen X und A (transponiert) mul ¬ tipliziert wird, erhöhen sich die Werte in der Produktmatrix 450e bzw. C entsprechend, wobei die maximalen Werte dann der Anzahl von Aggregaten in der Applikation ( i ) entsprechen, hier z.B. 4, siehe bspw. Figur 4. Auf diese maximale Anzahl ist dann auch die unten an Hand der Figur 14 erläuterte Funktion zur weiteren Berechnung abgestimmt, siehe auch Formel (8) . Die Figur 14 zeigt eine Funktion zur Vereinfachung der Ele ¬ mente der Produktmatrix C für den Fall, dass vier Aggregate berücksichtigt werden. Ein kartesisches Koordinatensystem 550 enthält eine x-Achse 552 und eine dazu orthogonale y-Achse 554. Eine Funktion 556 hat den folgenden Verlauf:

- Funktionswert 0 für alle x-Werte kleiner als 4, - Funktionswert 1 für den x-Wert 4 und für größere x-Werte, wobei jedoch ggf. Funktionswerte größer als 4 nicht bei den Berechnungen auftauchen. Bei einer alternativen Funktion 558 gilt:

- Funktionswert 0 für alle x-Werte kleiner als 4,

- Funktionswert 1 für den x Wert 4.

Werden bspw. nur zwei Aggregate berücksichtigt, siehe Figuren 12 und 13, so wird die Funktion entsprechend modifiziert, d.h.:

- Funktionswert 0 für alle x-Werte kleiner als 2,

- Funktionswert 1 für den x Wert 2 bzw. für größere x-Werte als 2.

Die Funktion 558 stimmt mit der Formel (8) überein. Bspw. können nur ganzzahlige x-Werte verwendet werden.

Die Figur 15 zeigt eine Tabelle 560, die das Prinzip der Er- mittlung des Performancelevels eines Clusters aus mehreren Anwendungen bzw. Applikationen zeigt.

Es gelten bspw. die Festlegungen der in der Einleitung ge ¬ nannten Tabelle 8 für die Performancelevel eines bestimmten Clusters aus Applikationen.

Die Tabelle 560 macht diese Festlegungen deutlicher. Die Ta ¬ belle 560 enthält Spalten 562 bis 570 mit dem folgenden In ¬ halt :

- die Spalte 562 zeigt Dezimalwerte der Cluster-

Performancelevel in absteigender Reihenfolge beginnend bei 10 bis zum Wert 0,

- die Spalte 564 zeigt eine verbale Angabe für einen Perfor ¬ mancelevel in der jeweiligen Zeile 580 bis 600 beginnend bei GREEN (grün) über YELLOW1 bis YELLOW9 bis RED, - die Spalte 566 betrifft den Performancelevel PL der wich ¬ tigsten Applikation ( i ) bzw. Applikationen ( i ) des Clusters, wobei i eine natürliche Zahl ist,

- die Spalte 568 betrifft den Performancelevel PL der zweit- wichtigsten Applikation ( i ) bzw. Applikationen ( i ) des Clus ¬ ters, und

- die Spalte 570 betrifft den Performancelevel PL von weniger wichtigen Applikation ( i ) bzw. Applikationen ( i ) des Clusters. Die Tabelle 560 enthält Zeilen 580 bis 600 mit dem folgenden Inhalten :

- Die Zeile 580 betrifft den Cluster-Performancelevel mit dem Wert 10, d.h. GREEN, wobei den Spalten 566, 568 und 570 die Inhalte "GREEN" , "GREEN" und "GREEN" zugeordnet sind, d.h. die wichtigste (n) Applikation (en) , die zweitwichtigste (n) Ap ¬ plikation (en) und die weniger wichtigen Applikationen müssen jeweils den Performancelevel "GREEN" haben.

- Die Zeile 582 betrifft den Cluster-Performancelevel mit dem Wert 9, d.h. YELLOW1, wobei nur die Spalte 570 den Inhalt "YELLOW3,4" hat, d.h. die weniger wichtigsten Applikationen haben den Performancelevel YELLOW3 oder YELLOW4.

- Für die Zeilen 584 bis 596 wird auf den in der Figur 15 dargestellten Text verwiesen.

- Die Zeile 598 betrifft den Cluster-Performancelevel mit dem Wert 1, d.h. YELLOW9, wobei die Spalte 566 den Inhalt

"YELLOW9" und die Spalte 568 den Inhalt "RED" haben, d.h. die wichtigste (n) Applikation (en) hat bzw. haben den Performance ¬ level YELLOW9 oder die zweitwichtigste (n) Applikation (en) hat oder haben den Performancelevel "RED".

- Die Zeile 600 betrifft den Cluster-Performancelevel mit dem Wert 0, d.h. RED, wobei nur die Spalte 566 den Inhalt "RED" hat, d.h. die wichtigste (n) Applikation (en) hat bzw. haben den Performancelevel RED. Pfeile 602, 604 deuten die der Tabelle 560 zu Grunde liegende Systematik an, wonach der Performancelevel der Cluster um so mehr abnimmt, je wichtiger die Applikation ist, die ein be- stimmtes Einzel-Performancelevel hat, siehe bspw. den sich über die Zeilen 588, 590 und 592 erstreckenden Pfeil 602 für den Einzel-Performancelevel YELLOW6 und den sich über die Zeilen 596, 598 und 600 erstreckenden Pfeil 604 für den Ein- zel-Performancelevel RED.

Das Verfahren aus Tabelle 8 bzw. aus Figur 15 kann dazu füh ¬ ren, das für den Clusterperformancewert unterschiedliche Per ¬ formancelevel berechnet werden können. Es ist dann der kleinste auszuwählen, d.h. der schlechteste (WORST - Funkti ¬ on) .

Bei anderen Ausführungsbeispielen können andere Festlegungen für die Cluster-Performancelevel verwendet werden. So kann bspw. nur auf die wichtigste (n) Applikation (en) und auf die zweitwichtigste (n) Applikation (en) Bezug genommen werden und/oder es werden mehr oder weniger bzw. andere Cluster- Performancelevel und/oder mehr oder weniger bzw. andere Ein ¬ zel-Performancelevel verwendet. Die Abfragen gemäß Tabelle 8 bzw. gemäß Tabelle 560 können mit üblichen Programmen oder auf andere Art und Weise durchgeführt werden.

Die Figur 16 zeigt Verfahrensschritte 700 bis 712 bei der Ausführung eines Verfahrens zum Ermitteln der Leistungsfähig- keit von Funktionsclustern . Das Verfahren beginnt in einem

Verfahrensschritt 700. Die Verfahrensschritte werden im Fol ¬ genden auch kurz als Schritt bezeichnet.

Dem Schritt 700 folgt ein Schritt 702, in welchem für eine Applikation ( i ) aus mehreren Aggregaten/Netzknoten ein Einzel- Performancelevel a, yl, y2 ermittelt wird, wie oben an Hand der Figuren 1 bis 14 erläutert worden ist. Dabei können die Formeln (1) bis (9) verwendet werden. In einem dem Schritt 702 folgenden Schritt 704 wird geprüft, ob es noch weitere Applikationen gibt, für die ein Einzel- Performancelevel zu berechnen ist. Ist dies der Fall, so folgt dem Schritt 704 unmittelbar der Schritt 702, wobei i um den Wert 1 erhöht wird.

Sind dagegen die Einzel-Performancelevel für alle Applikatio- nen(i) berechnet worden, so folgt dem Schritt 704 ein Schritt 706. Im Schritt 706 wird der Performancelevel zla, zlb, ggf. auch z2a, z2b usw. für einen Cluster aus mehreren Applikatio ¬ nen ermittelt, bspw. so wie es oben an Hand der Tabelle 8 so ¬ wie der Figur 15 erläutert worden ist. Bei einem anderen Aus- führungsbeispiel kann jedoch ohne Clusterung gearbeitet wer ¬ den. In diesem Fall werden die Gesamtleistungswerte yl, y2 usw. direkt für die Auswahl von Master/Slave verwendet.

In einem dem Schritt 706 folgenden Schritt 708 wird geprüft, ob es noch weitere Cluster gibt, für die ein Cluster- Performancelevel zu berechnen ist. Ist dies der Fall, so folgt dem Schritt 708 unmittelbar der Schritt 706, wobei ein Zählwert zur Angabe des Clusters um den Wert 1 erhöht wird. Sind dagegen die Cluster-Performancelevel für alle Cluster berechnet worden, so folgt dem Schritt 708 ein Schritt 710. Im Schritt 710 werden die Cluster-Performancelevel für min ¬ destens zwei zueinander redundante Cluster an eine Steuerung übergeben, die bspw. entscheidet, welcher Cluster im Moment der Master Cluster sein soll, das heißt der für den Betrieb eines Transportmittels maßgebliche Cluster. Es kann auch meh ¬ rere Paare oder mehrere Gruppen von jeweils zueinander redun ¬ danten Clustern geben. Sowohl bei Clusterung als auch bei keiner Clusterung, kann die Steuerung bspw. auch in jedem Ka- nal 18, 18b implementiert sein. Außerdem entfallen bspw. die Schritte 708 und 706, wenn keine Clusterung durchgeführt wird

Anschließend kann das Verfahren in einem Schritt 712 beendet werden. Bei einem Ausführungsbeipiel wird das Verfahren zyk- lisch wiederholt, so das nach dem Schritt 710 wieder der

Schritt 702 folgt, siehe Pfeil 714. Die Zykluszeit ist bspw. kleiner als 50 Millisekunden. Die Ausführungsbeispiele sind nicht maßstabsgetreu und nicht beschränkend. Abwandlungen im Rahmen des fachmännischen Han ¬ delns sind möglich. Obwohl die Erfindung im Detail durch das bevorzugte Ausführungsbeispiel näher illustriert und be ¬ schrieben worden ist, ist die Erfindung nicht durch die of ¬ fenbarten Beispiele eingeschränkt und andere Variationen kön ¬ nen vom Fachmann hieraus abgeleitet werden, ohne den Schutz ¬ umfang der Erfindung zu verlassen. Die in der Einleitung ge- nannten Weiterbildungen und Ausgestaltungen können unterei ¬ nander kombiniert werden. Die in der Figurenbeschreibung ge ¬ nannten Ausführungsbeispiele können ebenfalls untereinander kombiniert werden. Weiterhin können die in der Einleitung ge ¬ nannten Weiterbildungen und Ausgestaltungen mit den in der Figurenbeschreibung genannten Ausführungsbeispielen kombi ¬ niert werden.