-
Adaptive
Datenverarbeitungssysteme werden benötigt, um Dienst oder
Funktionen in Abhängigkeit vom Bedarf einer jeweils sich ändernden
Situation der Umgebung anzubieten. Adaptive Datenverarbeitungssysteme
vermitteln zwischen den Bedürfnissen eines Benutzers (direkt
oder über andere Dienst oder Funktionen) und den physischen
Rahmenbedingungen der Umgebung durch Änderung ihrer Verfahrensweise.
-
Im
vorliegenden Zusammenhang bedeutet adaptiv mehr als eine einfache
automatische Auswahl von Betriebsbedingungen. Adaptiv impliziert vielmehr
die Verarbeitung von multidimensionalen Umgebungs- oder Zustandsparametern
zur automatischen Generierung von neuen Betriebsmoden oder Strukturen,
insbesondere von nicht vorprogrammierten Strukturen und Lösungen
im Datenverarbeitungssystem selbst.
-
Beispiele
für adaptive Datenverarbeitungssysteme sind:
- • Router oder Netzknoten, die zum Beispiel die Weiterleitung
von Daten abhängig von der Netztopologie, der Verbindungskapazität
oder den Dienstanforderungen gestalten können.
- • Datenübertragungsnetze, die zum Beispiel
die Kodierung auf unterschiedlichen Protokollschichten in Abhängigkeit
von der Übertragungsqualität anpassen können,
um den Durchsatz zu maximieren. Dies ist insbesondere bei gestörten
und/oder unzuverlässigen Verbindungen, wie zum Beispiel bei
drahtlosen Systemen, von Bedeutung.
- • Netzdienste, die zwischen unterschiedlichen Zugangstechnologien
in Abhängigkeit von Nutzerpräferenzen auswählen
können, wobei die Nutzerforderungen variieren können:
Von einer permanenten Verbindung unabhängig von Kosten
bis zu gelegentlichen automatischen kostenfreien Updates des lokalen
Speichers.
- • Kognitive oder autonome Systeme.
-
Dies
sind nur einige Beispiele für adaptive Datenverarbeitungssysteme.
Andere adaptive Datenverarbeitungssysteme können Regel-
und Steuerungssysteme oder Mikroprozessorsysteme umfassen.
-
Im
Folgenden geht es um Testsysteme und -verfahren für adaptive
Datenverarbeitungssysteme, die Teil eines Telekommunikationssystems
sind. Ein Beispiel für Telekommunikationssysteme sind z.
B. drahtlose Netzwerke, über die eine Kommunikation zwischen
Basisstationen und Terminal stattfindet.
-
Es
ist bekannt, dass adaptive Datenverarbeitungssysteme auf einer festen
Regelschleifenstruktur beruhen können. Dabei werden notwendige
Sensorwerte eingelesen, um den Zustand der Umgebung und die Anforderung
der Nutzer zu erfassen. Daran schließt sich die Berechnung
mittels eines Algorithmus an. Anschließend reagiert das
System durch die Anwendung der algorithmischen Berechnung auf Aktuatoren
(Stellmittel), auf Konfigurationsmittel oder auf das Betriebsverfahren
im Allgemeinen. Beispielsweise wird bei einer drahtlosen Übertragung
oftmals das Kodierungsverfahren und damit die zur Verfügung
stehende Bandbreite dem aktuellen Signal-Rausch-Verhältnis
und damit den Übertragungsbedingungen angepasst. Bei einem
gestörten Übertragungskanal wird eine langsamere,
aber auch robustere Übertragung gewährleistet.
-
Bei
komplexeren adaptiven Datenverarbeitungssystemen kann der algorithmische
Teil eine hohe Komplexität aufweisen, so dass eine feste Struktur,
insbesondere eine feste Input-Output-Struktur nicht auf einfache
Weise erreicht werden kann. Die Gründe dafür können
zum Beispiel nichtlineare Algorithmen, nichtlineare Datenmodelle
und/oder nichtlineare Programmflüsse oder die Kopplung
von verschiedenen Regelschleifen basierend auf einer breitgefächerten
Auswahl notwendiger Sensoreingangsgrößen sein.
-
Um
die Komplexität solcher Datenverarbeitungssysteme zu handhaben,
werden Kontext-Teilsysteme für das Informationsmanagement
eingesetzt. Diese teilen das Datenverarbeitungssystem in zwei Teile
auf: Den algorithmischen Teil und den Informationsmanagementteil,
wobei letzterer die Adressierung der benötigten Informationen,
den Transport der Information zwischen Sensor und Algorithmus unterstützt,
möglicherweise eine Zwischenspeicherung von Informationen
zur Reduktion des Ressourcenverbrauchs und die Handhabung von Meta-Informationen über
Qualität und Sicherheitsaspekte der Sensordaten erlaubt.
-
Es
werden nun effiziente Systeme und Verfahren für die Testung
solcher komplexen adaptiven Datenverarbeitungssysteme benötigt.
-
Es
gibt zwei bekannte Wege, um die Funktion und die Leistungsfähigkeit
eines solchen adaptiven Systems zu testen:
- • Ersetzung
der Sensoren (Software oder Hardware) mit Teststimuli
- • Änderung/Erweiterung des Algorithmus mit
Testprozeduren, um feste Werte einzulesen oder Nutzung von vereinfachten
Prozeduren zur Überprüfung der Sensoren.
-
In
den folgenden Figuren werden einige Ausführungsformen solcher
Systeme und Verfahren als Beispiele beschrieben.
-
1 zeigt
ein Blockdiagramm für das Testen eines adaptiven Datenverarbeitungssystems ohne
ein Kontextmanagementsystem, das aus dem Stand der Technik bekannt
ist;
-
2A zeigt
ein Testsystem, das aus dem Stand der Technik bekannt ist;
-
2B zeigt
eine Ausführungsform eines Testsystems für das
Testen eines adaptiven Datenverarbeitungssystems mit einem Kontextmanagementsystem
in einem ersten Beispiel;
-
3A, 4A zeigen
den Datenfluss basierend auf bekannten Kontextmanagementsystemen;
-
3B, 4B zeigen
den Datenfluss basierend auf Ausführungsformen von ergänzten
Kontextmanagementsystemen;
-
5 zeigt
eine Ausgangssituation für ein weiteres Ausführungsbeispiel;
-
6 zeigt
eine weitere Ausführungsform eines Testsystems für
das Testen der Ausgangsituation gemäß 5.
-
Im
Folgenden werden Anwendungen und Ausführungsformen eines
Testsystems und Verfahren, die im Zusammenhang mit adaptiven Datenverarbeitungssystemen 10 verwendet
werden, beschrieben. Die Bedeutung des Begriffes adaptiv in diesem Zusammenhang
war oben bereits erläutert worden, insbesondere im Zusammenhang
mit der Erzeugung von nicht vorprogrammierten Lösungen.
-
Im
Folgenden werden insbesondere die neuen Möglichkeiten beschrieben,
Tests auszuführen, bei denen das Informations- oder Kontextmanagementsystem
beeinflusst wird, um Teststimuli zu liefern.
-
Kontext
ist jegliche Information, die benutzt werden kann, um die Situation
einer Entität zu charakterisieren. Eine Entität
kann im vorliegenden Zusammenhang eine Person, ein Platz, ein physisches oder
berechnetes Objekt (computational object) sein. Autonome Systeme
können Kontextänderungen erkennen und ihr Verhalten
an (relevanten) Kontext anpassen, wobei vordefinierte Regel- oder
Adaptionsalgorithmen vorhanden sind. Kognitive Systeme sind autonome
Systeme, die in der Lage sind, zu lernen. Sie können Regelstrukturen
entdecken und anwenden, die zu Beginn des Betriebs noch nicht vorhanden
waren.
-
Die
Beispiele zeigen die Anwendung eines Testsystems auf dem Gebiet
der Telekommunikation.
-
In 1 ist
ein adaptives Datenverarbeitungssystem 10, zum Beispiel
zum Erbringen eines Telekommunikationsdienstes, gekoppelt mit Sensormitteln 31, 32, 33, 34, 35 dargestellt,
wobei die Sensormittel 31, 32, 33, 34, 35 Eingangsdaten 11 für
das adaptive Datenverarbeitungssystem 10 bereitstellen. Sensormittel
können sowohl Sensoren zur Messung von physikalischen Größen
sein, z. B. die Messung einer elektromagnetischen Welle, die Nutzung
einer Übertragungsfrequenz oder die Geschwindigkeit mit der
sich eine System bewegt, als auch die Daten einer Telekommunikationsverbindung
und/oder eine Systemzustand. Die Sensoren können dabei
als eigenständige Geräte oder Software-Module
implementiert sein, die ihre Daten bereitstellen. Als Sensormittel
können Komponenten angesehen werden, deren Funktion ausschließlich
die Messung ist oder bei denen Messdaten anfallen, die bei einer
Datenübertragung oder -verarbeitung gewonnen werden. Beispielsweise
kann ein WLAN-Adapter dazu genutzt werden, die Belegung der WLAN-Kanäle
zu bestimmen und mit dem Signal-Rausch-Abstand eine Abschätzung
der möglichen Übertragungsqualität zu liefern.
Wenn eine Test durchgeführt wird, wird das adaptive Datenverarbeitungssystem 10 zum
so genannten „System under Test” (SUT). Die Sensormittel 31, 32, 33, 34, 35 und
die festgefügte Struktur, die diese mit dem Algorithmus-Prozessor 40 des
adaptiven Datenverarbeitungssystems 10 verbindet, sind Teil
des SUT.
-
In
der hier dargestellten Ausführungsform überwachen
die Sensormittel 31, 32, 33, 34, 35 den Datenverkehr
in unterschiedlichen Teilen des Netzes. Das adaptive Datenverarbeitungssystem
weist Eingangsdaten 11 und Ausgangsdaten 12 auf.
-
Andere
Ausführungsformen eines Datenverarbeitungssystems beziehen
sich zum Beispiel auf mobile ad-hoc Netze (MANET). Ein solches System nutzt
unterschiedliche Sensorinformationen, zum Beispiel (die Vorhersage
von) Bewegung und Signalqualität der drahtlosen Schnittstellen,
für den Datentransport oder für einen Routing-Algorithmus
zur effizienten Datenweiterleitung. Um eine Gruppe von mobilen Netzknoten
(Implementierung des erwähnten Algorithmus) zu testen,
wird die reale Sensorinformation durch künstlich erzeugte
Testdaten ersetzt: Zum Beispiel können für einen
Labortest Bewegungsdaten durch vorab aufgezeichnete oder modellierte
Daten ersetzt werden, wobei immer noch die realen Funkschnittstellen
für die Kommunikation zwischen den Knoten in der Testlabor-Umgebung
verwendet werden. Die Anzahl der ersetzten Sensoren hängt von
dem beabsichtigten Betriebsmodus ab: Ein vollständiger
Ersatz aller Sensoren erlaubt die vollständige Kontrolle
der Umgebung des SUT.
-
Werden
keine Sensoren ersetzt so wird das System nur reale Sensoren verwenden
und verhält sich so wie in der endgültigen Betriebsphase.
Eine schnelle Umschaltung zwischen diesen Modi erlaubt ein effizientes
Testen.
-
Das
adaptive Datenverarbeitungssystem 10 weist in dieser Ausführungsform
einen Black-Box-Algorithmus-Prozessor 40, zum Beispiel
in Form eines künstlichen neuronalen Netzes, in Form eines
Expertensystems oder in Form einer Support Vector Machine (SVM)
auf. Der Black-Box-Algorithmus-Prozessor 40 führt
eine Zuordnung (mapping) zwischen den Eingangsdaten 11 und
den Ausgangsdaten 12 durch, das heißt, die Zuordnung
ist á priori nicht vorgegeben, da aufgrund der Verwendung
des Black-Box-Algorithmus-Prozessors 40 keine vorher bestimmbare oder
fixe Zuordnung existiert. Der Black-Box-Algoritmus Prozessor 40 weist
z. B. ein lernfähiges System auf.
-
Die
Zuordnung von Eingangs- und Ausgangsdaten 11, 12 kann
von der Umgebung oder von der Situation abhängen, die von
den Sensormitteln 31, 32, 33, 34, 35 aufgenommen
wird. Die Zuordnung kann auch auf bereits gelernten Korrelationen
basieren oder auf einer anfänglichen oder sich dynamisch entwickelnden
Konfiguration durch einen Benutzer oder eine Kontrolleinheit.
-
Das
adaptive Datenverarbeitungssystem 10 trifft Entscheidungen
(d. h. es bestimmt die Ausgangsdaten 12) basierend auf
den erhaltenen Eingangsdaten 11 unter Verwendung des Black-Box-Algorithmus-Prozessor 40.
Daher ist es zum Beispiel nicht möglich, á priori
festzustellen, welches der Sensormittel 31, 32, 33, 34, 35 verwendet
wird; die Sensormittel 31, 32, 33, 34, 35 werden
so verwendet, wie es die Berechnung innerhalb des adaptiven Datenverarbeitungssystems 10 erfordert.
Um ein solches System zu testen, müssen einem Testgenerator 50 (zum
Beispiel ein Datenverkehrs-Generator) Testdaten für alle
Sensormittel 31, 32, 33, 34, 35 zur
Verfügung gestellt werden.
-
Bekannte
Leistungstests adaptiver Datenverarbeitungssysteme 10,
wie zum Beispiel von Kommunikationssystemen, verwendet Datenverkehrs-Generatoren 50 als
externe und künstliche Stimuli des adaptiven Algorithmus
innerhalb des System under Test (SUT) (das heißt des Datenverarbeitungssystems 10),
wie dies in 1 dargestellt ist.
-
Im
Folgenden wird dargestellt, wie das Testen des adaptiven Datenverarbeitungssystems 10 verbessert
werden kann, indem ein Kontextmanagementsystem 20 verwendet
wird.
-
In 2A wird
ein Testsystem beschrieben, wie es aus dem Stand der Technik bekannt
ist.
-
Ein
adaptives Datenverarbeitungssystem 10 ist hier das System
under Test (SUT). Ein mögliches Beispiel hierfür
ist ein mobiler Netzknoten oder Router, der unter normalen Betriebsbedingungen
den Datenverkehr in Abhängigkeit von dessen Ort und/oder
kinematischen Charakteristiken (Geschwindigkeit, Beschleunigung)
verarbeiten würde.
-
Das
adaptive Datenverarbeitungssystem 10 empfängt
Eingangsdaten 11, das heißt Datenpakete (network
traffic), die von dem Black-Box-Algorithmus-Prozessor 40 verarbeitet
werden. Die Eingangsdaten 11 werden den Ausgangsdaten 12A, 12B zugeordnet,
zum Beispiel als unterschiedliche Warteschlangen (queues) oder unterschiedliche
Schnittstellen.
-
Intern
verwendet das adaptive Datenverarbeitungssystem 10 Sensormittel 31, 32, 33, 34,
die mit einem Protokollstapel (protocol stack) 36 (zum Beispiel
dem OSI Schichten-Modell) und/oder anderen Sensoreingängen 35 verbunden
sind. Die Sensormittel 31, 32, 33, 34, 35 messen
relevante Parameter in den Eingangsdaten 11 und/oder von
anderen Quellen aus der Umgebung.
-
Für
Testzwecke substituiert das Testmittel 50 die realen Datenquellen
und sendet generierte Testdaten zu dem Eingang 11. Für
die Sensormittel 31, 32, 33, 34, 35 muss
ein realistischer Datensatz für alle möglichen
internen Sensormittel generiert werden. Dies erfordert die Simulation
einer großen Datenmenge, unabhängig davon, ob
diese tatsächlich von dem Black-Box-Algorithmus-Prozessor 40 zu einer
bestimmten Zeit oder in einer bestimmten Situation verwendet wird
oder nicht.
-
In 2B wird
eine Ausführungsform des Testsystems gemäß der
Erfindung beschrieben.
-
Die
grundlegende Struktur entspricht der in 2A, das
heißt ein adaptives Datenverarbeitungssystem 10 weist
einen Eingangsdatenstrom 11 und einen Ausgangsdatenstrom 12A, 12B auf.
Da ein Black-Box-Algorithmus-Prozessor 40 verwendet wird,
gibt es keine vorherbestimmte Zuordnung zwischen Eingangsdaten 11 und
Ausgangsdaten 12. Die Zuordnung wird generell dynamisch
geschehen, das heißt unter unterschiedlichen Betriebsbedingungen.
-
Die
Eingangsdaten 11 werden üblicherweise durch Sensormittel 31, 32, 33, 34, 35 aufgenommen, wie
zuvor beschrieben (2A). Anders als im Fall der 2A,
sind die Sensormittel 31, 32, 33, 34, 35 mit
einem Kontextmanagementsystem 20 gekoppelt.
-
Aus
dem Stand der Technik sind unterschiedliche Kontextmanagementsysteme 20 bekannt,
wie zum Beispiel Context Server oder Middleware-Ansätze.
Hier wird als ein mögliches Beispiel die Verwendung des
Context Coordination and Dissemination Systems (CCDS) beschrieben.
-
Mehr
Informationen über Kontextmanagementsysteme, insbesondere
CCDS, können in folgenden Referenzen gefunden werden:
- Dorota
Witaszek, Jens Tiemann „Context Dissemination System: Requirements,
Architecture and Ability to Support Measurement Results",
Technical Report TR-2008-0130, January 2008, Fraunhofer FOKUS
- Jens Tiemann, Dorota Witaszek: "Context Coordination
and Dissemination System Architecture and Basic Implementation",
Technical Report TR-2008-0303, March 2008, Fraunhofer FOKUS (beide
verfügbar unter http://www.fokus.fraunhofer.de/go/ccds)
-
Das
Context Coordination and Dissemination System (CCDS) ist ein System
für die Verwaltung, Adressierung und die Übertragung
von Kontext, wobei eine Reihe von Software-Bibliotheken (Libraries) und
Kommandozeilen-Programmen verwendet werden. Das CCDS ermöglicht
den Aufbau einer Kontext-Infrastruktur oder die Implementierung
von applikationsspezifischen Provider-, Nutzer- und Verzeichniskomponenten
(Directory). Provider bieten Kontextinformationen in der Form von
Kontextdatenobjekten an, Benutzerkomponenten verwenden den erfassten Kontext
für die Entscheidungsfindung und Directory-Komponenten
vermitteln dazwischen, sie ermöglichen das Auffinden von
benötigtem Kontext und sammeln statistische Informationen.
Das Hauptziel des CCDS ist das Auffinden vorhandener Kontextinformationen
und das Weiterleiten an relevante Stellen.
-
Eine Übersicht über
andere Architekturtypen und Komponenten von Kontextmanagementsystemen
kann in folgender Literaturquelle gefunden werden:
- Baldauf,
M., Dustdar, S.: A survey an context-aware systems. In: Int. J.
Ad Hoc and Ubiquitous Computing, Vol. 2, No. 4, pp. 263–277.
Inderscience Enterprises Ltd. (2007)
-
Das
Kontextmanagementsystem 20 umfasst Auswahlmittel 21.
Der Zweck der Auswahlmittel 21 ist die automatische Bestimmung
einer Teilmenge (subset) 30 von Sensormitteln 31, 32, 33, 34, 35 (oder eine
Teilmenge der Daten, die von den Sensormitteln 31, 32, 33, 34, 35 kommen).
-
Im
Folgenden werden Sensormittel 31, 32, 33, 34, 35 und
Daten ausgehend von den Sensormitteln 31, 32, 33, 34, 35 wechselseitig
benutzt.
-
Die
Eingangsdaten 11 des Datenverarbeitungssystems 10 werden
durch interne Sensoren 31, 32, 33, 34, 35 (wie
in 2B) analysiert und Sensordaten über das
Kontextmanagementsystem 20 zugänglich gemacht.
-
Nicht
alle Sensormittel 31, 32, 33, 34, 35 werden
durch den Algorithmus-Prozessor 40 in einer spezifischen
Situation und/oder zu spezifischen Zeiten verwendet. Dies hängt
von dem dynamischen Verhalten des Systems ab, wobei die Auswahlmittel 21 den
Algorithmus auswerten müssen, um einen effizienten Test
zu erreichen. Die Auswertung des Algorithmus erfolgt über
seine Abfragen des Kontextmanagementsystems 20. Unter einer
effizienten Testung wird hier die Minimierung der generierten Testdaten verstanden.
Beispiele sind die Verwendung von Diensten korreliert mit der Zeit
oder dem unangebrachten Gebrauch von Kurzstrecken-Funksystemen während
der Bewegung mit hoher Geschwindigkeit. Zusätzlich kann
das Auswahlmittel 21 durch den Testoperator oder die Testumgebung
gesteuert werden, um den Austausch der Sensormittel 31, 32, 33, 34, 35 durch
Testgeneratoren zu beeinflussen.
-
Die
automatische Bestimmung einer Teilmenge 30 der Sensormittel 31, 32, 33, 34, 35 für
das Testen durch die Auswahlmittel 21 erfordert mindestens
eine vorbestimmte Bedingung, zum Beispiel abgeleitet von Testbedingungen
oder der Evaluierung eines Algorithmus. Ein mögliches Beispiel
für solche vorbestimmten Testbedingungen ist eine Zeitabhängigkeit
der Eingangsdaten 11, das heißt während
bestimmter Zeitperioden sind bestimmte Sensormittel 31, 32, 33, 34, 35 nicht
relevant. Während des Tests wird insbesondere automatisch
bestimmt, welche Sensormittel die Teilmenge 30 bilden.
Alternativ oder zusätzlich kann die vorbestimmte Bedingung
während des Betriebs des adaptiven Datenverarbeitungssystems 10 abgeleitet
werden und kann mit Bedingungen der Testdurchführung kombiniert
werden. Dies erlaubt eine fein abgestimmte Steuerung der Testausführung
und das Einbringen von künstlich generierten Testdaten.
-
Im
Testmodus ersetzen die Testmittel 50 einige der Sensormittel 31, 32, 33, 34, 35 mit
einer Teilmenge 30 der Testsensormittel 31', 32', 33' und
geben diese generierten Testdaten als Eingangsdaten 11' direkt
an das Kontextmanagementsystem 20 weiter. Der Austausch
wird durch die Auswahlmittel 21 gesteuert.
-
In
der Ausführungsform, wie in 2B dargestellt,
wird durch das Auswahlmittel 21 eine Teilmenge 30 der
drei Sensormittel 31', 32', 33' als einzig relevante
Sensormittel aus den fünf zur Verfügung stehenden
Sensormitteln 31, 32, 33, 34, 35 bestimmt. Zum
Beispiel kann dies bedeuten, das die Auswahlmittel 21 festgestellt
haben, dass bestimmte Sensormittel 34, 35 keine
bedeutsamen Eingangsdaten für den Algorithmus-Prozessor 40 liefern.
Das heißt, dass der Algorithmus-Prozessor 40 diese
Daten nicht benötigt, zumindest nicht zu dieser bestimmten
Zeit. Daher ist es am effektivsten, wenn Testdaten nur für eine
Teilmenge 30 generiert werden, die ausreichend für
die Leistungsfähigkeit des adaptiven Datenverarbeitungssystems 10 ist.
-
Ein
kontextbasiertes Testsystem, wie es in 2B dargestellt
ist, verwendet ein internes oder externes Kontextmanagementsystem 20,
welches naturgemäß eine Schnittstelle zwischen
dem adaptiven Datenverarbeitungssystem 10 und der Umgebung
bzw. dem Benutzer darstellt. Der Black-Box-Algorithmus-Prozessor 40 verwendet
das Kontextmanagementsystem 20, um unterschiedliche relevante Informationsquellen
auszuwählen oder zu verwenden.
-
Das
Kontextmanagementsystem 20 umfasst eine Funktion für
die Abfrage der Position oder Adressierung der Sensormittel 31, 32, 33, 34, 35 oder die
Information selbst, basierend auf einer abstrakten Beschreibung
der notwendigen Information oder anderer Adressschemata.
-
Diese
Funktion wird im Folgenden Directory genannt. Das Kontextmanagementsystem 20 kann ein
verteiltes System sein, das externe und interne Teile in Verbindung
zum System under Test (SUT), adaptives Datenverarbeitungssystem 10,
aufweist.
-
Wie
im Folgenden gezeigt wird, wird die Directory-Funktion (intern,
extern oder verteilt) durch die „Directory Komponente für
die Testung” ersetzt. Es wird also eine notwendige Komponente
des Informations- oder Kontextmanagements um Funktionen erweitert,
die das Testen vereinfachen. Nun kann über das Directory
gesteuert werden, wie das SUT getestet werden soll. Reale Informationsquellen und/oder
Sensormittel werden voll oder teilweise durch Teststimuli transparent
ersetzt. Das Ziel der Tests ist der Nachweis der Korrektheit der
Implementierung oder der Leistungsfähigkeit des lauffähigen Systems.
-
Die
Verwendung eines Auswahlmittels 21, insbesondere in Verbindung
mit einem Kontextmanagementsystem 20, erlaubt effizientes
und schnelles Umschalten zwischen unterschiedlichen Sensormitteln 31, 32, 33, 34, 35 und
deren Teilmengen 30. Das Auswahlmittel 21 stellt
eine Zwischenschicht zwischen der Entscheidungsinstanz, zum Beispiel der
Algorithmus-Prozessor 40 und den Sensormitteln 31, 32, 33, 34, 35 dar.
-
In 3A, 3B werden
die Wechselwirkungen zwischen unterschiedlichen Teilen des grundsätzlich
bekannten Kontextmanagementsystems (3A) und
einer Ausführungsform des neuen ergänzten Kontextmanagementsystems 20 (3B)
dargestellt. Es wird die Anwendung einer neuen Methode für
zwei unterschiedliche Kontextmanagement-Verarbeitungen dargestellt:
Eine Methode, die dem Middleware- oder dem Context Server-Ansatz
folgt (hier werden die Kontextdaten in einer logischen zentralen
Einheit gespeichert), wie in 3A, 3B dargestellt
oder einem Ansatz mit einem direkten Sensorzugang (wie zum Beispiel
in einem CCDS, wobei die Kontextdaten direkt von den Sensoren bereitgestellt
werden), wie in 4A, 4B dargestellt.
-
In
den 3A, 3B, 4A, 4B ist das
Kontextmanagementsystem durch vertikale Linien dargestellt, der
Algorithmus-Prozessor 40 auf der linken Seite, das Kontextmanagementsystem
in der Mitte und die Sensormittel 31, 32, 33, 34, 35 auf
der rechten Seite.
-
3A, 4A zeigen
die Wechselwirkung mit einem Kontextmanagementsystem, wie es aus dem
Stand der Technik bekannt ist. 3B, 4B zeigen
die Wechselwirkung mit dem neuen ergänzten Kontextmanagementsystem 20.
-
In 3B und 4B werden
die Sensormittel in zwei Teilmengen geteilt, die durch zwei vertikale
Linien dargestellt sind.
-
In 3B, 4B werden
Sensormittel 31', 32', 33' als Testgeneratoren
präsentiert, die eine Teilmenge 30 aller realen
Sensormittel 31, 32, 33, 34, 35 darstellen,
die während des Testes ersetzt werden. Der Umfang der Teilmenge 30 hängt
davon ab, in welchem Umfang der Algorithmus-Prozessor 40 Sensormittel 31, 32, 33, 34, 35 benötigt
und/oder hängt von dem Grad der notwendigen Beeinflussung für
einen bestimmten Test ab.
-
Sensormittel 31, 32, 33, 34, 35,
die nicht von dem SUT benötigt werden, müssen
nicht durch Testgeneratoren ersetzt werden. Teile oder Funktionalitäten
des Systems, die nicht getestet werden oder Sensormittel 31, 32, 33, 34, 35,
von denen erwartet wird, dass sie vernachlässigbar für
verschiedene Tests sind, werden ebenfalls nicht ersetzt.
-
In
den 3A und 3B werden
die Sensordaten direkt zwischen den Sensormitteln 31, 32, 33, 34, 35 und
dem Kontextmanagementsystem 20 ausgetauscht. In diesem
Fall speichert das Kontextmanagementsystem 20 die Sensordaten.
Der Algorithmusprozessor 40 nimmt notwendige Kontextdaten
von dem Kontextmanagementsystem 20 auf. Mit dem neuen ergänzten
Kontextmanagementsystem 20, dargestellt in 3B,
ist es möglich, vom Algorithmus-Prozessor 40 benötigte
Sensordaten 31, 32, 33 zu detektieren.
Die Daten werden während einer Abfrage des Algorithmus-Prozessors 40 mit
generierten Testdaten 31', 32', 33' durch
die Auswahlmittel 21 ersetzt.
-
In
den 4A und 4B wird
die Kontextinformation zwischen den Sensormitteln 31, 32, 33, 34, 35 und
dem Algorithmus-Prozessor 40 in zwei Schritten ausgetauscht.
Das Kontextmanagementsystem 20 vermittelt zwischen dem
Algorithmus-Prozessor 40 und den Sensormitteln 31, 32, 33, 34, 35 und
speichert keine Daten. Zunächst registrieren die Sensormittel 31, 32, 33, 34, 35 ihre
Position oder Adressen innerhalb des Kontextmanagementsystems 20.
Der Algorithmus-Prozessor 40 fordert die Adressen der relevanten
Sensormittel 31, 32, 33, 34, 35 an
und die respektiven Sensormittel 31, 32, 33, 34, 35 werden
direkt in einem zweiten Schritt adressiert, um schließlich
die Daten zu übertragen.
-
Mit
dem neuen ergänzten Kontextmanagementsystem ist es möglich,
Sensordaten 31, 32, 33 zu detektieren,
die von dem Algorithmus verwendet werden, wobei die Sensoradressen
durch das Auswahlmittel 21 ausgetauscht werden, während
die Adressen ausgewertet werden. Der Algorithmus-Prozessor 40 wird
dann transparent Testdaten 31', 32', 33' anfordern.
-
Bei
Ausführungsformen des Testverfahrens ist es möglich,
dass das adaptive Datenverarbeitungssystem 10 in Rahmen
eines Blackbox-Verfahrens geprüft wird. Diese bedeutet,
dass die Eingangssignale ohne Kenntnis der inneren Funktionsweise
des adaptiven Datenverarbeitungssystems 10 erzeugt werden
und die entsprechenden Ausgangssignale aufgezeichnet werden.
-
In 5 und 6 wird
ein zweites Ausführungsbeispiel dargestellt, wobei die 5 in
etwa analog zu 2A, die 6 in etwa
analog zu 2B zu verstehen ist. Grundsätzlich
kann daher auf die beiden Figurenbeschreibung Bezug genommen werden.
-
Allerdings
zeigen die 2A, 2B die
innere Funktionsweise eines adaptiven Kommunikationssystems und
den Einfluss des Testsystems, während die 5 und 6 auf
einen konkreten Test von Basisstationen und Terminals in einem Telekommunikationssystems
beziehen. In der Ausführungsform gemäß 2A, 2B werden
direkt due Nutzerdaten durch das adaptive Kommunikationssystem beeinflusst
(z. B. adaptive Weiterleitung oder Filterung), die Ausgangsdaten
werden auf zwei Interfaces 12A, 12B aufgeteilt.
Im Ausführungsbeispiel der 5 und 6 werden
die Nutzerdaten indirekt beeinflusst, der Algorithmus beeinflusst
die Konfiguration oder die Steuerung des Systems. Bei der Auswahl der
Sensormittel 31, 32, 33, 34, 35 geht
es um die Zuordnung von Frequenzbelegungen, die Eingangsdaten 11 und
die Ausgangsdaten 12 sind bei diesem Ausführungsbeispiel
Frequenzbelegungen.
-
In 5 ist
die Ausgangssituation dargestellt, nämlich die Datenkommunikation
zwischen einer Vielzahl von Basisstationen B1,
B2 Bn und Terminals
T1, T2, T3, T4. Wie durch
die Pfeile „t, v” der „v” angedeutet,
können einige oder auch, alle Terminals T oder Basisstationen
B sich im Raum bewegen und/oder sie senden und empfangen Daten nur
zeitweise, d. h. es liegt eine dynamische Testsituation vor.
-
Für
den Test soll eine weitere Basisstation Bn in
das Datenkommunikationsnetzwerk gebracht werden. Die Basisstation
Bn stellt somit das adaptive Datenverarbeitungssystem 10 dar,
das hier das SUT ist. Die Basisstation Bn soll
sich selbstständig. konfigurieren, d. h. sie soll sich
selbstständig konfigurieren, indem sie z. B. ein bisher
nicht belegtes Frequenzband nutzt oder zu Zeiten kommuniziert, in
denen keine andere Kommunikation zwischen Basisstationen und Terminals
stattfindet.
-
Im
konkreten Fall ist es insbesondere in einer dynamischen Situation
nicht ausreichend, nur am Ort des Einsatzes des SUT (d. h. der Basisstation
Bn) das Frequenzspektrum zu bestimmen, um
eine geeignete Lücke zu finden. Dies kann daran liegen,
dass z. B. auf Grund zeitweiliger Kommunikationspausen eine benachbarte
drahtlose Datenübertragung nicht erkannt wird oder weil
der Interferenzbereich di eines Senders
(d. h. einer Basisstation B) weiter reicht, als der Kommunikationsbereich
dk. Diese „hidden node Problem” ist
in 5 in Zusammenhang mit der Basisstation B3 dargestellt. Eine Datenkommunikationsverbindung
zwischen der Basisstation B3 und dem Terminal
T1 kann das Terminal T2 stören,
auch wenn das Terminal T1 von T2 nicht
empfangen wird.
-
Die
Entscheidung über die Selbstkonfiguration wird mittels
kognitiver Algorithmen, d. h. einen Black-box Algorithmus-Prozessor 40 getroffen,
der in der Basisstation Bn als adaptives
Datenverarbeitungssystem 10 angeordnet ist.
-
Das
Kontextmanagementsystem 20 hat Zugriff auf alle von den
Sensormitteln 31, 32, 33, 34, 35 gemessenen
Daten. Der Algorithmus greift auf alle diese Daten zu und entscheidet
dann, welche Daten zur Optimierung einer Zielfunktion (z. B. hier
Finden eines unbelegten Übertragungskanals. Andere sind z.
B. die Maximierung der Übertragungsqualität, Minimierung
von eingesetzten Ressourcen, Vermeidung von Konfigurationsfehlern).
Die Ausführungsform des Testsystems, die in 6 beschrieben
wird, simuliert die Bedingungen, unter denen die Optimierung durchgeführt
wird.
-
In 6 wird
die Kommunikation zwischen den Basisstationen B und den Terminals
T anlog zu 5 beschrieben, so dass auf die
Beschreibung der 5 Bezug genommen werden kann.
Aus Gründen der Übersichtlichkeit sind in 6 die
Pfeile als Hinweis auf die Dynamik nicht wiedergegeben. Grundsätzlich
kann aber auch die Testumgebung nach 6 dynamische
Bedingungen aufweisen.
-
In 6 wird
eine Ausführungsform des Testsystems für das adaptive
Datenverarbeitungssystem 10 (d. h. die Basisstation Bn) dargestellt. Getestet wird die Selbstkonfiguration
von Bn. Dabei wird getestet, ob von der
Basisstation Bn Lücken im Frequenzspektrum
erkannt und genutzt werden.
-
Die
Basisstation Bn ist in dieser Ausführungsform über
das Kontextmanagementsystem 20 mit den anderen Basisstationen
B1, B2, B3, und Terminals T2,
T3 gekoppelt, indem von den Basisstationen
B1, B2, Bar und
Terminals T1, T2,
T3 Daten über die empfangenen Frequenzspektren
an das Kontextmanagementsystem 20 geschickt werden. Somit
fungieren die Basisstationen B1, B2, B3, und Terminals
T1, T2, T3 als Sensormittel 31, 32, 33, 34, 35.
-
Das
Kontextmanagementsystem 20 ist mit einem Auswahlmittel 21 gekoppelt,
mit dem die Kommunikationsverbindungen ausgewählt werden,
die für eine bestimmte Situation (hier die Verwendung von
Frequenzspektren) wirklich relevant sind, so dass sie in einen Test
mit einbezogen werden müssen. Das Auswahlmittel 21 bestimmt
somit eine Teilmenge 30 der mindestens zwei Sensormittel 31, 32, 33, 34, 35 so,
dass eine Minimierung der zu generierten Testdaten erfolgt.
-
Der
eigentliche Test erfolgt mittels des Testmittels 50, dass
nicht auf den vollständigen Datenaustausch zurückgreifen
muss, sondern dem es ausreicht, wenn nur eine Teilmenge 30 der
Sensormittel 31, 32, 33, 34, 35 simuliert
werden müssen.
-
Im
Testmodus ersetzt das Testmittel 50 einige der Sensormittel 31, 32, 33, 34, 35 mit
einer Teilmenge 30 der Testsensormittel 31', 32', 34' und
gibt diese generierten Testdaten als Eingangsdaten 11' direkt
an das Kontextmanagementsystem 20 weiter. Der Austausch
wird durch die Auswahlmittel 21 gesteuert. Die Testsensormittel 31', 32', 33' sind
hier Testgeneratoren GB2 für Signale
der Basisstation B2, GT2 für
Signale des Terminals T2 und GT3 für
Signale des Terminals T3. Es wird somit
eine künstliche Umgebung für das SUT, d. h. die
Basisstation Bn generiert.
-
Das
Kontextmanagementsystem 20 hat im Zusammenwirken mit dem
Auswahlmittel 21, ermittelt, dass für einen bestimmten
Test nur diese Signale zur Simulation notwendig sind. Der Testsensorgenerator
GvB, der z. B. die Bewegung der Basisstationen B
simulieren würde, wird hier nicht benötigt.
-
Die
Ausgangsdaten 12 sind die Konfiguration (also die Entscheidung,
welcher Frequenzbereich genutzt wird) des SUT, d. h. der Basisstation
Bn und/oder die ausgewählte Kommunikationsfrequenz, die
extern z. B. über einen Testempfänger TT gemessen wird.
-
Die
Optimierung der Zielfunktion unter Testbedingungen kann im Zusammenwirken
mit den Testsensormitteln 31', 32', 34' erfolgen.
Bei Test können Extreme herausgefunden werden, die beim
Normalbetrieb (wie z. B. 5) nicht ermittelbar wären.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste
der vom Anmelder aufgeführten Dokumente wurde automatisiert
erzeugt und ist ausschließlich zur besseren Information
des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen
Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt
keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- - Dorota Witaszek,
Jens Tiemann „Context Dissemination System: Requirements,
Architecture and Ability to Support Measurement Results”,
Technical Report TR-2008-0130, January 2008, Fraunhofer FOKUS [0041]
- - Jens Tiemann, Dorota Witaszek: ”Context Coordination
and Dissemination System Architecture and Basic Implementation”,
Technical Report TR-2008-0303, March 2008, Fraunhofer FOKUS [0041]
- - http://www.fokus.fraunhofer.de/go/ccds [0041]
- - Baldauf, M., Dustdar, S.: A survey an context-aware systems.
In: Int. J. Ad Hoc and Ubiquitous Computing, Vol. 2, No. 4, pp.
263–277. Inderscience Enterprises Ltd. (2007) [0043]