-
Die
vorliegende Erfindung betrifft ein Verfahren zum Integrieren von
unbekannten Kommunikationspartnern zur Laufzeit in ein System und
speziell ein Verfahren zum Ermitteln einer anforderungskonformen
Komponente eines technischen Gerätes.
Die Erfindung betrifft ferner eine entsprechende Vorrichtung zur
Ermittlung einer anforderungskonformen Komponente. Ferner betrifft
die Erfindung ein Computerprogrammprodukt, welches die Durchführung des
Verfahrens zum Ermitteln einer anforderungskonformen Komponente
veranlasst sowie einen Datenspeicher zum Abspeichern des Computerprogrammproduktes.
-
Im
Rahmen von Diversifizierungen und Neuentwicklungen von technischen
Apparaturen, Maschinen und mobiler Endgeräte treten vermehrt Anwendungsszenarien
auf, in denen eine Vielzahl unterschiedlicher Einrichtungen miteinander
kommunizieren, Daten austauschen und/oder gemeinschaftlich eine
Funktionalität
bereitstellen. Hierzu ist es notwendig, dass diese Einheiten mittels
einer Schnittstelle miteinander kommunizieren. Auch ist es erforderlich,
Einheiten zu deren Laufzeit in ein bestehendes System verlässlich zu
integrieren. Hierbei müssen
Einheiten miteinander interagieren, welche zur Laufzeit des Systems
untereinander nicht bekannt sind. Hieraus ergibt sich eine Notwendigkeit
gemeinsame Schnittstellen, über
die jede der beteiligten Einheiten kommunizieren kann, bereitzustellen.
-
In
einem herkömmlichen
Verfahren erfolgt die Bereitstellung einer solchen allgemeinen Schnittstelle
mittels einem Bereitstellen einer Standardschnittstelle. Eine Standardschnittstelle
ist für
eine Vielzahl von elektronischen Endgeräten ausgelegt, welchen diese
Standardschnittstelle jeweils typischerweise bereits vor der Laufzeit
bzw. der Interaktion bekannt ist.
-
In
einem weiteren herkömmlichen
Verfahren erfolgt eine testweise Integration verschiedener Kommunikationspartner
während
der Entwicklungszeit. Hierbei werden in einem Vorab-Test-Ansatz vor der Laufzeit
der Kommunikation Kommunikationsschnittstellen implementiert und
getestet. Hierbei müssen
in dem Vorab-Test alle Kommunikationspartner bereits bekannt sein.
So kann zum Beispiel eine Interaktion zwischen einem Mobiltelefon
und einem Autoradio bereits vor einer Auslieferung des Autoradios
getestet werden.
-
Eine
Möglichkeit
semi-dynamische Schnittstellen bereitzustellen, stellt der Bluetooth
Standard dar. Hierbei werden Profile unterschiedlicher Schnittstellen
zur Entwicklungszeit definiert und während der Laufzeit unterschiedlichen
Kommunikationspartnern angeboten. Auch hierbei ist es notwendig,
dass alle Kommunikationspartner das jeweilige Bluetoothprofil korrekt
implementieren.
-
In
einem gängigen
Anwendungsszenario einer Kommunikation zwischen einer Vielzahl von
technischen Geräten,
werden zum Beispiel Drucker oder Scanner an ein bestehendes Rechnersystem
angeschlossen. Um eine schadfreie Interaktion zwischen dem Rechnersystem
und den anzuschließenden
Peripheriegeräten
zu gewährleisten,
kann ein Hersteller des Rechnersystems oder eines Betriebssystems zum
Betreiben des Rechnersystems eine Vielzahl von standarisierten Tests
vorschreiben, welche durch den Peripheriegerätehersteller bezüglich jedes
einzelnen der hergestellten Peripheriegeräte durchlaufen werden muss.
Anschließend
ist es möglich
anhand eines Auswertens eines Testprotokolls die Interaktion zwischen
dem Peripheriegerät
und dem Rechnersystem zu optimieren. In Abhängigkeit des Auswertens des
Testprotokolls kann bezüglich
dem Peripheriegerät
eine Zertifizierung ausgesprochen werden.
-
In
weiteren herkömmlichen
Verfahren werden Beweis- oder Testverfahren eingesetzt. Hierbei setzen
White-Box-Tests Kenntnisse über
den internen Aufbau des zu testenden Kommunikati onspartners voraus.
Bei Black-Box-Tests wird lediglich die öffentliche Schnittstelle des
Kommunikationspartners analysiert. Die über diese Schnittstelle bereitgestellte Funktionalität ist zum
Beispiel gemäß einer
Domänenarchitektur
offengelegt.
-
Herkömmliche
Verfahren können
typischerweise nur mit erheblichem Aufwand implementiert werden,
da potenzielle Kommunikationspartner bzw. Komponenten bereits zur
Entwicklungszeit bekannt sein müssen.
Hierdurch ist es notwendig für
jeden Kommunikationspartner bzw. für jede Kategorie von Kommunikationspartnern,
vorab Schnittstellen bzw. Schnittstellenprofile zu implementieren.
Dies kann zeitaufwendig und darüber
hinaus fehleranfällig
sein. Ferner ist es gemäß herkömmlicher
Verfahren nicht möglich,
Schnittstellen dynamisch auszuhandeln und hierbei vorabspezifizierte
Anforderungskonformitätsparameter
zu evaluieren. Ferner stellen herkömmliche Verfahren keine Laufzeittests,
welche zur Integrations- und Ausführungszeit durchgeführt werden, zur
Erhaltung von Verlässlichkeiten
von dynamisch rekonfigurierbaren Systemen bereit. Ferner ist es nicht
möglich
Geräte
mit unbekannten Schnittstellen in bestehende Systeme verlässlich zu
integrieren.
-
Es
ist daher eine Aufgabe der vorliegenden Erfindung, ein Verfahren
zum Ermitteln einer anforderungskonformen Komponente eines technischen Gerätes bereitzustellen.
-
Diese
Aufgabe wird durch ein Verfahren zum Ermitteln einer Anforderungskonformenkomponente eines
technischen Gerätes
gemäß Patentanspruch
1 gelöst.
-
Demgemäß ist ein
Verfahren zum Ermitteln einer anforderungskonformen Komponente eines technischen
Gerätes
vorgesehen. Hierbei wird eine Anforderungskonformität einer
ersten Komponente mittels einer Interaktion der ersten Komponente
mit einer zweiten Komponente anhand von abgespeicherten Anforderungskonformitätsparametern
evaluiert. Mehrere Komponenten können
als Kommunikationspartner agieren und somit gemeinsam eine Funktionalität eines
Systems bereitstellen. Diese Komponenten können als ein technisches Gerät, eine
Maschine, ein Apparat, eine Vorrichtung oder als eine Steuerungskomponente
bzw. jeweils ein Teil davon vorliegen.
-
Eine
Komponente ist dann anforderungskonform, wenn sie abgespeicherten
Anforderungskonformitätsparametern
entspricht bzw. wenn die Komponente den Anforderungskonformitätsparametern zu
einem gewissen Grad entspricht. Ein Beispiel für einen Anforderungskonformitätsparameter
ist beispielsweise Performanz oder das Bereitstellen einer bestimmten
Funktionalität.
Zum Beispiel kann definiert werden, dass eine Komponente eine Antwortzeit
von weniger als 3 Sekunden bereitstellen muss. In einem Test wird
geprüft,
wie hoch die Anforderungszeit der Komponente ist. Ergibt der Test,
dass die Antwortzeit der Komponente 2 Sekunden ist, so gilt diese
Komponente als anforderungskonform. Wird definiert, dass die Komponente
eine gewisse Funktionalität
bereitstellen muss, so kann dies ebenfalls in einem Test evaluiert
werden. Anhand eines Rückgabeparameters
der Komponente kann festgestellt werden, ob diese Komponente die
geforderte Funktionalität
bereitstellt.
-
Das
Ermitteln der anforderungskonformen Komponente geschieht mittels
einer Interaktion der ersten Komponente mit einer zweiten Komponente. Diese
Interaktion kann zum Beispiel das Ausführen eines Testfalls durch
die erste und/oder die zweite Komponente implementiert werden. Die
zweite Komponente kann hierbei geeignet sein, aus einer Vielzahl
von Testfällen
einen Testfall auszuwählen
und diesen Testfall der ersten Komponente zur Bearbeitung zu übergeben.
Ein Testfall kann zum Beispiel das Speichern eines Kontaktes in
einem Telefonbuchspeicher eines mobilen Telefons umfassen. Die zweite
Komponente kann somit einen Kontakt an die erste Komponente übermitteln
und hierbei veranlassen, dass die erste Komponente diesen Kontakt
in einem Telefonbuchspeicher abspeichert. Bei einem erfolgreichen
Abspeichern des Kontaktes in dem Telefonbuchspeicher durch die erste
Komponente kann die erste Komponente z. B. einen Rückgabewert
an die zweite Komponente über mitteln,
der besagt, dass der Kontakt in dem Telefonbuchspeicher erfolgreich gespeichert
wurde. Es ist möglich,
diesen Kontakt nur flüchtig
in dem Telefonbuchspeicher des mobilen Telefons zu speichern. Ist
dieser Testfall abgearbeitet, so kann in weiteren Schritten ein
persistentes Speichern des Kontaktes in einem Telefonspeicher durch
die erste Komponente durchgeführt
werden.
-
Eine
Interaktion der ersten Komponente mit der zweiten Komponente kann
auch weitere Schritte wie zum Beispiel das Aufbauen einer Verbindung
von der zweiten Komponente an die erste Komponente umfassen. Es
ist auch möglich,
dass die zweite Komponente von einer dritten Komponente eine Vielzahl von
potenziellen anforderungskonformen Komponenten übermittelt bekommt. Die dritte
Komponente ist geeignet, eine Vorauswahl bezüglich einer Anforderungskonformität von Komponenten
zu treffen. So kann zum Beispiel die dritte Komponente nur diejenigen
Komponenten bei der zweiten Komponente benennen, welche über geeignete
Schnittstellen bezüglich
einer Interaktion mit der zweiten Komponente verfügen. Folglich
wird also eine Vorauswahl durch die dritte Komponente getroffen,
wodurch sichergestellt wird, dass die zweite Komponente mit der
ersten Komponente interagieren kann. Die Anforderungskonformität der ersten
Komponente wird dann anhand eben dieser Interaktion evaluiert.
-
Das
Aufbauen der Verbindung zwischen der zweiten Komponente und der
ersten Komponente kann somit in Abhängigkeit eines Vermittelns
durch die dritte Komponente stattfinden. Alternativ ist es auch
möglich,
dass die zweite Komponente eigenständig erkennt, dass eine Interaktion
mit einer ersten Komponente möglich
ist. Es ist zum Beispiel möglich,
dass die erste Komponente räumlich
so nah an die zweite Komponente herangeführt wird, dass diese beiden
Komponenten mittels einer Luftschnittstelle interagieren können. Ferner
ist es ebenfalls möglich,
dass die dritte Komponente in der ersten oder der zweiten Komponente
integriert ist.
-
Die
Anforderungskonformitätsparameter werden
an die zweite Komponente bereitgestellt. Dieses Bereitstellen kann
z. B. mittels eines Auslesens der Anforderungskonformitätsparameter
aus einem Datenspeicher erfolgen. Bei dem Datenspeicher kann es
sich um einen Datenspeicher handeln, welcher in der zweiten Komponente
integriert ist oder auf den die zweite Komponente mittels eines
Netzwerkes zugreift. Ferner ist es möglich, die Anforderungskonformitätsparameter
dynamisch zu errechnen. Dies kann beispielsweise mittels einer Interaktion
einer weiteren Komponente erfolgen.
-
Ferner
kann ein weiterer Datenspeicher in der zweiten Komponente integriert
sein oder mit der zweiten Komponente verbunden sein, welcher verschiedene
Arten der Interaktion der zweiten Komponente mit der ersten Komponente
beschreibt. Hierbei kann es sich z. B. um eine Datenbank handeln,
welche unterschiedliche Testfälle
aufweist. Ein Testfall ist z. B. ein bereitgestellter Algorithmus,
welcher durch die erste Komponente und/oder in einem Zusammenwirken
der ersten Komponente mit der zweiten Komponente abgearbeitet wird.
Bei der Abarbeitung dieses Testfalls können Ausführungsparameter in einer Protokolldatei
bzw. einer Log-Datei abgespeichert werden. Anhand eines solchen
Ausführungsprotokolls
kann z. B. die zweite Komponente feststellen, ob es sich bei der
ersten Komponente um eine anforderungskonforme Komponente handelt.
-
Dieses
Feststellen kann weitere Schritte umfassen, wie z. B. ein Vergleichen
der Log-Datei mit den abgespeicherten Anforderungskonformitätsparametern.
Für den
Fall, dass die erste Komponente keine anforderungskonforme Komponente
darstellt, kann die zweite Komponente eine weitere Interaktion mit
einer weiteren Komponente veranlassen. Diese weitere Komponente
agiert in weiteren Verfahrensschritten als eine neue, erste Komponente.
Folglich kann es zu einem iterativen Testen einer ersten Komponente
kommen, wobei die erste Komponente z. B. aus einer Vielzahl von
Komponenten ausgewählt wird.
Das Testen der verschiedenen Komponenten kann abgebrochen werden,
sobald eine anforderungskonforme Komponente identifiziert wurde.
Es ist aber auch möglich,
eine Vielzahl von anforderungskonformen Komponenten zu identifizieren.
-
Bei
einer Abarbeitung einer Interaktion zwischen der zweiten Komponente
und der ersten Komponente können
sich die jeweiligen Komponenten in einem ihrer Zustände verändern. So
ist es z. B. möglich,
dass während
der Interaktion ein Datenspeicher einer ersten Komponente derart
angefüllt
ist, dass bei einer fortdauernden Interaktion mit der zweiten Komponente
keine Ausführungsparameter
mehr gespeichert werden können.
Bei der Ermittlung einer anforderungskonformen Komponente ist es
also möglich, dass
auch Zustände
der ersten Komponente und/oder der zweiten Komponente berücksichtigt werden
müssen.
-
Es
kann hierbei vorteilhaft sein, ähnliche
Zustände
zu Äquivalenz-Zuständen zusammenzuführen. Soll
in einem Datenspeicher der ersten Komponente ein Datenelement abgespeichert
werden, so bilden alle Zustände,
in denen mindestens ein Datenelement in einen vorhandenen Speicherbereich
des Datenspeichers abgespeichert werden kann, einen Äquivalenz-Zustand. Soll also
ein Datenelement abgespeichert werden, so ist der Zustand des Datenspeichers,
der das Abspeichern von einem Datenelement gleich dem Zustand des
Datenspeichers, welcher das Abspeichern von fünf Datenelementen erlaubt.
Folglich können
Aquivalenz-Klassen bzw. Äquivalenz-Zustände definiert
werden. Aus Effizienzgründen
kann es hierbei vorteilhaft sein, diese Äquivalenz-Zustände mitsamt
der ersten Komponente und der zweiten Komponente abzuspeichern.
Hierdurch wird es ermöglicht,
dass die Interaktionsparameter der ersten und der zweiten Komponente
in Abhängigkeit
einer Vielzahl von Zuständen
abgespeichert werden. Folglich kann bei einer Ermittlung einer anforderungskonformen
Komponente eine Interaktion, welche bereits simuliert wurde, eingespart,
d. h. nicht mehr ausgeführt
werden, da die Interaktionsergebnisse mitsamt der Rahmenbedingungen
in denen sie stattgefunden haben, bereits vorliegen. Folglich werden
Parameter, welche bei einem ersten Ermitteln einer anforderungskonformen
Komponente erstellt werden, bei einem zweiten Ermitteln einer anforderungskonformen
Komponente berücksichtigt.
-
In
einer Ausführungsform
eines Aspekts der vorliegenden Erfindung erfolgt die Interaktion
der ersten Komponente mit der zweiten Komponente mittels eines Ausführens von
mindestens einem Testschritt.
-
Dies
schafft den Vorteil, dass je nach Anwendungsszenario ein Testschritt
oder eine Vielzahl von Testschritten ausgeführt werden kann.
-
In
einer Ausführungsform
eines Aspekts der vorliegenden Erfindung wird der mindestens eine Testschritt
von der zweiten Komponente bereitgestellt.
-
Dies
schafft den Vorteil, dass die zweite Komponente einen Testschritt,
z. B. in Abhängigkeit von
abgespeicherten Anforderungskonformitätsparametern auswählen kann.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung erfolgt das Ausführen des
mindestens einen Testschritts durch die erste Komponente.
-
Dies
weist den Vorteil auf, dass die erste Komponente einen Test durchläuft, wobei
Testparameter zur Evaluierung der Anforderungskonformität der ersten
Komponente abgespeichert werden können.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung wird das Ausführen des
mindestens einen Testschrittes von der zweiten Komponente veranlasst.
-
Dies
bietet den Vorteil, dass die zweite Komponente einen Startzeitpunkt
des Ausführens
der Interaktion bzw. das Ausführen
des Testschritts bestimmen kann.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung werden die Anforderungskonformitätsparameter von
der zweiten Komponente bereitgestellt.
-
Dies
schafft den Vorteil, dass die zweite Komponente Anforderungskonformitätsparameter errechnen,
dynamisch erstellen und/oder aus einem Datenspeicher auslesen kann.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung evaluiert die zweite Komponente
in Abhängigkeit
der Interaktion der ersten Komponente mit der zweiten Komponente
und der abgespeicherten Anforderungskonformitätsparameter die Anforderungskonformität der ersten
Komponente.
-
Dies
bietet den Vorteil, dass die zweite Komponente z. B. mittels eines
Vergleichens von Interaktionsergebnissen und den abgespeicherten
Anforderungskonformitätsparametern
das Vorhandensein einer anforderungskonformen Komponente identifiziert.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung liegt eine Anforderungskonformität der ersten
Komponente vor, falls die Interaktion zwischen der ersten Komponente
und der zweiten Komponente zu einem bereitgestellten Grad den Anforderungsparametern
genügt.
-
Dies
hat den Vorteil, dass nicht nur ein genaues Übereinstimmen der erwarteten
Interaktionsparameter mit den Anforderungskonformitätsparametern
berücksichtigt
werden kann, sondern auch eine gewisse Abweichung toleriert werden
kann.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung wird die erste Komponente
aus einer Vielzahl von Komponenten durch die dritte Komponente ausgewählt.
-
Dies
hat den Vorteil, dass in einer weiteren Komponente, z. B. ein Verzeichnisdienst
implementiert werden kann, der Interaktionsdaten von einer Vielzahl
von ersten Komponenten bereitstellt.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung stellt eine Vielzahl von
Komponenten eine Information bereit, anhand derer die erste Komponente
ausgewählt
wird.
-
Dies
bietet den Vorteil, dass eine Vielzahl von Komponenten Interaktionsparameter
bzw. Schnittstellenparameter bereitstellen, anhand derer eine potenzielle
anforderungskonforme Komponente als eine erste Komponente ausgewählt werden
kann.
-
Dies
schafft ferner den Vorteil, dass bereits eine Vorauswahl von Komponenten
gemäß der bereitgestellten
Informationen erfolgen kann.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung veranlasst die dritte Komponente
die Interaktion der dritten Komponente mit der zweiten Komponente.
-
Dies
bietet den Vorteil, dass eine z. B. bereits bestehende dritte Komponente
wiederverwendet werden kann und außerdem die dritte Komponente als
eine Vermittlungskomponente genutzt werden kann.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung stellt die dritte Komponente
eine Information an die zweite Komponente bereit, anhand derer die
zweite Komponente eine Interaktion mit der ersten Komponente veranlasst.
Dies schafft den Vorteil, dass bereits gespeicherte Interaktionsparameter
aus bereits durchgeführten
Ermittlungen einer anforderungskonformen Komponente an die zweite
Komponente bereitgestellt werden können.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung wird ein Vorhandensein
der Anforderungskonformität
zwischen der ersten Komponente und der zweiten Komponente abgespeichert.
-
Dies
schafft den Vorteil, dass bei mehreren Ausführungen des beschriebenen Verfahrens
ermittelte Anforderungskonformitäten
bereitgestellt werden und somit nicht redundant ermittelt werden
müssen.
-
In
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung wird das Vorhandensein
der Anforderungskonformität
mitsamt den Merkmalen der ersten Komponente und der zweiten Komponente
abgespeichert.
-
Dies
schafft den Vorteil, dass bei einer Ermittlung einer Anforderungskonformität auch die Rahmenbedingungen,
wie z. B. Zustände
der beteiligten Komponenten, berücksichtigt
werden.
-
Bei
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung besteht die Anforderungskonformität der ersten
Komponente in Abhängigkeit
der Merkmale der ersten Komponente und der zweiten Komponente.
-
Dies
bietet den Vorteil, dass die Anforderungskonformität nicht
nur direkt in Abhängigkeit
der ersten und der zweiten Komponente bestimmt wird, sondern dass
Rahmenparameter auch bei der Ermittlung einer anforderungskonformen
Komponente berücksichtigt
werden können.
-
Bei
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung beschreiben die Merkmale
der ersten Komponente und der zweiten Komponente mindestens einen
Zustand der ersten Komponente und/oder der zweiten Komponente.
-
Dies
bietet den Vorteil, dass auch Zustände, wie z. B. freier Speicherplatz
eines Datenspeichers bei der Ermittlung einer anforderungskonformen Komponente
berücksichtigt
werden.
-
Bei
einer weiteren Ausführungsform
eines Aspekts der vorliegenden Erfindung werden die Merkmale in
Abhängigkeit
einer vierten Komponente bereitgestellt.
-
Dies
schafft den Vorteil, dass auch eine Interaktion der ersten und/oder
der zweiten Komponente mit einer weiteren, vierten Komponente berücksichtigt
werden.
-
Die
Erfindung schafft ferner eine Vorrichtung zur Ermittlung einer anforderungskonformen
Komponente eines technischen Gerätes,
insbesondere gemäß dem vorbeschriebenen
Verfahren. Hierbei wird eine Anforderungskonformität einer
ersten Komponente mittels einer Interaktion der ersten Komponente
mit einer zweiten Komponente anhand von in einem Datenspeicher abgespeicherten
Anforderungskonformitätsparametern
mittels einer ersten Evaluierungskomponente evaluiert.
-
Die
Erfindung schafft ferner ein Computerprogrammprodukt, welches die
Durchführung
des vorbeschriebenen Verfahrens veranlasst.
-
Die
Erfindung schafft ferner einen Datenspeicher zum Abspeichern des
Computerprogrammprodukts.
-
Somit
werden ein Verfahren und eine Vorrichtung zum Ermitteln einer anforderungskonformen Komponente
bereitgestellt, welche es auf effiziente Art während der Laufzeit erlauben,
Kommunikationspartner zu identifizieren, welche vordefinierten Anforderungen
genügen.
-
Weitere
vorteilhafte Ausgestaltungen der Erfindung sind Gegenstand der Unteransprüche sowie der
im Folgenden beschriebenen Ausführungsbeispiele.
Im Weiteren wird die Erfindung anhand beispielhafter Implementierungen
unter Bezugnahme auf die beigelegten Figuren näher erläutert.
-
Es
zeigt:
-
1:
ein Ablaufdiagramm eines Verfahrens zum Ermitteln einer anforderungskonformen
Komponente gemäß einem
Aspekt der vorliegenden Erfindung;
-
2:
ein detailliertes Ablaufdiagramm eines Verfahrens zum Ermitteln
einer anforderungskonformen Komponente gemäß einem Aspekt der vorliegenden
Erfindung;
-
3:
ein Blockdiagramm einer Vorrichtung zur Ermittlung einer anforderungskonformen
Komponente gemäß einem
Aspekt der vorliegenden Erfindung;
-
4:
ein detailliertes Blockdiagramm einer Vorrichtung zur Ermittlung
einer anforderungskonformen Komponente gemäß einem Aspekt der vorliegenden
Erfindung;
-
5:
ein Sequenzdiagramm eines Verfahrens zum Ermitteln einer anforderungskonformen Komponente
gemäß einem
Aspekt der vorliegenden Erfindung;
-
6:
ein Zustandsdiagramm eines Verfahrens zum Ermitteln einer anforderungskonformen Komponente
gemäß einem
Aspekt der vorliegenden Erfindung;
-
7:
ein weiteres Sequenzdiagramm eines Verfahrens zum Ermitteln einer
anforderungskonformen Komponente gemäß einem Aspekt der vorliegenden
Erfindung; und
-
8:
ein weiteres Sequenzdiagramm eines Verfahrens zum Ermitteln einer
anforderungskonformen Komponente gemäß einem Aspekt der vorliegenden
Erfindung.
-
In
den Figuren sind gleiche bzw. funktionsgleiche Elemente mit den
gleichen Bezugszeichen versehen worden, sofern nichts anderes angegeben ist.
-
1 zeigt
ein Blockdiagramm eines Verfahrens zum Ermitteln einer anforderungskonformen Komponente
eines technischen Gerätes
gemäß einem
Aspekt der vorliegenden Erfindung. Hierbei wird eine Anforderungskonformität einer
ersten Komponente mittels einer Interaktion 100 der ersten
Komponente mit einer zweiten Komponente anhand von abgespeicherten
Anforderungs konformitätsparametern
evaluiert 101.
-
Eine
Komponente kann sowohl eine Hardware-Komponente als auch eine Software-Komponente,
wie z. B. einen Dienst bzw. einen Service und/oder eine Klasse aufweisen.
-
2 beschreibt
ein detailliertes Ablaufdiagramm eines Verfahrens zum Ermitteln
einer anforderungskonformen Komponente eines technischen Gerätes.
-
In
einem ersten Verfahrensschritt 200 erfolgte ein Hinterlegen
einer Schnittstellendefinition von mindestens einer Komponente.
Das Hinterlegen der Schnittstellendefinition erfolgt mittels eines
Datenspeichers, der die Schnittstellendefinition abspeichert. Im
vorliegenden Ausführungsbeispiel
erfolgt das Hinterlegen der Schnittstellendefinition in einer Datenbank,
welche in der dritten Komponente integriert ist. Die Schnittstellendefinition
beschreibt die jeweilige Komponente, welche die Schnittstellendefinition
bereitstellt.
-
Die
Schnittstellendefinition weist mindestens eine Funktionalität und mindestens
einen Parameter auf, welche in einem Zusammenwirken eine Anfrage mittels
der bereitgestellten Schnittstelle beantworten. Zusätzlich weist
die hinterlegte Information Merkmale auf, welche ein Interagieren
mit der jeweiligen Komponente mittels der bereitgestellten Schnittstelle
ermöglichen.
Folglich ist in dem Datenspeicher eine Zuordnung von einzelnen Komponenten
zu einer jeweiligen Schnittstellendefinition hinterlegt.
-
In
einem darauffolgenden Verfahrensschritt 201 erfolgt ein
Anfragen eines Kommunikationspartners der zweiten Komponente bei
der dritten Komponente. Die zweite Komponente hält hierzu Anforderungskonformitätsparameter
AP bereit, welche sie an die dritte Komponente übermittelt. In Abhängigkeit der
Anforderungskonformitätsparameter
AP sollen nun mögliche
Kommunikationspartner der zweiten Komponente durch die dritte Komponente
ausgewählt
werden.
-
Hierzu
vergleicht die dritte Komponente in einem Verfahrensschritt 202 die
abgespeicherte Schnittstellendefinition der einzelnen registrierten Komponenten
mit den durch die zweite Komponente bereitgestellten Anforderungskonformitätsparametern
AP. Hierbei ist die dritte Komponente geeignet, anhand dieses Vergleichens
eine Auswahl möglicher anforderungskonformer
Komponenten bzw. Kommunikationspartner bereitzustellen. Dies kann
zum Beispiel mittels einer Anfrage an den Datenspeicher, in dem
die Schnittstellendefinitionen hinterlegt sind, erfolgen.
-
Die
in dem Verfahrensschritt 202 bereitgestellte Auswahl an
potenziell anforderungskonformen Komponenten wird in einem darauffolgenden
Verfahrensschritt 203 an die zweite Komponente übermittelt.
Folglich wird eine Schnittstellendefinition einer ersten Komponente
an die zweite Komponente übermittelt.
Folglich liegen nach einem Ausführen
des Verfahrensschritt 203 der zweiten Komponente Informationen
vor, welche es der zweiten Komponente erlauben mit der ersten Komponente
eine Verbindung aufzubauen. Mittels der aufgebauten Verbindung erfolgt
in weiteren Verfahrensschritten das Durchführen einer Interaktion.
-
Zur
Durchführung
der Interaktion erfolgt in einem darauffolgenden Verfahrensschritt 204 ein
Auswählen
einer bestimmten Interaktion aus einer Vielzahl von Interaktionen.
Die Interaktion kann auch als Testfall bezeichnet werden, welcher
in einem Zusammenwirken der ersten Komponente und der zweiten Komponente
ausgeführt
werden soll. Der Testfall dient hierbei der Evaluierung der ersten
Komponente bezüglich
ihrer Anforderungskonformität
bezüglich der
zweiten Komponente. Der Testfall kann funktionale wie auch nicht-funktionale
Parameter der ersten Komponente testen. Funktionale Parameter können zum
Beispiel eine Rechengenauigkeit umfassen. Nichtfunktionale Parameter
können
zum Beispiel Ausführungszeiten
bzw. Antwortzeiten der ersten Komponente aufweisen.
-
In
einem darauffolgenden Verfahrensschritt 205 erfolgt ein
Veranlassen eines Ausführens
des Testfalls, wobei die zweite Komponente ein Ausführen des
Testfalls durch die erste Komponente veranlasst. Dies geschieht
im vorliegenden Ausführungsbeispiel
mittels eines Methodenaufrufs, bei dem die zweite Komponente der
ersten Komponente mitteilt, welcher Testfall von der ersten Komponente
abgearbeitet werden soll. Das Ausführen des Testfalls erfolgt
in einem Verfahrensschritt 206 durch die erste Komponente
und/oder durch die erste und zweite Komponente. Es ist auch möglich, dass
das Ausführen
des Testfalls mittels weiterer Komponenten ausgeführt wird.
-
Bei
einem Ausführen
des Testfalls durch die erste und/oder durch die zweite Komponente
erfolgt in einem darauffolgenden Verfahrensschritt 207 das Auswerten
und Abarbeiten des Testfalls. Hierbei werden diejenigen Parameter
ermittelt, welche in Zusammenschau mit den Anforderungskonformitätsparametern
AP ein Bestimmen eines Vorliegens einer anforderungskonformen Komponente
erlauben. In dem Verfahrensschritt 207 werden zum Beispiel
Antwortzeiten, bereitgestellte Funktionalität und/oder Rechengenauigkeit
der ersten Komponente ermittelt.
-
Alternativ
kann der Verfahrensschritt 207 auch parallel zu der Durchführung des
Verfahrensschritts 206 ausgeführt werden. Somit werden während dem
Ausführen
des Testfalls zum Beispiel Rechengenauigkeit, Antwortzeiten sowie
bereitgestellte Funktionalität
der ersten Komponente mitprotokolliert.
-
In
einem darauffolgenden Verfahrensschritt 208 erfolgt ein
Auswerten der in dem Verfahrensschritt 207 erfassten Daten.
Dies kann zum Beispiel mittels eines Vergleichens der im Verfahrensschritt 207 erfassten
Daten mit den durch die zweite Komponente bereitgestellten Anforderungskonformitätsparametern
AP folgen. In dem vorliegenden Ausführungsbeispiel wird in dem
Verfahrensschritt 208 ein Grad ermittelt, zu dem die in
dem Verfahrensschritt 207 erfassten Interaktionsdaten mit
den bereitgestellten Anforderungskonformitätsparametern AP übereinstimmt.
-
Anhand
dieses Grades der Übereinstimmung
erfolgt in einem darauffolgenden Verfahrensschritt 209 ein
Evaluieren, ob es sich bei der ersten Komponente um eine anforderungskonforme
Komponente, also um einen geeigneten Kommunikationspartner für die zweite
Komponente handelt, wird der Grad der Übereinstimmung in dem Verfahrensschritt 209 als
ungenügend
evaluiert, das heißt
die in Verfahrensschritt 207 erfassten Parameter genügen nicht
den bereitgestellten Anforderungskonformitätsparametern AP, so erfolgt
ein iteratives Ausführen des
beschriebenen Verfahrens ab einem der Verfahrensschritte 200, 201, 202 oder 203.
Folglich erfolgt ein iteratives Überprüfen von
Anforderungskonformitätsparametern
AP bezüglich
einzelner bereitgestellter Komponenten. Wurde hingegen der Grad
der Übereinstimmung
als genügend
evaluiert, so erfolgt ein Ausgeben der ersten Komponente, da diese
sich als anforderungskonform herausgestellt hat. In weiteren Verfahrensschritten
können
die erste Komponente und die zweite Komponente miteinander mittels der
bereitgestellten Schnittstelle interagieren, und somit eine gewünschte Funktionalität bereitstellen.
-
Die
vorbeschriebenen Verfahrensschritte können iterativ und/oder in anderer
Reihenfolge ausgeführt
werden. 3 zeigt ein Blockdiagramm einer Vorrichtung 1 zur
Ermittlung einer anforderungskonformen Komponente K eines technischen
Gerätes gemäß einem
Aspekt der vorliegenden Erfindung. Hierbei wird eine Anforderungskonformität einer
ersten Komponente K1 mittels einer Interaktion der ersten Komponente
K1 mit einer zweiten Komponente K2 anhand von einem in einem Datenspeicher
abgespeicherten Anforderungskonformitätsparametern AP mittels einer
Evaluierungskomponente 3 evaluiert.
-
4 zeigt
ein detailliertes Blockdiagramm einer Vorrichtung 1 zur
Ermittlung einer anforderungskonformen Komponente eines technischen
Gerätes.
Hierzu weist die Vorrichtung 1 eine erste Komponente K1,
eine zweite Komponente K2 und eine dritte Komponente K3 auf. Im
vorliegenden Ausführungsbeispiel findet
die Vorrichtung 1 in einem Mobiltelefon Einsatz. Das heißt dass
die Vorrichtung 1 in diesem Ausführungsbeispiel mitsamt der
ersten Komponente K1, der zweiten Komponente K2 und der dritten
Komponente K3 in dem Mobiltelefon integriert ist. Bei der zweiten
Komponente K2 handelt es sich zum Beispiel um eine Kontaktverwaltungseinheit.
Eine Kontaktverwaltungseinheit nimmt neue Kontakte zum Beispiel
durch eine Benutzereingabe entgegen und veranlasst deren persistente
Speicherung. Da das Mobiltelefon eine Mehrzahl von Speichern aufweist,
wie zum Beispiel ein interner Speicher, eine Micro-SD-Karte und/oder einen
entfernten Speicher, welcher mittels einer Luftschnittstelle angesprochen
werden kann, ist eine weitere, dritte Komponente K3 notwendig. Diese
dritte Komponente K3 agiert als eine Vermittlungseinheit und vermittelt
einer dienstanfragenden Komponente, im vorliegenden Ausführungsbeispiel
der Komponente K2, entsprechende Dienstanbieter, das heißt Komponenten, welche
den durch die zweite Komponente K2 angeforderten Dienst ausführen können.
-
Die
Vorrichtung 1 verfügt über eine
erste Komponente K1, welche im vorliegenden Ausführungsbeispiel als eine Speicherverwaltungseinheit agiert.
Die Speicherverwaltungseinheit liest zugreifbare Datenspeicher aus
und ermittelt unter Anderem deren freien Speicher. Ferner ist die
Speicherverwaltungseinheit bzw. die Komponente K1 geeignet Antwortnachrichten
auf Speicheranfragen zu generieren. Wird zum Beispiel angefragt,
dass 50 neue Kontakte in dem Datenspeicher DB1 abgespeichert werden
sollen, so ermittelt die erste Komponente K1 den freien Speicher
des Datenspeichers DB1 und erzeugt daraufhin eine Antwortnachricht,
welche einen Hinweis darauf gibt, ob diese 50 Kontakte auf dem Datenspeicher
DB1 gespeichert werden können.
-
Da
im vorliegenden Ausführungsbeispiel
die Vorrichtung 1 über
eine Vielzahl von Speicherverwaltungseinheiten verfügt, ist
der zweiten Komponente K2 vorerst unbekannt, dass die erste Komponente
K1 eingegebene Kontakte gemäß bereitgestellter
Anforderungen persistent speichern kann. Anforderungen können hierbei
zum Beispiel sein, dass die eingegebenen Kontakte in einem bestimmten
Datenformat und/oder in einem Bestimmten Zeichensatz abgespeichert
werden müssen.
Die erste Komponente K1 weist eine solche anforderungskonforme Schnittstelle
auf, das heißt über die
durch die Schnittstelle der ersten Komponente K1 bereitgestellte
Funktionalität können die
Kontakte in dem bestimmten Format und dem bestimmten Zeichensatz
abgespeichert werden.
-
Diese
Schnittstelle hat die erste Komponente K1 bei einer dritten Komponente,
nämlich
der Vermittlungseinheit hinterlegt. Dies ist in der vorliegenden 4 mittels
dem Pfeil S41 gekennzeichnet. Folglich ist der dritten Komponente
K3 die Schnittstelle der ersten Komponente K1 bekannt. Bei der dritten
Komponente K3 ist eine Vielzahl weitere Schnittstellen von weiteren
Komponenten hinterlegt. Die zweite Komponente K2 stellt nun eine
Anfrage an die dritte Komponente K3. Dies ist in der vorliegenden 4 durch
den Pfeil S42 gekennzeichnet. Folglich stellt die zweite Komponente
K2 eine Anfrage an die dritte Komponente K3, wobei die Anfrage beschreibt,
dass 50 weitere Telefonkontakte persistent zu speichern sind. Die
dritte Komponente K3 ist geeignet, anhand der übermittelten Anforderungsparameter
eine Vorauswahl an hinterlegten Schnittstellen zu treffen. Das heißt, dass
die dritte Komponente K3 geeignet ist, die Anforderungen der zweiten
Komponente K2 zu analysieren, deren Parameter mit den hinterlegen
Schnittstellenparametern bezüglich
ihrer Kompatibilität
zu überprüfen und
eine Auswahl an hinterlegten Schnittstellendefinitionen bereitzustellen.
Folglich wird eine Auswahl an potenziell anforderungskonformen Komponenten
durch die dritte Komponente K3 an die zweite Komponente K2 übermittelt.
Dies ist in der vorliegend 4 mittels
dem gerichteten Pfeil S43 gekennzeichnet. Somit wurden im vorliegenden
Ausführungsbeispiel
alle Speicherverwaltungseinheiten, welche der dritten Komponente K3
bekannt sind, an die zweite Komponente K2 übermittelt. Folglich liegen
der zweiten Komponente K2 mindestens eine potenziell anforderungskonforme Komponente
vor. Folglich verfügt
die zweite Komponente K2 über mindestens
eine Schnittstellendefinition, welche es ihr ermöglicht mit eben dieser Komponente
mittels der Schnittstellendefinition zu interagieren bzw. zu kommunizieren.
-
Folglich
kann die zweite Komponente K2 eine Interaktion mit der ersten Komponente
K1 veranlassen. Dies ist im vorliegenden Ausführungsbeispiel mittels dem
gestrichelten Pfeil S45 gekennzeichnet. Die zweite Komponente K2
verfügt über eine
Anzahl an Datenspeichern DB2, DB3, welche Anforderungskonformitätsparameter
AP abspeichern. Ferner speichert mindestens einer der Datenspeicher
DB2, DB3 Testfälle
ab. Ein Testfall beschreibt hierbei eine Interaktion zwischen der
zweiten Komponente K2 und der ersten Komponente K1.
-
Im
vorliegenden Ausführungsbeispiel
soll vor dem persistenten Speichern der 50 neuen Kontakte in einem
Testfall geprüft
werden, ob die ersten Komponente K1 geeignet ist, diese 50 Kontakte
abzuspeichern. Dies bietet unter anderem den Vorteil, dass ein persistentes
Speichern der 50 neuen Kontakte erst dann erfolgte, wenn dies auch
möglich
ist. Folglich interagiert die zweite Komponente K2 mit der ersten
Komponente K1, wobei die zweite Komponente K2 der ersten Komponente
K1 sukzessive die 50 Kontakte übermittelt.
Die erste Komponente K1 empfängt
diese 50 Kontakte und liest den freien Speicherplatz des Datenspeichers
DB1 aus. Da es sich um einen Testfall handelt, erfolgt mittels der
ersten Komponente K1 lediglich ein Vergleichen des Speicherbedarfs
der 50 neuen Kontakte mit dem Speicher, welcher durch den Datenspeicher
DB1 freigegeben ist. Es erfolgt folglich noch kein persistentes
Speichern der 50 neuen Kontakte. Somit wird ein Speichern der 50
neuen Kontakte simuliert, jedoch noch nicht produktiv ausgeführt. Die
erste Komponente K1 ist folglich in einen Testmodus versetzt, wobei
dieser Testmodus weitere Parameter bzw. Zustande aufweisen kann.
-
Ein
Zustand bezieht sich im vorliegenden Ausführungsbeispiel auf eine ausgelesene
Menge an verfügbarem
Speicherplatz des Datenspeichers DB1. Hierbei können auch mehrere Zustände zu Äquivalenzzuständen zusammengefasst
werden. Da ein Speichern von 50 Kontakten typischerweise weniger
als 1 MB benötigt,
können
bezüglich
der Operation des Speichers der 50 Kontakte die Zustände ”10 MB frei” sowie ”20 MB frei” zu einem Äquivalenzzustand
zusammengefasst werden. Bezüglich
einem Abspeichern von Datenmengen, welche kleiner als 1 MB sind,
ist eine identische Abarbeitung des Abspeicherns bei einem freien
Speicher von 10 MB oder einem freien Speicher von 20 MB zu erwarten.
Das Abarbeiten kann zum Beispiel mittels einem Anforderungskonformitätsparameter
AP, welcher zum Beispiel eine Antwortzeit definiert, evaluiert werden.
-
Der
Zustand der ersten Komponente K1 kann mittels einer Interaktion
mit der zweiten Komponente K2 verändert werden. Zum Beispiel
können
bei der Interaktion mit der Komponente K2 Probleme bezüglich dem
Datenspeicher DB1 auftreten. Ein solches Problem besteht wenn der
Datenspeicher DB1 nicht mehr genügend
Speicher bereitstellen kann. Ein weiteres Beispiel für ein solches
Problem, ist, dass der Datenspeicher DB1 nicht mehr verfügbar ist.
Hierbei ist es möglich,
dass die Netzwerkverbindung über
die die erste Komponente K1 mit dem Datenspeicher DB1 kommuniziert,
nicht mehr besteht. Ein Verändern
des Zustands der ersten Komponente K1 ist auch durch eine Interaktion
mit einer weiteren Komponente, zum Beispiel einer vierten Komponente
K4 möglich.
So kann zum Beispiel die vierte Komponente K4 ebenfalls Datenspeicher
von der ersten Komponente K1 anfordern.
-
Es
kann vorteilhaft sein, die Ergebnisse der Interaktion der ersten
Komponente mit der zweiten Komponente abzuspeichern, um in weiteren
Testläufen
genau diese Interaktion nicht mehr abprüfen zu müssen. Hierbei ist es möglich neben
den Kommunikationspartnern K1 und K2 auch deren Zustände mit abzuspeichern.
So kann in weiteren Testläufen
abgeschätzt
werden, wie sich zum Beispiel die ersten Komponente K1 in einem
bestimmten Zustand bezüglich
einer bestimmten Interaktion verhält. Hierbei können auch
die Äquivalenzzustände der
ersten Komponente K1 berücksichtigt
werden.
-
Anhand
der Interaktion zwischen der zweiten Komponente K2 und der ersten
Komponente K1 ist die zweite Komponente K2 geeignet, festzustellen, ob
die Komponente K1 bezüglich
der Anforderungskonformitätsparameter
AP ein geeigneter Kommunikationspartner ist. Hierzu ist es möglich, dass
die erste Komponente K1 der zweiten Komponente K2 Parameter übermittelt,
welche die Interaktion beschreiben. Die zweite Komponente K2 beendet
den Testmodus und übermittelt
in weiteren Interaktionen mit der ersten Komponente K1 bei einer
positiven Evaluierung der Interaktionsparameter Daten, welche persistent
durch die erste Komponente K1 gespeichert werden. Wird die erste
Komponente K1 als nichtanforderungskonform evaluiert, weil zum Beispiel
die Interaktionsparameter eine Antwortzeit beschreiben, welche den
Anforderungen der zweiten Komponente K2 nicht genügen, so
ist die zweite Komponente K2 geeignet, weitere Komponenten bei der
dritten Komponente K3 anzufragen.
-
In
einem weiteren Ausführungsbeispiel
ist mindestens eine der Komponenten K1, K2 und K3 nicht direkt innerhalb
der Vorrichtung 1 integriert, sondern kann von der Vorrichtung 1 mittels
einer Datenverbindung entfernt gesteuert bzw. angefragt werden.
So ist es zum Beispiel möglich,
dass die erste Komponente K1 in einem externen Gerät, das heißt nicht
in der Vorrichtung 1 verbaut ist. Weiterhin ist es folglich
möglich,
dass die dritte Komponente K3 ebenso in einem externen Gerät, zum Beispiel
einem Server, integriert ist.
-
In
einem weiteren Ausführungsbeispiel
ist mindestens eine der Komponenten K1, K2, K3 und K4 innerhalb
einer Komponente integriert. Folglich ist es zum Beispiel möglich, dass
die Komponente K3 in der zweiten Komponente K2 integriert ist.
-
Die
Komponenten K1, K2, K3 und/oder K4 können als jegliche Art von Recheneinheit
vorliegen, zum Beispiel als Prozessor, Mikroprozessor, Computer,
Computersystem, Central Processing Unit, arithmetische Recheneinheit
und/oder als Schaltkreis.
-
Die
Datenspeicher DB1, DB2 und/oder DB3 können als ein gemeinsamer Datenspeicher
oder als getrennte Datenspeicher implementiert sein. Bei dem Datenspeicher
kann es sich zum Beispiel um eine virtuelle Datenbank, eine Festplatte,
eine Flash-Disk, einen USB-Stick, eine Floppy-Disk, eine Diskette, eine
CD, eine DVD, eine Blueray-Disk, ein Magnetband und/oder einen Wechseldatenträger handeln.
-
Die
Komponenten K1, K2, K3 und K4 können untereinander
als auch mit den Datenspeichern DB1, DB2 und/oder DB3 mittels einer
Netzwerkverbindung kommunizieren. Eine Netzwerkverbindung kann kabelgebunden
oder kabellos hergestellt werden. Eine Netzwerkverbindung kann hierbei
weitere netzwerktypische Komponenten aufweisen, wie zum Beispiel einen
Hub, einen Switch, einen Router, einen Server, einen Client, eine
Netzwerkkarte und/oder ein weiteres Netzwerk.
-
5 zeigt
ein Sequenzdiagramm eines Verfahrens zum Ermitteln einer anforderungskonformen
Komponente gemäß einem
Aspekt der vorliegenden Erfindung. Hierbei ist die Kommunikation zwischen
den Kommunikationspartnern K1, K2 und K3 beispielhaft demonstriert.
In einem ersten Verfahrensabschnitt S50 erfolgt ein Testen einer
initialen Kompatibilität
zwischen dem ersten Kommunikationspartner K1 und dem zweiten Kommunikationspartner
K2. Im vorliegenden Ausführungsbeispiel
ist die dritte Komponente K3 eine Integrationsinfrastruktur, die
zweite Komponente K2 ein Schnittstellenverwender und die erste Komponente
K1 ein Schnittstellenanbieter.
-
In
einem Verfahrensschritt S51 erteilt die dritte Komponente K3 der
zweiten Komponente K2 die Kontaktinformation der ersten Komponente
K1 mit. In zwei darauffolgenden Verfahrensschritten S52 und S53
startet die dritte Komponente K3 beide Kommunikationspartner, nämlich K1
und K2. Folglich ist die Verbindung der ersten Komponente K1 und
der zweiten Komponente K2 hergestellt. In einem darauffolgenden
Verfahrensschritt T erfolgt das Testen der Anforderungskonformität der ersten
Komponente K1 bezüglich
den Anforderungskonformitätsparame tern der
zweiten Komponente K2. Wird bei dem Test erkannt, dass die erste
Komponente K1 mit der zweiten Komponente K2 nicht kompatibel ist,
das heißt
dass die erste Komponente K1 keine anforderungskonforme Komponente
darstellt, so erfolgt in einem Verfahrensschritt S54 ein Trennen
der Verbindung. Ändert sich
ein Zustand der ersten Komponente K1 bzw. der zweiten Komponente
K2, so dass beide kompatibel sind, so teilt dies die dritte Komponente
K3 der zweiten Komponente K2 in einem Verfahrensschritt S55 mit.
Folglich kann die zweite Komponente K2 erneut eine Interaktion mit
der ersten Komponente K1 veranlassen.
-
6 zeigt
ein Zustandsdiagramm, welches veranschaulicht, in welchen Zuständen sich
die Komponenten K1, K2 und/oder K3 befinden können.
-
Während der
Systemlaufzeit kann sich einer der Kommunikationspartner K1, K2
und/oder K3 in einem von vier möglichen
Zuständen
Z1, Z2, Z3 oder Z4 befinden. Im Folgenden werden diese vier Zustände Z1,
Z2, Z3 und Z4 beispielhaft beschrieben:
- – In einem
ersten Zustand Z1 ist mindestens einer der Kommunikationspartner
K1, K2 und/oder K3 nicht betriebsfähig, wenn er in ein System
eingebracht wird. Dieser Zustand Z1 wird solange erhalten, bis in
diesem System für
jede seiner benötigten
Schnittstellen mindestens ein betriebsfähiger Kommunikationspartner
vorhanden ist.
- – In
einem zweiten Zustand Z2 ist mindestens einer der Kommunikationspartner
K1, K2 und/oder K3 betriebsfähig:
in diesem Zustand befindet sich ein Kommunikationspartner K1, K2
und/oder K3, solange für
jede seiner benötigten
Schnittstellen mindestens ein betriebsfähiger Kommunikationspartner
vorhanden ist sofern er nicht in ein System eingebunden werden soll.
Es kann sich hierbei um einen passiven Kommunikationspartner handeln, der
nur in ein System eingebunden werden soll, wenn mindestens ein weiterer
Kommunikationspartner existiert, der eine der Schnittstellen benötigt, die
von dem passiven Kommunikationspartner angeboten werden.
- – In
einem dritten Zustand Z3 ist mindestens einer der Kommunikationspartner
K1, K2 und/oder K3 in einem Testmodus. In diesem Zustand befindet sich
ein Kommunikationspartner K1, K2 und/oder K3, wenn die Interaktionen
mit einem weiteren Kommunikationspartner getestet werden sollen. Dies
kann sowohl ein initialer Test als auch ein Äquivalenzzustandstest sein.
Sämtliche Änderungen
des internen Zustands eines Kommunikationspartners im Testmodus
müssen
rückgängig gemacht
werden, sobald der Kommunikationspartner diesen Zustand wieder verlässt. Dies
ist erforderlich, damit der Kompatibilitätstest keinerlei Seiteneffekte
auf ein laufendes System haben kann, was auch als San7dbox-Prinzip
bezeichnet werden kann. Sollte die Interaktion mit einem Kommunikationspartner
irreversible Zustandsänderungen
einschließen,
so müssen
diese im Testmodus durch Simulation der Zustandsänderung substituiert werden.
- – In
einem vierten Zustand Z4 befindet sich mindestens einer der Kommunikationspartner
K1, K2 und/oder K3 in einem aktiven Betriebsmodus: In diesem Zustand
Z4 interagiert der Kommunikationspartner mit weiteren Kommunikationspartnern im
System über
die angebotenen und benötigten Schnittstellen.
Diesen Zustand verlässt
er wieder, wenn sich für
einen der mit ihm interagierenden Kommunikationspartner oder für ihn selbst
die Äquivalenzklasse
bzw. der Äquivalenzzustand bezüglich einer
Schnittstelle ändert.
Wenn dies in einem ungetesteten Äquivalenzklassentupel
der kombinierten Äquivalenzklasse
resultiert, wird erneut ein Äquivalenzklassentest
durchgeführt,
um die Kompatibilität
der Kommunikationspartner zu prüfen.
-
7 beschreibt
in einem weiteren Ausführungsbeispiel
eine Kommunikation bezüglich
der ersten Komponente K1, der zweiten Komponente K2 und der dritten
Komponente K3. Im vorliegenden Ausführungsbeispiel erfolgt ein
Testen einer initialen Kompatibilität der ersten Komponente K1
bezüglich der
zweiten Komponente K2. Hierzu versetzt die dritte Komponente K3
die zweite Komponente K2 in einem Verfahrensschritt S71 in einen
Testmodus. Analog hierzu setzt die dritte Komponente K3 die erste Komponente
K1 in einen Testmodus, was in einem Verfahrensschritt S72 erfolgt.
In einem darauffolgenden, optionalen Verfahrensschritt S73 erfolgt
ein Setzen eines Testmodus für
weitere Kommunikationspartner, zum Beispiel einer vierten Komponente
K4.
-
In
einem darauffolgenden Verfahrensschritt S74 veranlasst die dritte
Komponente K3, dass die zweite Komponente K2 eine Interaktion mit
der ersten Komponente K1 startet. Die entsprechende Interaktion
erfolgt in den Verfahrensschritten S75 und S76. Während dieser
Interaktion, gemäß den Verfahrensschritten
S75 und S76 erfolgt ein Testen, ob die erste Komponente K1 bezüglich den
Anforderungen der zweiten Komponente K2 konform ist. Daraufhin evaluiert
die zweite Komponente K2 das Testergebnis und entscheidet bezüglich der
Anforderungskonformität
der ersten Komponente K1. Dieses Testergebnis wird in einem weiteren
Verfahrensschritt S77 der dritten Komponente K3 mitgeteilt. Daraufhin
beendet die dritte Komponente K3 in den Verfahrensschritten S78
und S79 den Testmodus der ersten Komponente K1 bzw. der zweiten
Komponente K2.
-
In
einem darauffolgenden, optionalen Verfahrensschritt S710 erfolgt
ein Abspeichern der Interaktionsergebnisse der ersten Komponente
K1 und der zweiten Komponente K2 mitsamt deren Zuständen.
-
8 zeigt
ein Sequenzdiagramm einer Kommunikation der ersten Komponente K1,
der zweiten Komponente K2 und der dritten Komponente K3. Hierbei
erfolgt ein Testen einer Anforderungskonformität der ersten Komponente K1
bezüglich
den Anforderungen der zweiten Komponente K2 bezüglich unterschiedlicher Äquivalenzzuständen. Hierzu erfolgt
in einer vorberei teten Phase ein Testen der Kompatibilität der ersten
Komponente K1 bzw. der zweiten Komponente K2. Die Verfahrensschritte
S81, S82, S83, S84, S85, S86 und/oder S87 könne analog zu denen in 7 gezeigten
Verfahrensschritten S71, S72, S73, S74, S75, S76 und S77 durchgeführt werden.
In einem weiteren Verfahrensschritt S88 erfolgt ein Abspeichern
von kompatibler Äquivalenzzustände der
ersten Komponente K1 und der zweiten Komponente K2. Daraufhin wird
in dem Verfahrensschritt S89 der zweiten Komponente K2 mitgeteilt, dass
eine Kompatibilität
zwischen der ersten Komponente K1 und der zweiten Komponente K2
vorliegt und somit die zweite Komponente K2 den operativen Betrieb
mit der anforderungskonformen Komponente K1 aufnehmen kann. Stellt
die erste Komponente K1 jedoch keine anforderungskonforme Komponente dar,
so erfolgt in einem alternativen Verfahrensschritt S810, welcher
in diesem Fall der Inkompatibilität den Verfahrensschritt S88
ersetzt. Folglich werden in dem Verfahrensschritt S810 inkompatible Äquivalenzzustände bzw.
inkompatible Äquivalenzzustandskombinationen
gespeichert. Da keine Kompatibilität bzw. Anforderungskonformität zwischen
der ersten Komponente K1 und der zweiten Komponente K2 vorliegt,
erfolgt in einem weiteren Verfahrensschritt S811 eine Veranlassung
eines Trennens der Interaktion zwischen der ersten Komponente K1
und der zweiten Komponente K2.
-
In
weiteren Verfahrensschritten S812 und S813 wird der Testmodus der
ersten Komponente K1 und der zweiten Komponente K2 beendet.