DE102009035519A1 - Verfahren und Vorrichtung zum Ermitteln einer anforderungskonformen Komponente - Google Patents

Verfahren und Vorrichtung zum Ermitteln einer anforderungskonformen Komponente Download PDF

Info

Publication number
DE102009035519A1
DE102009035519A1 DE102009035519A DE102009035519A DE102009035519A1 DE 102009035519 A1 DE102009035519 A1 DE 102009035519A1 DE 102009035519 A DE102009035519 A DE 102009035519A DE 102009035519 A DE102009035519 A DE 102009035519A DE 102009035519 A1 DE102009035519 A1 DE 102009035519A1
Authority
DE
Germany
Prior art keywords
component
requirement
interaction
conformity
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102009035519A
Other languages
English (en)
Inventor
André Appel
Cornel Dr. Klein
Holger Klus
Dirk Niebuhr
Andreas Prof. Rausch
Jürgen REICHMANN
Reiner Dr. Schmid
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE102009035519A priority Critical patent/DE102009035519A1/de
Priority to PCT/EP2009/061452 priority patent/WO2010040605A2/de
Publication of DE102009035519A1 publication Critical patent/DE102009035519A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Die vorliegende Erfindung schafft ein Verfahren und eine Vorrichtung (1), welche es erlauben technische Komponenten mit vorerst unbekannter Schnittstelle in ein laufendes System zu integrieren. Folglich erlaubt es das vorgeschlagene Verfahren bzw. die vorgeschlagene Vorrichtung ein laufendes System bezüglich interagierender Komponenten dynamisch zu rekonfigurieren. Dies erfolgt erfindungsgemäß mittels einer Ausführung von Testfällen. Das vorgeschlagene Verfahren bzw. die vorgeschlagene Vorrichtung (1) findet in einer Vielzahl von Anwendungsbereichen Einsatz, insbesondere bei einem dynamischen Verbinden von vorerst unbekannten Geräten.

Description

  • 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.

Claims (20)

  1. Verfahren zum Ermitteln einer anforderungskonformen Komponente (K) eines technischen Gerätes, wobei eine Anforderungskonformität einer ersten Komponente (K1) mittels einer Interaktion der ersten Komponente (K1) mit einer zweiten Komponente (K2) anhand von abgespeicherten Anforderungskonformitätsparametern (AP) evaluiert wird.
  2. Verfahren nach Anspruch 1, wobei die Interaktion der ersten Komponente (K1) mit der zweiten Komponente (K2) ein Ausführen mindestens eines Testschrittes umfasst.
  3. Verfahren nach Anspruch 2, wobei der mindestens eine Testschritt von der zweiten Komponente (K2) bereitgestellt wird.
  4. Verfahren nach Anspruch 2 oder 3, wobei das Ausführen des mindestens einen Testschrittes durch die erste Komponente (K1) erfolgt.
  5. Verfahren nach mindestens einem der Ansprüche 2 bis 4, wobei das Ausführen des mindestens einen Testschrittes von der zweiten Komponente (K2) veranlasst wird.
  6. Verfahren nach mindestens einem der Ansprüche 1 bis 5, wobei die Anforderungskonformitätsparameter (AP) von der zweiten Komponente (K2) bereitgestellt werden.
  7. Verfahren nach mindestens einem der Ansprüche 1 bis 6, wobei die zweite Komponente (K2) in Abhängigkeit der Interaktion der ersten Komponente (K1) mit der zweiten Komponente (K2) und der abgespeicherten Anforderungskonformitätsparameter (AP) die Anforderungskonformität der ersten Komponente (K1) evaluiert.
  8. Verfahren nach mindestens einem der Ansprüche 1 bis 7, wobei eine Anforderungskonformität der ersten Komponente (K1) vorliegt, falls die Interaktion zwischen der ersten Komponente (K1) und der zweiten Komponente (K2) zu einem bereitgestellten Grad den Anforderungskonformitätsparametern (AP) genügt.
  9. Verfahren nach Anspruch 8, wobei eine dritte Komponente (K3) die erste Komponente (K1) aus einer Vielzahl von Komponenten auswählt.
  10. Verfahren nach Anspruch 9, wobei eine Vielzahl von Komponenten jeweils eine Information bereitstellt anhand derer die erste Komponente (K1) ausgewählt wird.
  11. Verfahren nach mindestens einem der Ansprüche 1 bis 10, wobei die dritte Komponente (K3) die Interaktion der ersten Komponente (K1) mit der zweiten Komponente (K2) veranlasst.
  12. Verfahren nach einem der Ansprüche 1 bis 10, wobei die dritte Komponente (K3) eine Information an die zweite Komponente (K2) bereitstellt, anhand derer die zweite Komponente (K2) eine Interaktion mit der ersten Komponente (K1) veranlasst.
  13. Verfahren nach mindestens einem der Ansprüche 1 bis 12, wobei ein Vorhandensein der Anforderungskonformität zwischen der ersten Komponente (K1) und der zweiten Komponente (K2) abgespeichert wird.
  14. Verfahren nach Anspruch 13, wobei das Vorhandensein der Anforderungskonformität mitsamt Merkmalen der ersten Komponente (K1) und der zweiten Komponente (K2) abgespeichert wird.
  15. Verfahren nach Anspruch 14, wobei die Anforderungskonformität der ersten Komponente (K1) in Abhängigkeit der Merkmale der ersten Komponente (K1) und der zweiten Komponente (K2) besteht.
  16. Verfahren nach Anspruch 15, wobei die Merkmale der ersten Komponente (K1) und der zweiten Komponente (K2) mindestens einen Zustand der ersten Komponente (K1) und/oder der zweiten Komponente (K2) beschreiben.
  17. Verfahren nach Anspruch 15 oder 16, wobei die Merkmale in Abhängigkeit einer vierten Komponente (K4) bereitgestellt werden.
  18. Vorrichtung (1) zur Ermittlung einer anforderungskonformen Komponente (K) eines technischen Gerätes, insbesondere gemäß einem Verfahren nach mindestens einem der Ansprüche 1 bis 17, wobei eine Anforderungskonformität einer ersten Komponente (K1) mittels einer durch eine Interaktionskomponente (2) ausgeführten Interaktion der ersten Komponente (K1) mit einer zweiten Komponente (K2) anhand von in einem Datenspeicher (DB2; DB3) abgespeicherten Anforderungskonformitätsparametern (AP) mittels einer Evaluierungskomponente (3) evaluiert wird.
  19. Computerprogrammprodukt, welches die Durchführung eines Verfahrens gemäß einem der Ansprüche 1 bis 17 veranlasst.
  20. Datenspeicher zum Abspeichern eines Computerprogrammproduktes gemäß Anspruch 19.
DE102009035519A 2008-10-08 2009-07-31 Verfahren und Vorrichtung zum Ermitteln einer anforderungskonformen Komponente Withdrawn DE102009035519A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE102009035519A DE102009035519A1 (de) 2008-10-08 2009-07-31 Verfahren und Vorrichtung zum Ermitteln einer anforderungskonformen Komponente
PCT/EP2009/061452 WO2010040605A2 (de) 2008-10-08 2009-09-04 Verfahren und vorrichtung zum ermitteln einer anforderungskonformen komponente

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102008050843 2008-10-08
DE102008050843.8 2008-10-08
DE102009035519A DE102009035519A1 (de) 2008-10-08 2009-07-31 Verfahren und Vorrichtung zum Ermitteln einer anforderungskonformen Komponente

Publications (1)

Publication Number Publication Date
DE102009035519A1 true DE102009035519A1 (de) 2010-04-15

Family

ID=41821428

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102009035519A Withdrawn DE102009035519A1 (de) 2008-10-08 2009-07-31 Verfahren und Vorrichtung zum Ermitteln einer anforderungskonformen Komponente

Country Status (2)

Country Link
DE (1) DE102009035519A1 (de)
WO (1) WO2010040605A2 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6373822B1 (en) * 1999-01-08 2002-04-16 Cisco Technology, Inc. Data network protocol conformance test system
US6260065B1 (en) * 1999-01-13 2001-07-10 International Business Machines Corporation Test engine and method for verifying conformance for server applications
US7181360B1 (en) * 2004-01-30 2007-02-20 Spirent Communications Methods and systems for generating test plans for communication devices
US7661034B2 (en) * 2005-01-24 2010-02-09 International Business Machines Corporation Multilayered architecture for storage protocol conformance testing of storage devices

Also Published As

Publication number Publication date
WO2010040605A2 (de) 2010-04-15
WO2010040605A3 (de) 2010-12-29

Similar Documents

Publication Publication Date Title
DE102005014273B4 (de) Vergleich von Schnittstellen zwischen Softwarekomponenten
DE102006036322B4 (de) Fahrzeugkommunikationsverfahren und -System, Funktionsidentifikationssystem und elektronische Steuereinheit
DE3783042T2 (de) System zur automatisierung von testen.
DE69209193T2 (de) Netzwerkverwaltungsagent mit vom Bediener geschaffenen Objekten
DE112012004776T5 (de) Erzeugen einer Produktionsserver-Lastaktivität für einen Testserver
DE4426740C1 (de) Testverfahren sowie Konvertereinrichtung, Testeinrichtung und Testprogramm-Modul dafür
DE102015004127A1 (de) Verfahren und System zum Vergleichen von verschienenen Versionen einer cloud-basierten Anwendung in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE102005016033A1 (de) Verfahren und Systeme zum Analysieren von Netzwerkübertragungsereignissen
DE112012002362T5 (de) Automatisierte Empfehlungen für Cloud-Computing-Optionen
DE102005013239A1 (de) Drahtlosmodulsimulator
DE102015004128A1 (de) Verfahren und System zum Testen cloud-basierter Anwendungen und Dienste in einer Produktionsumgebung unter Verwendung von getrennten Back-End-Systemen
DE102005023689A1 (de) Protokollschichtanalyse bei einem Mobilvorrichtungstesten
DE112012004499T5 (de) Testen von Transaktionsanwendungen
DE102012218699A1 (de) Passives überwachen virtueller systeme mittels agentenlosem offline-indexieren
DE112019005914T5 (de) Kategorisierung gewonnener daten basierend auf expliziten und impliziten mitteln
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
DE10309246A1 (de) Verfahren für das Event Management
DE112009000211T5 (de) Programmprüfvorrichtung und -programm
DE19901329A1 (de) Verfahren, Erzeugungsmodul, Server, Steuermodul und Speichermittel zum Erstellen von Validierungsregeln
DE60002455T2 (de) Verfahren und vorrichtung zur automatischen softwareprüfung
DE60301899T2 (de) Netzmanagementsystem, verwaltete Vorrichtung, Managementvorrichtung und Programm
DE102004048666A1 (de) Erweiterbarer Netzwerkagent - Verfahren, System und Architektur
DE102014116865A1 (de) Analysevorrichtung zur Analyse und Manipulation einer Kommunikationssequenz
DE112017002503T5 (de) Schritt-zurück-mechanismus zum entwickeln und diagnostizieren von prozessanwendungen
EP3211830A1 (de) Verfahren zum überwachen und planen einer produktionszelle und netzwerkmanagementsystem für eine produktionszelle

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140201