-
Gebiet der
Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Kommunikationsnetzwerke,
insbesondere, jedoch nicht ausschließlich auf die Planung von Mehrdienste-Verbindungen
in einem hierarchischen Breitband-Netzwerk.
-
Hintergrund
der Erfindung
-
Breitband-Kommunikationsnetzwerke
müssen
eine Vielzahl von Diensten, in vielen Fällen in Kombination, über Transport-
und Zugangsnetzwerke bereitstellen, die sich geografisch hinsichtlich
ihrer Fähigkeiten und
ihrer Dienstgüte-Parameter
unterscheiden. Weiterhin werden Kommunikationsdaten in vielen Fällen verschiedenen
Formen von Transformationen, wie z. B. Kompression und Umsetzung,
als Teil ihrer Übertragung zwischen
den beteiligten Parteien unterworfen.
-
Breitband-Netzwerke
sind mit großer
Wahrscheinlichkeit für
eine ziemlich lange zukünftige
Zeit hinsichtlich der Arten der Verbindungsmöglichkeiten, die sie bieten,
und der verfügbaren
Dienste-Überleiteinrichtungen
heterogen. Es ergibt sich daher ein Problem bei der Bereitstellung
eines Dienstes zur Erfüllung
der Forderungen eines Endbenutzers hinsichtlich der Einrichtungen,
die bei einem Diensteanbieter zur Verfügung stehen.
-
Die
Planung von Verbindungen in hierarchischen Breitband-Kommunikationsnetzwerken
beinhaltet in ähnlicher
Weise ein Planen einer Route von Verbindungsstrecken und/oder Knoten
in einem einfachen Netzwerk. Aufgrund des Vorhandenseins der Hierarchie
in dem Breitband-Kommunikationsnetzwerk kann das Routing- oder Weglenkungsproblem
zu einer Hierarchie von Weglenkungs-Teilproblemen führen. Ein klassischer Weglenkungsalgorithmus
(beispielsweise der von Dijkstra) könnte angewandt werden, um eine
Route zwischen zwei Knoten zu finden. Das gleiche Weglenkungsproblem
könnte
jedoch rekursiv auf Teilprobleme angewandt werden, die in dem hierarchischen
Netzwerk entstehen, doch muss, wenn ein Teilproblem keine Lösung hat,
eine Route höherer
Ebene modifiziert werden.
-
Eine
weitere Kompliziertheit in einem heterogenen Breitband-Netzwerk
besteht in den unterschiedlichen Eigenarten von Verbindungsstrecken
zwischen Knoten, beispielsweise kann eine Verbindungsstrecke zwischen
zwei Knoten lediglich in der Lage sein, eine bestimmte Art von Daten
zwischen den zwei Knoten zu übertragen.
Verkehrsübertragungs-
und/oder Transportcharakteristiken derartiger Knoten stellen ein „Verhalten" der Knoten dar.
Daher muss eine entsprechende Hierarchie von Verhaltensregeln gefunden
werden, um die Verkehrsübertragungs-Transportcharakteristiken
einzelner Verbindungsstrecken und/oder Knoten zusätzlich zu
der Route von Verbindungsstrecken und/oder Knoten selbst zu beschreiben,
um vollständig
eine Verbindung zu planen, die einen Dienst für einen Endbenutzer bereitstellt.
-
In
dem US-Patent 4 999 833 (Lee) ist ein System beschrieben, das einen
Satz von heuristischen Regeln auf einer Wissensbasis anwendet, um
Verbindungspfade durch ein Netzwerk auszuwählen. Die Verbindungspfade
werden jedoch aus einer Weglenkungsfolge auf der Grundlage einer
einfachen Liste von Kommunikationsverbindungsstrecken ausgewählt, so
dass es nicht möglich
ist, die Transformation von Kommunikationsdaten als Teil ihrer Übertragung über das
Netzwerk abzuwickeln. Weiterhin bezieht sich das System lediglich
auf Funknetzwerke und nicht auf heterogene Netzwerke und beseitigt
daher nicht die Probleme, die mit der Planung von Mehrdienste-Verbindungen über Transport-
und Zugangsnetzwerke verbunden sind, die sich geografisch hinsichtlich
ihrer Fähigkeiten
und ihrer Dienstgüte-Parameter
unterscheiden.
-
Zusammenfassung
der Erfindung
-
Eine
neuartige hier umrissene Lösung
unterstützt
die Schaffung und die Verwaltung von Breitbanddienste-Verbindungen
in einer integrierten Weise, wobei eine Kombination einer strukturierten
Modellierung und einer zielbasierten Routenfindung verwendet wird.
-
Gemäß einem
ersten Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren
zur Erstellung eines Verbindungsplans geschaffen, der zumindest
eine Verbindung zwischen einer Mehrzahl von Endpunkten in einem
Netzwerk darstellt, das eine Vielzahl von Knoten und eine Vielzahl
von Verbindungsstrecken umfasst, wobei jeder Knoten zumindest einen
Endpunkt aufweist, der ihn mit einer Verbindungsstrecke verbindet,
wobei jede Verbindungsstrecke sich zwischen zumindest einem Paar
der Endpunkte erstreckt und jede Verbindungsstrecke einen Typ aufweist,
wobei der Verbindungsplan Daten, die einen Satz der genannten Endpunkte
beschreiben, und Daten umfasst, die die Arten der Verbindungsstrecken
zwischen den Endpunkten beschreiben, wobei das Verfahren die folgenden
Schritte umfasst:
Schaffen einer geschichteten Datendarstellung
von zumindest einem Teil der Netzwerke durch Schaffen einer Datendarstellung
der Knoten, Verbindungsstrecken und Endpunkte der Verbindung; und
Anwenden
eines Algorithmus auf die Datendarstellung zur Erzeugung des Verbindungsplans,
wobei
das Verfahren dadurch gekennzeichnet ist, dass der Schritt der Schaffung
einer Datendarstellung des zumindest einen Teils des Netzwerkes
die Darstellung des zumindest einen Teils des Netzwerkes als Syntaxdaten
umfasst, die die Knoten, Verbindungsstrecken und Endpunkte beschreiben,
und dass der Schritt des Anwendens eines Algorithmus auf die Datendarstellung
das Manipulieren der Syntaxdaten mit Hilfe einer Künstliche-Intelligenz-Technik
umfasst, um den Verbindungsplan zu gewinnen.
-
Vorzugsweise
umfasst eine Syntax-Datendarstellung eine Liste von zumindest einer
Klausel, wobei jede derartige Klausel zumindest einen Ausdruck umfasst.
-
Diese
Klauseln können
Aussagen und Bedingungen umfassen.
-
Vorzugsweise
arbeitet der Algorithmus so, dass er einen Ausdruck einer Klausel
auswählt,
die die Verbindung als Teilziel darstellt, und rekursiv versucht,
das Teilziel zu lösen.
-
Dem
Teilziel kann eine Priorität
zugeordnet werden, und der Algorithmus wählt ein Teilziel mit einer höchsten Priorität aus.
-
Ein
Algorithmus kann ein Teilziel auswählen, das eine Klausel mit
den wenigsten Ausdrücken
ist.
-
Der
Algorithmus kann ein Teilziel entsprechend der Reihenfolge seiner
Ausdrücke
auswählen.
-
Der
Algorithmus kann ein Teilziel mit einer niedrigsten Position in
der Netzwerk-Hierarchie
auswählen.
-
Der
Algorithmus kann das Teilziel zufällig auswählen.
-
Der
Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist,
entsprechend einer Position der Klausel in der Liste von Klauseln
auswählen.
-
Der
Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist,
durch Auswahl einer Klausel auswählen,
die einen Ausdruck aufweist, der in dem Verbindungsplan eingeschlossen
ist.
-
Der
Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist,
durch Auswählen
einer Klausel auswählen,
die in der Netzwerk-Hierarchie am niedrigsten steht.
-
Der
Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist,
durch Auswählen
einer Klausel mit einem Ausdruck auswählen, der die kleinste Kapazität hat.
-
Der
Algorithmus kann zufällig
eine Klausel auswählen,
mit der das Teilziel zu lösen
ist.
-
Vorzugsweise
stellen die Klauseln Daten dar, die Merkmale des Netzwerkes beschreiben,
wobei die Merkmale aus dem folgenden Satz ausgewählt sind:
Klassen von
Netzwerkknoten;
Endpunkte der Netzwerkknoten;
Verbindungsstrecken
des Netzwerkes;
schematische Darstellungen der Verbindungsstrecken-Typen.
-
Ein
derartiger Verbindungsstrecken-Typ kann aus dem folgenden Satz ausgewählt werden:
Bindung;
Realisierung;
Verhalten;
Enthaltensein
(Containment).
-
Eine
geografische Darstellung des Verbindungsplans kann beschrieben werden.
-
Der
Verbindungsplan wird vorzugsweise als ein Satz von Verbindungen
in dem Netzwerk realisiert.
-
Die
Darstellung kann eine im Wesentlichen Prolog-artige Syntax umfassen.
-
Gemäß einem
zweiten Gesichtspunkt der vorliegenden Erfindung wird eine Verbindungsplanungsvorrichtung
zum Planen von zumindest einer Verbindung in einem Netzwerk geschaffen,
das eine Vielzahl von Knoten und Verbindungsstrecken aufweist, wobei
jeder Knoten zumindest einen Endpunkt aufweist, der ihn mit einer
Verbindungsstrecke verbindet, wobei jede Verbindungsstrecke zwischen
den Endpunkten einen Typ aufweist, wobei die Vorrichtung in der
Lage ist, einen Verbindungsplan zu schaffen, der einen Satz von
Endpunkten und den Arten von Verbindungsstrecken zwischen den Endpunkten
umfasst, wobei die Vorrichtung Folgendes umfasst:
Einrichtungen
zur Schaffung einer geschichteten Datendarstellung von zumindest
einem Teil des Netzwerkes durch Schaffen einer Datendarstellung
der Knoten, Verbindungsstrecken und Endpunkte der genannten Verbindung;
und eine Inferenzmaschine, die einen Algorithmus umfasst, der die
Datendarstellungen verwendet, um den Verbindungsplan zu erzeugen,
wobei die Vorrichtung dadurch gekennzeichnet ist, dass die Einrichtung zur
Schaffung einer Datendarstellung von zumindest einem Teil des Netzwerkes
so angeordnet ist, dass sie eine Syntax-Datendarstellung schafft, die die Knoten,
Verbindungsstrecken und Endpunkte beschreibt, und dass die Inferenzmaschine
eine Künstliche-Intelligenz-Einrichtung
umfasst, die auf die Syntax-Datendarstellung einwirkt, um den Verbindungsplan
zu erzeugen.
-
Diese
Syntax-Datendarstellung kann eine Liste von zumindest einer Klausel
umfassen, wobei jede Klausel zumindest einen Ausdruck umfasst.
-
Diese
Klauseln können
Horn-Klauseln umfassen.
-
Die
Inferenzmaschine kann einen Ausdruck einer Klausel auswählen, die
die Verbindung als Teilziel darstellt, und rekursiv versuchen, das
Teilziel zu lösen.
-
Dem
Teilziel kann eine Priorität
zugeordnet werden, und die Inferenzmaschine wählt ein Teilziel mit einer
höchsten
Priorität
aus.
-
Die
Inferenzmaschine kann ein Teilziel auswählen, das eine Klausel mit
den wenigsten Ausdrücken
ist.
-
Die
Inferenzmaschine kann ein Teilziel entsprechend der Ordnung seiner
Ausdrücke
auswählen.
-
Die
Inferenzmaschine kann ein Teilziel mit einer niedrigsten Position
in der Netzwerk-Hierarchie
auswählen.
-
Die
Inferenzmaschine kann das Teilziel zufällig auswählen.
-
Die
Inferenzmaschine kann eine Klausel, mit der das Teilziel zu lösen ist,
entsprechend einer Position der Klausel in der Liste von Klauseln
auswählen.
-
Die
Inferenzmaschine kann eine Klausel, mit der das Teilziel zu lösen ist,
durch Auswählen
der Klausel auswählen,
die einen Ausdruck einschließt,
die in dem Verbindungsplan enthalten ist.
-
Die
Inferenzmaschine kann eine Klausel, mit der das Teilziel zu lösen ist,
durch Auswählen
einer Klausel auswählen,
die in der Netzwerk-Hierarchie am niedrigsten ist.
-
Die
Inferenzmaschine kann eine Klausel, mit der ein Teilziel zu lösen ist,
durch Auswählen
einer Klausel mit einem Ausdruck auswählen, der die kleinste Kapazität hat.
-
Die
Inferenzmaschine kann zufällig
eine Klausel auswählen,
mit der das Teilziel zu lösen
ist.
-
Die
Klauseln können
Daten darstellen, die Merkmale des Netzwerkes beschreiben, wobei
die Merkmale aus dem folgenden Satz ausgewählt sind:
Klassen der
Netzwerkknoten;
Endpunkte der Netzwerkknoten;
Verbindungsstrecken
der Netzwerke;
schematische Darstellung der Verbindungsstreckenarten.
-
Eine
Verbindungsstreckenart wird in geeigneter Weise aus dem folgenden
Satz ausgewählt:
Bindung;
Realisierung;
Verhalten;
Enthaltensein
(Containment).
-
Vorzugsweise
umfasst die Verbindungsplanungsvorrichtung weiterhin eine Einrichtung
zur Anzeige einer grafischen Darstellung des Verbindungsplans.
-
Die
Verbindungsplan-Vorrichtung kann eine Einrichtung zur Realisierung
des Verbindungsplans als einen Satz von Verbindungen in dem Netzwerk
umfassen.
-
Entsprechend
einem dritten Gesichtspunkt der vorliegenden Erfindung wird ein
Verfahren zur Verarbeitung von Daten geschaffen, die ein hierarchisches
Netzwerk beschreiben, das eine Vielzahl von Knoten, wobei jeder
dieser Knoten einen Satz von Ausrüstungsposten umfasst, und eine
Vielzahl von physikalischen Verbindungsstrecken umfasst, die die
Vielzahl von Knoten verbinden, wobei das Verfahren dadurch gekennzeichnet
ist, dass es die folgenden Schritte umfasst:
Darstellen einer
Knotenausrüstung
als Syntaxdaten, die die Knotenausrüstung beschreiben;
Darstellen
einer Vielzahl von Fähigkeiten
der Knotenausrüstungen
durch Schaffen von Syntaxdaten, die die Fähigkeiten beschreiben;
Darstellen
der Verbindungsstrecken durch Syntaxdaten, die die Verbindungsstrecken
beschreiben, wobei die Syntaxdaten eine Mehrzahl von Klauseln umfassen;
und
Manipulieren der Klauseln mit Hilfe einer Künstliche-Intelligenz-Technik
zur Erzielung einer Lösung
von Verbindungen, die in der Lage sind, in ein geschichtetes Verbindungsmodell
transformiert zu werden, das für
die Anwendung in dem Netzwerk geeignet ist.
-
Die
Darstellung der Syntaxdatenfähigkeiten
umfasst vorzugsweise:
eine Knotenidentifikation;
einen
Eingangsdaten-Typ;
einen Ausgangsdaten-Typ; und
eine hierarchische
Netzwerkschicht, auf der der Knoten erscheint.
-
Die
Syntaxdaten-Verbindungsstrecken-Darstellung umfasst vorzugsweise
Folgendes:
zumindest zwei Knoten, die Endpunkte der Verbindungsstrecken
darstellen; und
eine hierarchische Netzwerkschicht, auf der
die Verbindungsstrecke erscheint.
-
Die
Darstellung kann eine im Wesentlichen Prolog-artige Syntax umfassen.
-
Gemäß einem
weiteren Gesichtspunkt der vorliegenden Erfindung wird eine Netzwerk-Verwaltungsvorrichtung
für ein
Kommunikationsnetzwerk geschaffen, das eine Vielzahl von miteinander
verbundenen Netzwerkelement-Geräten
umfasst, wobei die Netzwerk-Verwaltungsvorrichtung Folgendes umfasst:
eine
Vielzahl von Gerätesteuerungen,
die zumindest ein entsprechendes Netzwerkelement-Gerät steuern,
wobei die Vielzahl von Gerätesteuerungen
eine Vielzahl von Geräte-Teilsteuerungen
umfasst;
wobei eine Vielzahl von von einem Netzwerkelement-Gerät ausgeführten Funktionen
jeweils durch eine entsprechende jeweilige Geräte-Teilsteuerung dargestellt
ist, und dadurch gekennzeichnet, dass:
ein Satz von Multimedien-Diensteverbindungen
zwischen den Gerätesteuerungen
vorgesehen ist, dass die Verbindungen in einer Weise angeordnet
sind, die einen Multimedien-Dienst zwischen den Netzwerkelement-Geräten darstellt,
und wobei jede Geräte-Teilsteuerung
Folgendes umfasst:
eine Datenspeichereinrichtung, die Syntaxdaten
speichert, die eine Funktion eines Netzwerkelement-Gerätes beschreibt;
und eine Einrichtung zur Erzeugung von Verwaltungssteuersignalen
aus den gespeicherten Syntaxdaten zur Steuerung des Netzwerkelement-Gerätes.
-
Gemäß einem
weiteren Gesichtspunkt der Erfindung wird ein Verfahren zur Steuerung
eines Netzwerkes geschaffen, das eine Vielzahl von Netzwerkelement-Geräten umfasst,
wobei jedes Gerät
eine Vielzahl von Dienstefunktionen unterstützt, wobei das Verfahren die
folgenden Schritte umfasst:
Darstellen jedes Netzwerkelement-Gerätes durch
eine entsprechende Gerätesteuerung;
für jede Gerätesteuerung,
Darstellen jeder Funktionsfähigkeit,
die von einem entsprechenden Netzwerkelement-Gerät bereitgestellt wird, durch
eine entsprechende Geräte-Teilsteuerung;
wobei das Verfahren durch die folgenden Schritte gekennzeichnet
ist:
Verknüpfen
einer Vielzahl der Teilsteuerungen von unterschiedlichen Gerätesteuerungen
in einer Weise, die eine geschichtete Diensteverbindung darstellt,
die von den Netzwerkelement-Geräten
unterstützt
wird, und wobei jede Geräte-Teilsteuerung Folgendes
umfasst:
ein Datenspeichermedium zum Speichern von Syntaxdaten,
die eine Funktionalität
eines Netzwerkelement-Gerätes
beschreiben; und
eine Steuersignal-Erzeugungseinrichtung zur
Erzeugung von Steuersignalen aus den gespeicherten Syntaxdaten zur
Steuerung einer Funktion des Netzwerkelement-Gerätes.
-
Kurze Beschreibung
der Zeichnungen
-
Zum
besseren Verständnis
der Erfindung, und um zu zeigen, wie diese ausgeführt werden
kann, werden nunmehr lediglich als Beispiel spezielle Ausführungsformen,
Verfahren und Prozesse gemäß der vorliegenden
Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben,
in denen:
-
1 schematisch einen Teil
eines Breitband-Netzwerkes zeigt (in der Praxis würde ein
Breitband-Netzwerk hauptsächlich
Teilschichten, Knoten und Verbindungen haben);
-
2 ein Modell einer Architektur
eines Netzwerk-Verwaltungssystems zur Verwaltung von Netzwerk-Elementen
des Netzwerkes nach 1 zeigt;
-
3 eine Anordnung einer Netzwerk-Steuerungsvorrichtung
zur Steuerung einzelner Netzwerkelemente über das Netzwerk nach 1 hin weg zeigt;
-
4 schematisch ein Anwendungsmodell
zeigt, das ein hierarchisches Netzwerk darstellt, das Instanzen
und Verbindungen zwischen den Instanzen umfasst;
-
5 schematisch einen Algorithmus
gemäß der bevorzugten
Ausführungsform
zeigt, der einen Erzeugungs-Darstellungsschritt, einen Lösungsspezifikations-Schritt
und einen Lösungssuche-Schritt
umfasst;
-
6 schematisch Schritte zeigt,
die während
des Lösungssuche-Schrittes
nach 5 ausgeführt werden,
unter Einschluss eines Teilziel-Auswahlschrittes und eines Entscheidungs-Schrittes,
wie ein ausgewähltes
Teilziel zu lösen
ist;
-
7 schematisch Schritte zeigt,
die während
des Auswahl-Schrittes eines Teilziels zur Lösung nach 6 ausgeführt werden, unter Einschluss
einer Teilziel-Auswahl
entsprechend Betriebsart- und Prioritätsschritten und eines Verbindungs-Teilziel-Auswahlschrittes;
-
8 Prioritäten und
Betriebsarten zeigt, die mit Teilzielen verbunden sind, die von
den in 7 gezeigten Schritten
verwendet werden;
-
9 Schritte zeigt, die während des
Teilziel-Verbindungs-Auswahlschrittes nach 7 ausgeführt werden;
-
10 Schritte zeigt, die während des
Schrittes zur Entscheidung, wie das ausgewählte Teilziel zu lösen ist,
nach 6 ausgewählt werden;
-
11 ein vereinfachtes Anwendungsmodell
zeigt;
-
12 schematisch Schritte
zeigt, die von der bevorzugten Ausführungsform ausgeführt werden
können,
während
ein Verbindungsproblem gelöst
wird, das sich auf das Anwendungsmodell nach 11 bezieht;
-
13 die Ausführung der
Schritte nach 12 an
dem Anwendungsmodell nach 11 zeigt;
-
14 weitere Schritte zeigt,
die von der bevorzugten Ausführungsform
des Anwendungsmodells nach 11 ausgeführt werden
können;
und
-
15 die Ausführung der
Schritte nach 14 auf
das Anwendungsmodell nach 11 zeigt.
-
Ausführliche
Beschreibung der besten Art der Ausführung der Erfindung
-
Es
wird nunmehr in Form eines Beispiels die beste Ausführungsform
beschrieben, die von den Erfindern zur Ausführung der Erfindung in Betracht
gezogen wird. In der folgenden Beschreibung sind vielfältige spezielle
Einzelheiten angegeben, um ein gründliches Verständnis der
vorliegenden Erfindung zu liefern. Es ist jedoch für den Fachmann
verständlich,
dass die vorliegende Erfindung in die Praxis umgesetzt werden kann,
ohne dass diese speziellen Einzelheiten verwendet werden. In anderen
Fällen
wurden gut bekannte Verfahren und Strukturen nicht im Einzelnen
beschrieben, um die vorliegende Erfindung nicht unnötig zu verdecken.
-
In 1 ist schematisch ein Teil
eines Breitband-Kommunikationsnetzwerkes gezeigt, das eine Vielzahl
von Knoten und Verbindungsstrecken umfasst, und bei dem ein Verbindungs-Planungsproblem
vorhanden ist, das unter Bezugnahme auf ein Hybrid-Netzwerk beschrieben
wird, das asynchrone Übertragungsbetriebsart-(ATM-)
und T1-Übertragungsknoten
umfasst. Eine Endbenutzervorrichtung 100, beispielsweise
ein Telefon, kann lediglich über
ein Sprachsignal kommunizieren und ist mit einem öffentlichen
Fernsprechwählnetz
(PSTN) an einer Ortsnetzvermittlung verbunden. An einer anderen
Seite des ATM-Netzwerkes 101 befindet sich ein Textgenerator-System 102.
Irgendwo innerhalb des Bereichs des ATM-Netzwerkes 101 befindet sich
ein Text-zu-Sprache-Konverter 103 zur Umwandlung von von
dem Textgenerator erzeugten Text in Sprachesignale. Ein Zugang zwischen
dem T1-Netzwerk 104 und
dem ATM-Netzwerk 101 erfolgt über eine T1-ATM-Zugangsvorrichtung 105.
-
Das
Problem bei diesem Beispiel besteht darin, dass ein Benutzer der
Endbenutzervorrichtung 100 wünschen könnte, eine Sprachemitteilung
von dem von dem Textgenerator 102 erzeugten Text zu empfangen. Der
Textgenerator 102 erzeugt Textdatensignale, die in Sprachesignale
durch den Text-zu-Sprache-Konverter 103 umgewandelt
werden, die dann über
das ATM-Netzwerk und das T1-Netzwerk über den
T1-ATM-Zugangsknoten 105 an den Endbenutzer weitervermittelt
werden. Ein Betreiber an dem Textgenerator 102 gibt Text
ein, der von dem Endbenutzer 100 über dessen Telefongerät als ein
Sprachesignal empfangen wird.
-
Dies
ist ein Beispiel eines Multimedien-Diensteverbindungsproblems. Im
Kontext von allgemeine Multimediendienste unterstützenden
Hybrid-Netzwerken kann sich eine große Anzahl von Problemen dieser
Art ergeben, beispielsweise Text zu Sprache-Umwandlung, Sprache zu Text-Umwandlung,
Datenumwandlung usw. Diese Probleme sind möglicherweise äußerst kompliziert
zu lösen
und nur kompliziert unter Verwendung eines Netzwerk-Verwaltungssystems
zu verwalten.
-
Ein
Problem besteht darin, dass man nicht nur in der Lage sein muss,
herauszufinden, wie die erforderliche Verbindungsfähigkeit
herzustellen ist, um einen Ende-zu-Ende-Dienst zu erzielen, sondern
man muss auch in der Lage sein, diese Verbindungsmöglichkeit
auf Netzwerk-Verwaltungseinrichtungen umzusetzen, um die physikalische
Ressourcen-Hardware zu verwalten, die diesen Dienst bereitstellt.
-
Bei
der hier vorgeschlagenen Lösung
werden die Verbindungsmöglichkeits-
und Zusammenwirkungs- oder Netzanpassungsmöglichkeiten, die ein Breitband-Kommunikationsnetzwerk
bietet, in Ausdrücken
von Folgendem modelliert:
- (i) verschiedene
Transport- und Dienste-Teilschichten, Knoten und Verbindungen zwischen
Knoten;
- (ii) Querverbindungs- und Zusammenwirkungs- oder Netanpassungsfunktionen,
die in Knoten unterstützt sind.
-
Die
in diesem Beispiel erläuterten
Fähigkeiten
könnten
dazu verwendet werden, eine Vielzahl von unterschiedlichen Benutzer-Diensten
zu unterstützen,
unter Einschluss der Einfügung
von automatisch erzeugten Sprache-Fragmenten aus einer Bibliothek
von Zeichenketten.
-
Die 2 und 3 zeigen ein spezielles Beispiel, wie
die Netzwerkelement-Geräte
nach 1 auf der Grundlage
von Schreibweisen modelliert werden können, die in den synchronen
digitalen Hierarchie-(SDH-) und ATM-Verwaltungsdomänen verwendet
werden.
-
Die
Schreibweise des in 2 gezeigten
Modells beruht auf einem Anwendungsmodell-Konzept, wie dies in der
früheren
US-Patentanmeldung 08/921649 vom 27. August 1997 des gleichen Anmelders
beschrieben ist, von dem eine Kopie hiermit eingereicht wird, und
deren Inhalte durch diese Bezugnahme hier aufgenommen werden.
-
Ein
Anwendungsmodell umfasst eine Darstellung einer Vielzahl von Anwendungsebenen-Elementen, die
Elemente in einem Verwaltungssystem sind, die sich auf eine physikalische
Ressource beziehen, wie z. B. ein Bauteil, ein zusammengesetztes
Bauteil oder ein System, wobei die Funktionalität des Bauteils, des zusammengesetzten
Bauteils oder Systems unabhängig
von einer internen Struktur des Bauteils, des zusammengesetzten
Bauteils oder Systems dargestellt ist.
-
Ein
Anwendungsebenen-Element kann in der Lage sein, Verwaltungssignale
zu tiefem, die sich auf alle Gesichtspunkte der Verwaltung einer
Funktionalität
eines Bauteils, eines zusammengesetzten Bauteils oder eines Systems
unabhängig
von der internen Struktur beziehen, wobei beispielsweise Signale
bereitgestellt werden, die einen Status oder ein Betriebsverhalten
eines eines Bauteils, eines zusammengesetzten Bauteils oder eines
Systems in Ausdrücken
einer Funktionalität
unabhängig
von ihrer internen Struktur beschreiben oder eine Steuerung eines
Bauteils, eines zusammengesetzten Bauteils oder eines Systems unabhängig von
dessen interner Struktur liefern. In geeigneter Weise sind Anwendungsebenen-Elemente aus einem
Satz von verwalteten Objekten, beispielsweise gemäß der ITU-T
TMN-Architekturnorm aufgebaut.
-
Ein
Anwendungsmodell umfasst ein Modell für eine externe Schnittstelle,
das heißt
eine „Black Box"-Betrachtung von
modellierten physikalischen Ressourcen, das von einem Menschen als
Benutzer oder einem Anwendungsprogramm verwendet werden kann.
-
Ein
Realisierungsmodell umfasst eine Darstellung einer Sammlung von
Realisierungsebenen-Elementen, die physikalische Ressourcen darstellen
und mit diesen in Schnittstellenverbindung stehen, und in denen
die spezielle interne Auslegung dieser Ressourcen, das heißt die physikalischen
und logischen Realisierungsdetails von physikalischen Ressourcen,
dargestellt sind.
-
Jeder
Knoten des Netzwerkes, der ein physikalisches Netzwerkelement-Gerät umfasst,
wie z. B. den Textgenerator 102, den Text-zu-Sprache-Konverter 103,
den T1-ATM-Zugangsknoten 105 und die Endbenutzervorrichtung 100,
ist durch eine jeweilige Gerätesteuerung 300, 301, 302, 303 in
einer Netzwerk-Steuerungsvorrichtung
dargestellt, die betrieben wird, um Knotenelement-Geräte des Netzwerkes über Betriebs-Verwaltungs-Wartungs-(OAM-)Steuersignale
zu steuern, die über
das Netzwerk hinweg übertragen
werden. Die Gerätesteuerungen
können
verwaltete Objekte umfassen, wie dies in den ITU-T TMN-Architektur-Spezifikationen beschrieben
ist. Die Gerätesteuerungen 300–303 sind
so aufgebaut und miteinander verbunden, dass sie die Dienstefunktionalität darstellen,
die von ihren entsprechenden jeweiligen Netzwerkelement-Geräten 102, 103, 105, 106 bereitgestellt
wird. Beispielsweise unterstützt
eine Textgenerator-Gerätesteuerung 200 eine
ATM-Anschluss-Endpunktfunktion und eine Textverbindungs-Endpunktfunktion.
In ähnlicher
Weise unterstützt
eine Text-zu-Sprache-Konvertergerät-Steuerung 301 ein Paar von
ATM-Verbindungs-Endpunkt-Funktionen 204, 205,
eine Textverbindungs-Endpunktfunktion 206 und eine Sprache-Verbindung-Endpunktfunktion 202 und eine
Text-zu-Sprache-Umwandlungsfunktion 208.
-
Jede
Gerätesteuerung 300–303 umfasst
eine Anzahl von Teilsteuerungen, die jeweils eine Funktion steuern,
die von dem entsprechenden Netzwerkelement-Gerät bereitgestellt wird. Die
Teilsteuerung kann verwaltete Objekte umfassen, wie dies in den
ITU-T-Architekturspezifikationen beschrieben ist. Beispielsweise stellt
der Textgenerator 102 eine ATM-Verbindungs-Endpunkt-Einrichtung
bereit, die durch eine ATM-Verbindungs-Endpunkt-Teilsteuerung 309 gesteuert
wird, und der Textgenerator 102 stellt einen Textverbindungs-Endpunkt
bereit, der durch die Textverbindungs-Endpunktfunktion-Teilsteuerung 310 unterstützt wird. Jede
Teilsteuerung ist als ein Datenspeichergerät, das die Funktionalität beschreibende
Datensignale enthält, beispielsweise
von einem Gerät
bereitgestellte Funktionen, und als eine Einrichtung zur Erzeugung
von Funktionssteuersignalen zur Steuerung dieser Funktionalität realisiert.
Die Teilsteuerungen von unterschiedlichen Gerätesteuerungen in der Netzwerk-Verwaltungsvorrichtung
sind über
Signalkanäle
miteinander verbunden, die Diensteverbindungen, Verbindungsstrecken,
Pfade und Dienstefunktionen darstellen.
-
Um
die Netzwerk-Steuerung aufzubauen, die die Vielzahl von Gerätesteuerungen
und einem Bestandteil hiervon bildenden Teilsteuerungen nach 3 umfasst, wird zunächst das
Netzwerk modelliert, was zu Funktionsmodell-Daten führt, die
die Funktionalität
und Verbindungsmöglichkeit
angeben, wie dies schematisch in 2 gezeigt
ist.
-
In 2 ist jedes Netzwerkelement-Gerät in Ausdrücken der
Funktionen modelliert, die es bereitstellt, und in 3 ist die Netzwerk-Steuerung als ein
Satz von Gerätesteuerungen
und Teilsteuerungen aufgebaut, die die funktionelle Struktur der
Netzwerkelement-Geräte
als solche wiederspiegeln. Beispielsweise wird ein funktionelles
Modell 200 ausgearbeitet, das das Textgenerator-Gerät 102 beschreibt.
Das funktionelle Modell umfasst ein Modell 210 für einen
ATM-Verbindungs-Endpunkt und ein Modell 211 für einen
Textverbindungs-Endpunkt. Die Funktionsmodelle werden in einer Gerätesteuerung 300 realisiert
und bilden einen Teil einer Netzwerk-Steuervorrichtung, wie z. B. eine ATM-Verbindungs-Endpunkt-Teilsteuerung 309 und
eine Textverbindungs-Endpunkt-Teilsteuerung 310.
-
Verbindungen
zwischen den Teilsteuerungen, die als Teil der Steuersignale eingebettet
sind, die zu anderen Teilsteuerungen gesandt werden, werden für den Betrieb
der entsprechenden Netzwerk-Elemente verwendet, um Verbindungen,
Verbindungsstrecken, virtuelle Pfade und andere Dienste über das
Netzwerk hinweg bereitzustellen. Durch Umkonfigurieren der Verbindungen
zwischen Teilsteuerungen in den Gerätesteuerungen kann das Netzwerk
verwaltet werden, weil diese Zwischenverbindungsmöglichkeit
in den tatsächlichen Netzwerkelement-Geräten wiedergegeben
wird, die die OAM-Steuersignale von der Netzwerk-Steuerung empfangen,
um diese Umkonfigurationen an der Funktionalität der entsprechenden Netzwerkelement-Geräte zu realisieren.
-
Das
Modell kann durch Übersetzen
der Fähigkeiten
jedes Knotens und der Verbindungen zwischen dem Knoten in eine Syntax
formalisiert werden, die zum Auffinden einer Route oder eines Leitwegs
geeignet ist.
-
Die
grundlegenden Elemente der Syntax sind:
Verbindung (connection)
(S, X, Y),
(was eine Schicht-S-Verbindung zwischen den Orten
X und Y bedeutet) und:
Transformation (transform) (S, T, X)
(was
eine Netanpassungsfunktion zwischen den Dienstetypen S und T am
Knoten X bedeutet – reduziert
auf eine Querverbindungsfunktion, wenn S = T ist).
-
In
jedem der vorstehenden Fälle
kann der Dienstetyp selbst in Ausdrücken einer geschichteten Struktur
ausgedrückt
werden, beispielsweise S = Sprache/ATM (was bedeutet, dass der Dienst
ein Sprache über ATM-Dienst
ist).
-
Das
Verbindungsproblem wird nunmehr in Ausdrücken einer Planungsaufgabe
gelöst,
die ein Ende der gewünschten
Diensteverbindung als Starzustand und das andere als ihren Zielzustand
und jede Verbindungs- und/oder Transformationskonstruktion als einen
Operator annimmt. Es können
weitere Zwangsbedingungen hinzugefügt werden, um die Dienstgüteparameter
oder andere Charakteristiken von Netzwerk-Komponenten hinzuzufügen. Eine bekannte Künstliche-Intelligenz-Technik
kann somit angewandt werden, um ein Multimedien-Diensteverbindungsproblem
dadurch zu lösen,
dass eine optimierte oder zumindest arbeitsfähige Lösung von Verbindungen und Transformationen
unter Verwendung der Verbindungsstrecken und Knoten als Komponenten
der Lösung
gefunden wird.
-
Sobald
eine gültige
Lösung
gefunden wurde, kann der resultierende Plan in ein geschichtetes
Verbindungsmodell zurücktransformiert
werden, das für
eine Anwendung in einer Netzwerk-Verwaltungsumgebung auf der Grundlage
einer Netzwerk-Steuerungsvorrichtung geeignet ist.
-
Es
folgt nunmehr ein Anwendungsbeispiel zum Modellieren der Fähigkeiten
des Netzwerk-Beispiels nach 1.
Die in 1 dargestellten
Fähigkeiten
können
syntaktisch wie folgt dargestellt werden:
Verbindung (Text/ATM,
A, B)
(was eine ATM-Textverbindung zwischen den Knoten A und
B bezeichnet, das heißt
Textdaten können
zwischen den Orten A und B übertragen
werden).
Transformation (Text/ATM, Sprache/ATM, B)
(was
bedeutet, dass der Knoten B in der Lage ist, ATM-Textdaten in ATM-Sprachedaten umzuwandeln).
Verbindung
(Sprache/ATM, B, C)
(was bedeutet, dass eine ATM-Spracheverbindung
zwischen den Knoten B und C, das heißt Sprachedaten, zwischen den
Orten B und C übertragen
werden können).
Transformation
(Sprache/ATM, Sprache/T1, C)
(was bedeutet, dass der Knoten
C in der Lage ist, ATM-Sprachedaten in T1-Sprachedaten umzuwandeln).
Verbindung
(Sprache/T1, C, D)
(was eine T1-Spracheverbindung zwischen
den Knoten C und D bedeutet, das heißt Sprachedaten können zwischen
den Orten C und D übertragen
werden).
-
Das
Planungsziel ist, Text am Knoten A mit Sprache am Knoten D zu verbinden.
Die Lösung
(eindeutig in diesem Beispiel) ist eine Verbindung A-B-C-D, wobei
die Text-Sprache-Umwandlung
am Knoten B ausgeführt
wird und die Sprache-Querverbindung
am Knoten C ausgeführt
wird. Die Lösung
kann zurück
auf das Netzwerk-Modell in Form einer zusammengesetzten Verbindung 311 überlagert
werden, wie dies in 3 gezeigt
ist, wobei die zusammengesetzte Verbindung 311 syntaktisch
wie folgt dargestellt werden kann:
Verbindung (Text/ATM, A,
B), Transformation (Text/ATM, Sprache/ATM, B), Verbindung (Sprache/ATM,
B, C), Transformation (Sprache/ATM, Sprache/T1, C), Verbindung (Sprache/T1,
C, D).
-
Es
werden nunmehr mögliche
Erweiterungen und andere Anwendungen der hier beschriebenen Verfahren
erläutert.
Die Verbindungsplanungstechnik, die vorstehend beschrieben wurde,
könnte
sehr stark durch die vorhergehende Ermittlung der „physikalischen" Verbindungstopologie
jeder Verbindungsmöglichkeits-Diensteschicht erleichtert
werden. Beispielsweise setzen ATM-Netzwerke die PNNI-(Private Netzwerkknoten-Schnittstellen-)Technologie
ein, um es der ATM-Vermittlung und den Endbenutzer-Knoten zu ermöglichen,
eine abstrakte Ansicht der ATM-Netzwerk-Topologie zu ermitteln (über eine
Peer-zu-Peer-Wechselwirkung) und eine Weglenkung oder ein Routing
von Verbindungen über
die ermittelte Topologie über
ausgewählte
Routing-Algorithmen durchzuführen.
Dieses Konzept könnte
auf Verbindungsmöglichkeits-Dienste
höherer Ebene
angewandt werden, wobei möglicherweise
mit ATM-Anpassungsschichten, insbesondere AAL2, begonnen wird. Die
an jeder Verbindungsmöglichkeits-Diensteschicht
verfügbaren
Verbindungen können
in Ausdrücken
von virtuellen privaten Netzwerken (VPN's) betrachtet werden, die über die
nächst
niedrigere Verbindungsschicht konstruiert werden.
-
Ein
weiteres Beispiel der Konfiguration einer Netzwerk-Verwaltung unter
Verwendung des Verbindungsplanungsverfahrens ist die Bereitstellung
und Konfiguration von verteilten Netzwerkelementen. Die Konfiguration
und Bereitstellung von verteilten Netzwerkelementen verwendet die
gleiche Technik, wie sie weiter oben beschrieben wurde, jedoch unter
Anwendung auf eine „Mikrokosmos"-Ebene von Verbindungen
innerhalb von Knoten. Ein Beispiel würde die Konfiguration einer
Signalisierungs-Verbindungsstrecke
zwischen einem Zugangsport und einem internen Rahmenverarbeitungsgerät sein.
Diese Technik, verbunden mit einem Auslegungswerkzeug zur Unterstützung der
Konstruktionssystem-Verwaltungsmodelle
aus Bauteilfragmenten kann einen größeren Einfluss auf die Zeit
und die Bemühungen
haben, die bei der Verwaltungssystem-Entwicklung auftreten.
-
Eine
weitere Formalisierung der syntaktischen Darstellung gemäß des bevorzugten
Verfahrens wird nunmehr beschrieben, und zwar ebenso wie Algorithmen,
die Al-Algorithmen
einschließen,
die vorzugsweise auf einer Netzwerk-Steuerungs-Arbeitsstation ausgeführt werden,
und die auf Daten angewandt werden, die gemäß der syntaktischen Darstellung
geschaffen werden, um sie bei der Lösung von Problemen zu realisieren, wie
z. B. bei der Planung von Breitband-Verbindungen.
-
Ein
bevorzugtes Ausführungsbeispiel
und ein Verfahren gemäß der vorliegenden
Erfindung wird mit Beispielen erläutert, von denen das erste
in 4 der beigefügten Zeichnungen
gezeigt ist.
-
Bei
der bevorzugten Ausführungsform
und dem Verfahren werden Daten, die zumindest einen Teil des hierarchischen
Breitband-Netzwerkes und ein zu lösendes Verbindungsproblem beschreiben,
unter Verwendung einer syntaktischen Darstellung, wie es weiter
oben offenbart wurde, beschrieben. Ein Algorithmus wird auf die
Netzwerk- und Problemdaten angewandt, der versucht, das Problem
durch Erzeugen eines Verbindungsplans zu lösen, der einen Satz von Netzwerk-Knoten
und/oder Verbindungsstrecken oder andere Daten umfasst, die Netzwerk-Ressourcen/Elemente
beschreiben, die einer Verbindung zugeteilt werden können, um sie
in dem Netzwerk zu realisieren. Die Erfinder ziehen in Betracht,
dass die Verwendung des Algorithmus zur Erzeugung eines derartigen
Verbindungsplans dazu verwendet werden kann, einen Satz von zu realisierenden Netzwerk-Verbindungen
auszuwählen,
der am besten bestimmte Kriterien erfüllen kann, beispielsweise eine ausgeglichene
Benutzung von Netzwerk-Ressourcen usw.
-
Die
hier beschriebenen Beispiele verwenden die Schreibweise und Konzepte,
die in der anhängigen Anmeldung
US 08/921 649 des gleichen Anmelders vom 27. August 1997 beschrieben
sind. Das in 4 gezeigte
Beispiel umfasst drei Klassen: TDM, AVJ und Cell Ace, wobei eine
Instanz jeder Klasse mit 401, 408 bzw. 409 bezeichnet
ist. 4 umfasst ein Anwendungsmodell
(wie es in den vorstehend genannten Patentanmeldungen offenbart
ist) der Instanzen. Ein Anwendungsmodell umfasst einen Satz von
Objekten, die Funktionalitäten
darstellen, die von realen physikalischen Ressourcen bereitgestellt
werden, ohne dass die speziellen Realisierungseinzelheiten dieser
grundlegenden physikalischen Ressourcen beschrieben werden.
-
4 zeigt die Beziehungen
zwischen den Komponenten des Anwendungsmodells. Die Beziehungen sind
hier als „Verbindungen" beschrieben. Vier
Arten von Verbindungen können
vorhanden sein:
- – Realisierungen: hier wird
unter dem Ausdruck Realisierung eine Beziehung zwischen einem Anwendungsmodell
und einem Realisierungsmodell verstanden.
- – Verhalten:
hier wird unter dem Ausdruck Verhalten eine Klasse, die ein Datentransformationsverhalten
in einer physikalischen Ressource, beispielsweise ein Netzwerk-Gerät modelliert,
oder eine Klasse in einem Anwendungsmodell verstanden, das eine
Funktion modelliert, die durch das Anwendungsmodell dargestellt ist.
- – Enthaltensein:
hier wird unter dem Ausdruck Enthaltensein (Containment) ein untergeordnetes
Element (beispielsweise ein verwaltetes Objekt) eines Anwendungsmodells
verstanden, das einem Oberelement (verwalteten Objekt) des Anwendungsmodells
untergeordnet ist. Ein untergeordnetes Element, das in einem übergeordneten
Element enthalten ist, kann über
das übergeordnete
Element zugänglich
sein.
- – Bindungen:
beispielsweise eine Datenübertragungsstrecke
zwischen den Komponenten des Anwendungsmodells, das mit Hilfe einer
physikalischen Verbindungsstrecke realisiert werden kann.
-
In
einem Breitband-Verbindungs-Planungsproblem kann eine Lösung des
Problems einem Satz von Verbindungsstrecken und/oder Knoten umfassen,
die eine Route zwischen zwei Knoten bilden. Eine grafische Darstellung,
wie sie beispielsweise in 4 gezeigt
ist, kann ein Realisierungsmodell beschreiben, das im Einzelnen
angibt, welche Knoten und/oder Verbindungsstrecken des Anwendungsmodells
zur Realisierung der Verbindung verwendet werden können. Mögliche Routen
von Verbindungsstrecken, die zwischen Knoten vorhanden sind, sollen
hier als „physikalische
Verbindungsstrecken" bezeichnet
werden, und Routen, die einen Satz von physikalischen Verbindungsstrecken
umfassen, die während
der Ausführung
oder als Ergebnis der Ausführung
des Algorithmus ausgewählt
werden, werden als „logische
Verbindungsstrecken" bezeichnet.
Enthaltenseins- oder Containment-Verbindungsstrecken 435 können als
Linien zwischen Netzwerkknoten dargestellt werden, die eine Rautenform
an einem Ende aufweisen, was anzeigt, dass ein Netzwerkknoten an
dem Rautenende der Linie einen Netzwerkknoten an einem anderen Ende
der Linie enthält.
Eine Bindungs-Verbindungsstrecke zwischen Knoten kann durch gerade
Linien 436 dargestellt werden. Eine Realisierungs-Verbindungsstrecke 437 kann
durch gestrichelte Linien mit einem Pfeil an einem Ende gezeigt
werden und gibt an, dass ein Knoten an dem Pfeilspitzenende der
gestrichelten Linie einen Knoten an einem anderen Ende der Linie
realisiert. Eine Verhaltens-Verbindungsstrecke 438, die
zwischen zwei Knoten existiert, kann durch eine horizontale Linie
dargestellt werden, wobei jedes Ende dieser Linie mit einem der
Knoten verbunden ist und eine vertikale Linie in der Nähe der Mitte
der horizontalen Linie an einem Kasten angebracht ist, der die Art
der Verhaltens-Verbindungsstrecke anzeigt. Verbindungsstrecken treten üblicherweise
zwischen Endpunkten von Instanzen auf, wobei die Endpunkte möglicherweise
Ports beispielsweise an einer Vermittlung darstellen.
-
Ein „Port" ist in der Empfehlung
G.805 als „ein
Paar von einseitig gerichteten Ports" definiert. Ein einseitig gerichteter
Port, wie er in der Empfehlung G.803 definiert ist, „stellt
den Ausgang einer Streckenverbindungsquelle einer einseitig gerichteten
Verknüpfungsverbindung
oder den Eingang an eine Pfadabschluss-Senke oder eine einseitig
gerichtete Verknüpfungsverbindung" dar. Logische Ports
existieren innerhalb eines Netzwerk-Elementes und können ähnliche
Ebenen-Strukturen und Charakteristiken wie physikalische Ports haben,
weisen jedoch nicht tatsächlich
eine Bindung an irgendeinen physikalischen Port außerhalb
des Netzwerk-Elementes auf. Logische Ports können an eine Karte gebunden
sein, oder sie können über eine
Vielzahl von Karten hinweg schwimmend angeordnet sein. Die physikalischen
oder logischen Ports einer Karte können alle vom gleichen Typ
sein, oder es können
sich mehrere unterschiedliche Arten von Ports auf einer Karte befinden,
in Abhängigkeit
von der speziellen Herstellung des Netzwerk-Elementes selbst.
-
Bestimmte
physikalische oder logische Ports werden in der speziellen hier
beschriebenen Realisierung als Endpunkte dargestellt. In dieser
Beschreibung wird der Ausdruck „Endpunkt" dazu verwendet, einen Port zu beschreiben,
der einen Empfangsport und (wahlweise) einen Sendeport umfasst.
-
In 4 erscheint eine TDM-Instanz 401 an
der obersten Ebene einer Klassen-Ebenen-Hierarchie und
enthält
einen E1-Endpunkt 402 und einen RTA-Endpunkt 403.
Die Endpunkte 402 und 403 sind durch ein Anpassungsverhalten 404 verknüpft. Der
Endpunkt 402 enthält
(423) einen SS7b-Endpunkt 405, und ein RTA-Endpunkt 403 enthält (424)
einen SS7-Endpunkt 406. Die Endpunkte 405 und 406 sind
durch ein Anpassungsverhalten 407 verknüpft, das in dem Anpassungsverhalten 404 enthalten
ist.
-
Die
Cell Ace-Instanz 408 erscheint an einer niedrigeren Ebene
in der Klassen-Ebenen-Hierarchie
als die TDM-Instanz 401 und enthält einen E1-Endpunkt 410 und
einen ATM-Endpunkt 413. Der E1-Endpunkt 410 enthält (431)
einen SS7-Endpunkt 416. Der ATM-Endpunkt 413 enthält (432)
einen SS7-Endpunkt 417. Die Endpunkte 416 und 417 sind
durch ein Anpassungsverhalten 428 verknüpft, das in dem Anpassungsverhalten 420 enthalten
ist.
-
Die
AVJ-Instanz 409 erscheint in der gleichen Ebene der Klassen-Ebenen-Hierarchie,
wie die Cell Ace-Instanz 408 und enthält einen ATM-Endpunkt 412 und
einen RTA-Endpunkt 411.
Endpunkte 412 und 411 sind durch ein Anpassungsverhalten 422 verknüpft. Der
ATM-Endpunkt 412 enthält
(433) einen SS7-Endpunkt 415. Der RTA-Endpunkt 411 enthält (434)
einen SS7-Endpunkt 414. Die Endpunkte 414 und 415 sind
durch ein Anpassungsverhalten 430 verknüpft, das in dem Anpassungsverhalten 422 enthalten
ist.
-
Der
E1-Endpunkt 402 der TDM-Instanz 401 ist durch
den E1-Endpunkt 410 der Cell Ace-Instanz 408 realisiert
(418). Der RTA-Endpunkt 411 der AVJ-Instanz 409 ist
durch den RTA-Endpunkt 403 der TDM-Instanz 401 realisiert
(419). Der SS7-Endpunkt 405 der
TDM-Instanz 401 ist durch den S7-Endpunkt 416 der
Cell Ace-Instanz
(408) realisiert (426).
-
Der
SS7-Endpunkt 414 der AVJ-Instanz 409 ist durch
den SS7-Endpunkt 406 der TDM-Instanz 401 realisiert
(427). Der ATM-Endpunkt 413 der Cell Ace-Instanz 408 ist über die
Bindung 421 mit dem Endpunkt 412 der AVJ-Instanz 409 verknüpft. Der
SS7-Endpunkt 417 der Cell Ace-Instanz 408 ist
durch die Bindung 429 mit dem SS7-Endpunkt 415 der AVJ-Instanz 409 verknüpft.
-
Die
Daten, die das in 4 gezeigte
Anwendungsmodell beschreiben, werden vorzugsweise als Eingang an
den Algorithmus verwendet. Ebenso wie die Daten, die die auf das
Anwendungsmodell bezogenen Klassen, Instanzen und Verknüpfungen
beschreiben, können
die Eingangsdaten ebenfalls Verhaltensregeln und wahlweise Teil-Realisierungsregeln
für Architektur-Instanzen
umfassen, die vordefinierte logische Verknüpfungen umfassen. Zusätzliche
Eingangsdaten können
ebenfalls verwendet werden, wie z. B. Endpunkttypen und Kapazitäten; Protokollerweiterungen;
physikalische Verbindungsstrecken-Kapazitäten und Endpunkt-Typ-Realisierungsregeln.
Wahlweise können
auch teilweise Realisierungsmodelle, die aus vordefinierten logischen
Verknüpfungen
für Architektur-Klasseninstanzen
bestehen, als Eingänge
für den
Algorithmus akzeptiert werden. In dem Beispiel nach 4 ist der Eingang in das teilweise Realisierungsmodell
trivial, das heißt
es enthält
keine vordefinierten logischen Verknüpfungen.
-
Zusätzlich sollte
der Eingang an den Algorithmus eine bestimmte Anwendungsmodell-Instanz
umfassen, die bereitgestellt werden soll (typischerweise an der
Spitze der Klassen-Ebenen-Hierarchie), das heißt das zu lösende Verbindungsproblem. In
dem in 4 angegebenen
Beispiel umfasst, die bereitzustellende bestimmte Instanz die TDM-Instanz 401.
Der Endpunkt 402 und der RTA-Endpunkt 403 der
TDM-Instanz E1 und das Anpassungsverhalten 404 zwischen
diesen muss bereitgestellt werden, und außerdem die zwei SS7-Endpunkte 405 und 406 und
das Anpassungsverhalten 407 zwischen diesen. Die Endpunkte
werden vorzugsweise dadurch bereitgestellt, dass sie realisiert
werden, das heißt,
dass eine Folge von Verhaltensweisen zwischen den Realisierungs-Endpunkten
usw. konstruiert wird, wie dies nachfolgend beschrieben wird. In
dem Beispiel kann die Folge von konstruierten Verhaltensweisen wie
folgt sein:
adapt o adapt (adapt = Anpassung)
entsprechend
der Verhaltensregel:
adapt = adapt o adapt.
-
Die
Cell Ace-Instanz 408 und die AVJ-Instanz 409 haben
Ausrüstungsmodelle
und erfordern keine Bereitstellung.
-
5 der beigefügten Zeichnungen
zeigt Schritte, die typischerweise von dem Algorithmus ausgeführt werden,
wenn versucht wird, ein Breitband-Verbindungs-Planungsproblem zu lösen. Im Schritt 501 wird
eine Darstellung des Problems geschaffen, wobei die Problemdarstellung
vorzugsweise die syntaktische Darstellung umfasst, wie sie hier
beschrieben wurde, und sie wird in der Datenspeicherung der Netzwerksteuerung gespeichert.
Eine Liste von einer oder mehreren Klauseln umfassenden Daten kann
in eine Inferenzmaschine eingegeben werden. Nachdem der Algorithmus
die Darstellung geschaffen hat, wird die Inferenzmaschine auf die
Darstellung angewandt, um zu versuchen, eine Lösung des Problems zu finden.
Eine Inferenzmaschine kann Regeln oder einen Algorithmus umfassen,
die zur Lösung
eines vorgegebenen Problems bestimmt sind, vorzugsweise durch Erzeugung
von Inferenzen auf der Grundlage von Tatsachen und Regeln, wie z.
B. denen, die durch die syntaktische Darstellung beschrieben werden.
Die Inferenzmaschine umfasst vorzugsweise zwei Teile: eine Logikkomponente
und eine Steuerkomponente. Im Schritt 502 legt die Logikkomponente
der Inferenzmaschine fest, was es bedeutet, das Problems zu lösen, das
heißt
eine Definition, wie eine Instanz bereitgestellt werden sollte.
Im Schritt 503 beschreibt die Steuerkomponente der Inferenzmaschine,
wie die Logikkomponente auszuführen
ist, das heißt
wie sie verwendet wird, um nach der bestimmten Lösung zu suchen.
-
Die
Darstellung eines Breitband-Verbindungsplanungsproblems, die im
Schritt 501 geschaffen wird, kann die folgenden Daten umfassen:
- – Klassen,
die jeweils entweder als Ausrüstung
oder Architektur deklariert werden (entsprechend den Ausrüstungs-
und Architekturmodellen, wie sie in den vorstehend genannten Patentanmeldungen
beschrieben sind, und die in die Klassen-Ebenen-Hierarchie eingebracht
werden).
- – Endpunkte
mit eindeutigen Identifikationen.
- – Endpunkt-Typen
und -Kapazitäten.
- – Physikalische
Verbindungsstrecken (die explizit oder implizit definiert werden).
- – Logische
Verbindungsstrecken, die aus den physikalischen Verbindungsstrecken
ausgewählt
sind.
- – Verhaltensregeln
der Form b = b1 o ... o bN,
worin der o-Operator die Zusammensetzung der Verhaltensweisen bezeichnet
und einer binären
Bindung zwischen Verhalten und Endpunkten entspricht. Familien von Verhaltensregeln
können
implizit definiert werden.
-
Bei
der bevorzugten Ausführungsform
können
Modelle, physikalische Verbindungsstrecken, Verhaltensregeln und
andere Informationen, die ein Anwendungsmodell und ein durch den
Algorithmus zu lösendes Verbindungsplanungsproblem
beschreiben, textförmig
als Klauseln dargestellt werden. Klauseln, insbesondere Horn-Klauseln,
bilden die Basis von Prolog, einer bekannten Logik-Programmiersprache
(siehe beispielsweise Ivan Bratko, „Prolog: Programming for Artificial
Intelligence", zweite
Ausgabe, Addison Wesley, 1990). Die syntaktische Darstellung der
bevorzugten Ausführungsform
umfasst eine im Wesentlichen Prolog-artige Syntax (vorzugsweise
mit zweckmäßigen Erweiterungen,
wie z. B. S = {t(X)Ip(X)} für
eine bestimmte Konstruktion. Die syntaktische Darstellung ist nicht
notwendigerweise ein Prolog-Programm; sie umfasst vorzugsweise Daten,
die einen Formalismus beschreiben, auf den die Inferenzmaschine
des Algorithmus, in der vorstehend beschriebenen Weise angewandt
wird.
-
Klauseln
können
von einem von drei Typen sein: Tatsachen, Regeln und Fragen. Jede
Klausel endet üblicherweise
mit einem Punkt (.). Tatsachen deklarieren Dinge, die unbedingt
wahr sind, wobei beispielsweise
Netzwerk (atm)
deklariert,
dass ein Objekt atm immer ein Netzwerk-Objekt ist. Jede Klausel
kann zumindest ein Objekt umfassen, das als ein „Ausdruck" bezeichnet wird. In dem vorstehenden
Beispiel bildet atm einen Ausdruck. Ein Ausdruck, der mit einem
Kleinbuchstaben beginnt, kann als eine Konstante (oder ein „Atom") betrachtet werden. Ausdrücke, die
mit Großbuchstaben
beginnen, können
als Variablen betrachtet werden. Ein Ausdruck innerhalb der Klammern
einer Klausel kann als ein „Argument" bezeichnet werden,
und ein Ausdruck, der vor den Klammern steht, als ein „Funktor".
-
Eine
Regel umfasst vorzugsweise einen Bedingungsteil (auf der rechten
Seite eines :-Symbols) und einen logischen Schlussteil (auf der
linken Seite des :-Symbols). Der Schlussteil kann als ein Kopf der
Regel-Klausel bezeichnet werden, und der Bedingungsteil kann als
der Körper
der Regelklausel bezeichnet werden. Wenn der Bedingungsteil wahr
ist, so ist eine logische Konsequenz hiervon, dass der Schlussteil
wahr ist.
-
Eine
Frage kann eine Klausel umfassen, die eine Variable hat, die unbegrenzt
ist, das heißt,
von der nicht definiert ist, dass sie einen bestimmten Wert hat.
Eine Frage kann unter Verwendung eines Inferenzmaschinen-Algorithmus
beantwortet werden, der Tatsachen und Regeln verwendet, die zum
Ersatz der Variable durch ein anderes Objekt definiert sind. In
einer Frage, die eine oder mehrere unbegrenzte Variable umfasst, kann
jede unbegrenzte Variable als ein Ziel ausgewählt werden, so dass alle Ziele
in einer Frage erfüllt
sein sollten. Die Erfüllung
eines Ziels bedeutet, dass demonstriert wird, dass das Ziel logischerweise
aus den definierten Tatsachen und Regeln folgt.
-
Das
Ersetzen von Variablen beinhaltet hauptsächlich eine Anpassung von Ausdrücken. Zwei
Ausdrücke
stimmen überein,
wenn sie identisch sind, oder wenn Variablen in beiden Ausdrücken durch
Objekte in einer derartigen Weise ersetzt werden können, dass
nach dem Ersetzen der Variablen die Ausdrücke identisch werden. Üblicherweise
erfolgt in Prolog die Anpassung von Zielen in einer Reihenfolge
von links nach rechts der in einer Klausel auftretenden Ausdrücke. Die
bevorzugte Ausführungsform
verwendet einen höher
entwickelten Ziel-Auswahlprozess,
wie er nachfolgend beschrieben wird.
-
Die
syntaktische Darstellung kann eine Klasse durch die folgende Klausel
spezifizieren:
class_info (Class, Type, Level)
worin Type
(Typ) irgendeine Ausrichtung oder Architektur sein kann, was anzeigt,
dass die Klasse zu einem Realisierungsmodell bzw. einem Anwendungsmodell
gehört;
Class (Klasse) eine alphanumerische Identifikation für die Klasse
umfasst, und Level (Ebene) eine ganze Zahl umfasst, die die Position
der Klasse in der Klassen-Ebenen-Hierarchie bezeichnet (0 bezeichnet üblicherweise
die höchste
Ebene). Somit können
die Class_info-Klauseln für
das in
4 gezeigte Beispiel
wie folgt sein:
class_info
(TDM, architecture, 0) | stellt
die TDM-Klasse des Anwendungsmodells dar; |
class_info
(Cell Ace, equipment, 1) | stellt
die Cell Ace-Klasse dar, |
class_info
(AVJ, equipment, 1) | stellt
die AVJ-Klasse dar. |
-
Die
syntaktische Darstellungsklausel für einen Endpunkt umfasst vorzugsweise:
endpoint
(Class, Instance, Id)
worin Class die Klasse ist, zu der der
durch die Klausel dargestellte Endpunkt gehört, Instance (Instanz) einen Identifikationsausdruck
für die
Klasseninstanz des Endpunktes umfassen kann, und Id eine ganze Zahl
ist, die für
die Klasse eindeutig ist, wodurch die Endpunkt-Klausel eine eindeutige
Identifikation für
jeden Endpunkt in dem Problem wird. Alternativ kann Id eine tatsächliche
Identifikation sein, die von der Netzwerk-Steuerung erzeugt wird.
-
Die
syntaktische Darstellung kann weiterhin Kapazitätsdaten für Endpunkte zur Konsistenzprüfung von
Bindungen oder für
Verhaltensregeln- und physikalische Verbindungsstrecken-Schemas
einschließen. Der
Endpunkt und die Kapazitätsdaten
können
durch die folgende Klausel dargestellt werden:
class_endpoint
(Class, Id, Type, Capacity)
worin Class, Id und Type genauso
wie in einer Endpoint-(Endpunkt-)Klausel sein können und Capacity (Kapazität) eine
ganze Zahl sein kann, die die Kapazität des durch die Klausel dargestellten
Endpunktes beschreibt, beispielsweise die Bandbreiten-Kapazität darstellt.
Der Algorithmus kann die Kapazitätsnutzung
von Endpunkten durch andere Verbindungen berücksichtigen, wenn ein Verbindungsplan
für die
bestimmte Instanz berechnet wird.
-
Somit
können
für das
in
4 gezeigte Problem
die Class_endpoint-Klauseln wie folgt sein:
class_endpoint(tdm,
1, e1, 0) | für Endpunkt 402 |
class_endpoint(tdm,
2, rta, 0) | für Endpunkt 403 |
class_endpoint(tdm,
3, ss7,0) | für Endpunkt 405 |
class_endpoint(tdm,
4, ss7,0) | für Endpunkt 406 |
class_endpoint(cell_ace,
1, e1, 0) | für Endpunkt 410 |
class_endpoint(cell_ace,
2, atm, 0) | für Endpunkt 413 |
class_endpoint(cell_ace,
3, ss7, 0) | für Endpunkt 416 |
class_endpoint(cell_ace,
4, ss7, 0) | für Endpunkt 417 |
class_endpoint(avj,
1, rta, 0) | für Endpunkt 412 |
class_endpoint(avj,
2, rta, 0) | für Endpunkt 411 |
class_endpoint(avj,
3, rta, 0) | für Endpunkt 415 |
endpoint(avj,
4, rta, 0) | für Endpunkt 414 |
-
Endpunkt-Typen
können
von dem Algorithmus verwendet werden, um die Konsistenz von Endpunkt-Enthaltenseins-(Containment.)
Regeln zu prüfen.
Endpunkt-Typen können
in einem physikalischen Verbindungsstrecken-Schema verwendet werden,
beispielsweise um implizit das Verhalten zwischen allen Endpunkten
zu einer gleichen Zeit in einer vorgegebenen Klasse anzugeben.
-
Der
Endpunkt einer Instanz in dem Anwendungsmodell kann in der syntaktischen
Darstellung durch die folgende Klausel gegeben werden:
t(Class,
Instance, Id)
worin Class vorzugsweise die Klasse der Instanz
ist, Instance ist die Klasseninstanz, in der der durch die Klausel
dargestellte Endpunkt auftritt, und Id die Identifikation des Endpunktes
darstellt.
-
Die
Klausel für
die syntaktische Darstellung für
eine physikalische Verbindungsstrecke kann wie folgt sein:
link(T1,
T2, behavior)
worin behavior (Verhalten) eines von Realisierungs-Bindungs-Umschließungs- oder
spezielles Verhalten sein kann, dem ein Bindestrich (–) vorangestellt
ist, der einen Typ der Verbindungsstrecke darstellt, beispielsweise dessen
ITS-Natur, das heißt
eine Fähigkeit
oder Funktion der Verbindungsstrecke zwischen den Endpunkten T1
und T2. Somit können
für das
in
4 dargestellte Beispiel
die Verbindungsstrecken-Klauseln
Folgendes umfassen:
link(tdm,
1, 1), t(tdm, 1, 2), -adapt) | für das Anpassungsverhalten 404 zwischen
den Endpunkten 402 und 403 |
link(t(tdm,
1, 3), t(tdm, 1, 4) -adapt) | für das Anpassungsverhalten 407 zwischen
den Endpunkten 405 und 406 |
link(t(tdm,
1, 1), t(cell_ace, 1, 1), realize) | zur
Realisierung der Verbindungsstrecke 418 zwischen den Endpunkten 402 und 410 |
link(t(tdm,
1, 2), t(avj, 1, 2), realize) | zur
Realisierung der Verbindungsstrecke 419 zwischen den Endpunkten 403 und 411 |
link(t(avj,
1, 1), t(avj, 1, 2), -adapt) | zur
Anpassung des Verhaltens 422 zwischen den Endpunkten 412 und 411 |
link(t(avj,
1, 3), t(avj, 1, 4), -adapt) | für das Anpassungsverhalten 430 zwischen
den Endpunkten 415 und 414 |
link(t(cell_ace,
1, 1), t(cell_ace 1, 2) -adapt) | für das Anpassungsverhalten 402 zwischen
den Endpunkten 410 und 413 |
link(t(cell_ace,
1, 3), t(cell_ace, 1, 4), -adapt) | für das Anpassungsverhalten 428 zwischen
den Endpunkten 416 und 417 |
link(t(cell_ace,
1, 2), t(avj, 1, 1), bind) | für die Bindungs-Verbindungsstrecke 421 zwischen den
End punkten 413 und 412 |
link(t(tdm,
N, 1), t(tdm, N, 3), contain) | für die Enthaltenseins-Verbindungsstrecke 423 zwischen
den Endpunkten 402 und 405 |
link(t(tdm,
N, 2), t(tdm, N, 4), contain) | für die Enthaltenseins-Verbindungsstrecke 424 zwischen
den Endpunkten 403 und 406 |
link(t(cell_ace,
N, 1), t(cell_ace, N, 3), contain) | für die Enthaltenseins-Verbindungsstrecke 431 zwischen
den Endpunkten 410 und 416 |
link(t(cell_ace,
N, 2), t(cell_ace, N4), contain) | für die Enthaltenseins-Verbindungsstrecke 432 zwischen
den Endpunkten 413 und 417 |
link(t(avj,
N, 1), t(avj, N, 3), contain) | für die Enthaltenseins-Verbindungsstrecke 433 zwischen
den Endpunkten 412 und 415 |
link(t(avj,
N, 2), t(avj, N, 4), contain) | für die Enthaltenseins-Verbindungsstrecke 434 zwischen
den Endpunkten 411 und 414 |
-
Symmetrische
Regeln (die die meisten Bindungs- und Verhaltens-Verknüpfungen
einschließen)
erfordern zwei Klauseln. Beispielsweise:
link(t(tdm, 1, 1),
t(tdm, 1, 2), -adapt
link(t(tdm, 1, 2), t(tdm, 1, 1), -adapt
-
Für Breitband-Verbindungs-Planungsprobleme
mit einer realistischen Größe kann
es unpraktisch sein, explizit Daten einzugeben, die alle physikalischen
Verbindungsstrecken beschreiben. Daher können physikalische Verbindungsstrecken
implizit definiert werden: beispielsweise unter Verwendung eines
physikalischen Verbindungsstreckenschemas für das Verhalten von physikalischen
Verbindungsstrecken in einer Instanz mit einer unbegrenzten Anzahl
von Endpunkten, von denen irgendwelche zwei durch ein triviales
Verhalten verknüpft
sein können
(das keine Auswirkung auf die übertragenen
Daten hat):
link(t(atm_switch, N, A), t(atm_switch, N, B),
-trivial):-integer(A), integer(B)
worin integer eine unbegrenzte
Serie von ganzen Zahlen erzeugt. Alternativ kann anstelle von integer
ein Prädikat
verwendet werden, das eine Datenbank abfragt, die von der Netzwerk-Steuerung
gespeichert wird, um eine Endpunkt-Identifikation zu gewinnen. Andere
mögliche
Verwendungen können
Folgendes einschließen:
- – Abwicklung
von Realisierungen zwischen enthaltenen Endpunkten: wenn T1 physikalisch
T2 realisiert, enthält
T1 T3 und T2 enthält
T4, wenn T3 physikalisch T4 realisiert. Die Hinzufügung einer
Regel, die diese Realisierungs- und Enthaltenseinsverknüpfungen
zu einer Verknüpfungsklausel
beschreibt, kann dadurch erzielt werden, dass lediglich explizit
Realisierungen zwischen Endpunkten an den oberen Enden von Enthaltenseinsverknüpfungen
spezifiziert werden.
- – Das
Gruppieren von Sätzen
von Instanzen durch eine Lokalisierung ermöglicht physikalische Verbindungsstrecken
zwischen irgendwelchen zwei Endpunkten mit übereinstimmenden Typen an der
gleichen Stelle.
- – Die
Spezifizierung von lediglich physikalischen Verbindungsstrecken
zwischen Ausrüstungs-Endpunkten.
- – Physikalische
Verbindungsstrecken zwischen Architektur-Endpunkten können implizit
sein.
-
Eine
logische Verknüpfung
kann durch die syntaktische Darstellung durch die folgende Klausel
beschrieben werden:
logical_link(T1, T2, Links, IM):-link (T1,
T2, Link), add_logical)_link (T1, T1, Link, IM)
worin der link-(Verbindungsstrecken-)Ausdruck
eine physikalische Verbindungsstrecke darstellen kann, die für die Einfügung in
die logische Verbindung ausgewählt
ist, die durch die Klausel dargestellt ist (die als eine erste/Kopf-Verbindungsstrecke
in einer Liste von Verbindungsstrecken betrachtet werden kann);
add_logical_link kann ein Ausdruck zum Hinzufügen nachfolgender Verbindungsstrecken
zu der Liste sein, die die logischen Verbindungsstrecken umfasst,
und IM kann ein Ausdruck sein, der eine Variable für jedes
mögliche
Paar von Endpunkten enthält,
wobei jede Variable begrenzt wird, wenn die zwei Endpunkte einer
logischen Verbindungsstrecke zugeordnet werden.
-
Logical_link
umfasst eine Aufzeichnung von erzeugten logischen Verbindungsstrecken,
die während der
Ausführung
des Algorithmus geführt
wird. Die Aufzeichnung ist vorzugsweise zurückverfolgbar, weil logische
Verbindungsstrecken bei der Rückverfolgung
entfernt werden. Wenn eine logische Verbindungsstrecke hinzugefügt wird,
müssen
andere logische Verbindungsstrecken in vielen Fällen verboten werden. Beispielsweise
ist es nicht korrekt, ein logisches Verhalten zwischen den Endpunkten
T1 und T2 und zwischen T3 und T4 auszuwählen, wenn T1 T3 enthält, und
T4 T2 enthält.
Diese Beziehung kann als „keine
Klein-Flaschen-Regel" bezeichnet werden
und kann durch Binden passender IM-Variablen an einen Spezialausdruck „forbidden" (verboten) realisiert
werden. Weil variable Bindungen für das Verbieten logischer Verbindungsstrecken
verwendet werden, werden diese in korrekter Weise bei der Rückverfolgung
erneut freigegeben.
-
Eine
Folge der Verwendung variabler Bindungen zur Darstellung logischer
Verbindungsstrecken besteht darin, dass keine zwei Endpunkte durch
mehr als eine Art von logischer Verbindungsstrecke gleichzeitig verbunden
werden können,
obwohl bei der Rückverfolgung
unterschiedliche Verbindungsstrecken zugeordnet werden können. Eine
weitere Konsequenz besteht darin, dass der Algorithmus die gleiche
logische Verbindungsstrecke mehr als einmal ohne nachteilige Wirkung „schaffen" kann. Diese Eigenschaft
ermöglicht
es, dass ein teilweises Realisierungsmodell als Teil der Breitband-Verbindungs-Planungsproblem-Eingabe
angegeben werden kann, einfach durch, Schaffung vordefinierter logischer
Verbindungsstrecken.
-
Die
syntaktische Darstellung kann Verhaltensregeln unter Verwendung
der folgenden Klausel beschreiben:
behavior_rule(b, [b1, ...,
bN])
die das Verhalten (behaviour) b = b1 o
... o bN darstellen kann, worin der o-Operator
das Zusammenfügen
von Verhalten bezeichnet und einer Bindung zwischen Endpunkten entspricht.
Das triviale Verhalten kann wie folgt definiert werden:
b =
trivial o b = b o trivial
-
Die
behavior_rule-Klausel kann verallgemeinert werden, um Operatoren
einzuschließen,
die Verbindungsstrecken anstelle von Bindungen entsprechen. Das
Verhalten b1 ... bN kann weiterhin durch
zusammengesetzte Ausdrücke
gebildet sein, die Parameter als Argumente enthalten.
-
Familien
von Verhaltensregeln können
von der syntaktischen Darstellung durch Klauseln wie z. B. den folgenden
beschrieben werden:
behavior_rule(B, [B\Bs]:-behavior_rule_generator/B,
Bs)
behavior_rule(B, [trivial\Bs]): B\=trivial behavior_rule
(B, bs)
behavior_rule_generator(B, []):-behavior_rule_generator
(B, [B\Bs])
-
Diese
Klauseln können
eine unbegrenzte Anzahl von Verhaltensweisen erzeugen, wie z. B.
adapt
= adapt
adapt = adapt o adapt
adapt = adapt o trivial
o adapt ...
-
Diese
Klauseln können
verallgemeinert werden, um andere Operatoren und Regeln zu handhaben.
-
Die
Eingabe für
den Algorithmus schließt
weiterhin die bestimmte bereitzustellende Instanz ein, das heißt ein Ziel
des Breitband-Verbindungs-Planungsproblems. Die syntaktische Darstellung
des Problemziels kann wie folgt sein:
:-provision_instance(T1,
T2, B, IM)
worin T1 und T2 auf Endpunkte auf der gleichen Instanz
begrenzt sind: B auf ein Verhalten und IM ist unbegrenzt. Die Lösung des
Ziels bindet IM an eine Darstellung des Realisierungsmodells.
-
Die
syntaktische Darstellung der bestimmten bereitzustellenden Instanz
in dem Beispiel nach 4, das
heißt
die Endpunkte 1 und 2 der tdm-Instanz 401 kann
wie folgt sein:
:-provision_instance(t(tdm, 1, 1), t(tdm, 1,
2), adapt, IM)
-
Sobald
die syntaktische Darstellung des Problems geschaffen wurde und in
den Algorithmus eingegeben wurde, kann eine syntaktische Darstellung,
die angibt, was es bedeutet, das Problem zu lösen, durch den Algorithmus
im Schritt 502 durch die Logikkomponente der Inferenzmaschine
geschaffen werden. Die Spezifikation ist vorzugsweise eine rekursive
Beschreibung dessen, was es bedeutet, eine Instanz bereitzustellen, speziell
von zwei ihrer Endpunkte und einer Verhaltens-Verknüpfung zwischen
diesen.
-
Um
das Breitband-Verbindungs-Planungsproblem zu lösen, muss die spezifizierte
Instanz bis herunter zu den Ausrüstungsinstanzen
bereitgestellt werden. Regeln für
die Bereitstellung sind vorzugsweise:
- – Zur Bereitstellung
einer Instanz: vorgegeben sind zwei Endpunkte auf einer Anwendungsmodell-Instanz und
ein logisches Verhalten zwischen diesen:
wenn die Instanz „equipment" (Ausrüstungen)
umfasst, so wird die Instanz bereitgestellt.
wenn anderenfalls
die Instanz eine Architektur umfasst, wird daher
das Verhalten
der Instanz und der zwei Endpunkte bereitgestellt.
- – Zur
Bereitzustellung eines Verhaltens: wenn ein Verhalten B vorgegeben
ist, realisiere dessen zwei Endpunkte durch zwei andere Endpunkte
(T1, T2) und stelle (T1, T2) bereit. Finde eine Verhaltensregel
B = B1 o ... o BN und
konstruiere eine Folge von logischen Verhalten B1 o ... o B1 und Bindungen zwischen T1 und T2. Stelle
jeden neuen Endpunkt in der Folge bereit.
- – Zur
Bereitstellung eines Endpunktes: stelle irgendeinen Endpunkt bereit,
der in ihm enthalten ist, und wenn dessen Anwendungsmodell-Klasse
Architektur umfasst, so realisiere die Endpunkte durch einen anderen
Endpunkt und stelle diesen Endpunkt ebenfalls bereit.
-
Die
syntaktische Darstellung der Komponenten kann wie folgt sein:
provision_instance
(T1, T2, B, IM):-
T1
= t(Class, Instance, Id1),
class_info(Class, Type, _),
logical_link(T1,
T2, -B, IM),
behavior_rule (B, Bs),
provision_behavior(Type,
Bs, T1, T2, IM).
provision_behavior(equipment, Bs, T1, T2,
IM).
provision_behavior(architecture, Bs, T1 T2, IM):-
logical_link(T1,
T1R, realize, IM),
logical_link(T2, T2R, realize, IM),
construct_sequence(Bs,
T1R, T2R, IM),
provision_endpoints([T1R, T2R], IM).
construct_sequence([Bs],
T1, T2, IM):-
logical_link(T1,
T2, -B, IM),
construct_sequence([B\Bs], T1, T2, IM):-
logical_link(T1,
TA, -B, IM),
logical_link(TA, TB, bind, IM),
provision_endpoints([TA,
TB], IM),
construct_sequence(Bs, TB, T2, IM).
provision_endpoints([],
IM).
provision_endpoints([T\Ts], IM):-
provision_endpoints(T, IM),
provision_endpoints(Ts,
IM).
provision_endpoints(T, IM):-
T = t(Class, Instance, Id),
class_info(Class,
Type, _),
realize_endpoint(Type, T, IM)
Ts = {TC\link(T,
TC, contain)}
provision_endpoints(Ts, IM).
realize_endpoint(equipment,
T, IM).
realize_endpoint(architecture, T, IM):-
logical_link(T,
T1, realize, IM),
provision_endpoint(T1, IM).
-
Im
Schritt 503 wird die Steuerkomponente der Inferenzmaschine
verwendet, um die Logikkomponente auszuführen. In der bevorzugten Ausführungsform
verwendet der Algorithmus Künstliche-Intelligenz-Techniken,
die dafür
vorgesehen sind, eine effizientere Lösung für ein vorgegebenes Breitband-Verbindungs-
und Planungsproblem zu erzielen. Die Künstliche-Intelligenz-Techniken
schließen
Folgendes ein:
- – Hierarchische Planung: ein
Planungsproblem kann in eine Hierarchie von Teilproblemen zerlegt
werden, wobei das hierarchische Planungsprinzip zuerst Probleme
höherer
Ebene löst
und die Probleme an den niedrigeren Ebenen als Einzelheiten behandelt,
die später
gelöst
werden. Dies teilt üblicherweise
große Probleme
in besser behandelbare Teilprobleme auf. Wenn ein Teilproblem keine
Lösung
hat, so kann ein Weg gefunden werden, die Lösungen höherer Ebene zu modifizieren.
Weil das Breitband-Verbindungs-Planungsproblem, das hier gemäß der bevorzugten
Ausführungsform
beschrieben wird, zwei natürliche
Hierarchien hat, die Anwendungsmodell-Klassen-Ebenen-Hierarchien
und die Instanzenebenen-Bereitstellungshierarchien, können diese
als Hierarchien von einem Algorithmus verwendet werden, der das
hierarchische Planungsprinzip beinhaltet. Wenn ein Teilproblem keine
Lösung
hat, so können
Lösungen
höherer Ebene
durch Rückverfolgen
modifiziert werden.
- – Prinzip
des ersten Fehlers: während
einer Suche nach einer Lösung
gibt es typischerweise eine Verknüpfung von zu lösenden Teilzielen,
jeweils mit einer Anzahl von Lösungen,
beispielsweise kann es mehrere Endpunkte geben, die mit anderen
(nicht spezifizierten) Endpunkten gebunden werden müssen. Das
Prinzip des ersten Fehlers empfiehlt die Auswahl eines Teilziels
mit den wenigsten Lösungen.
Das Prinzip führt zu
einer höheren
Wahrscheinlichkeit der Feststellung eines frühzeitigen Ausfalls der Suche.
Zwei Spezialfälle
des Prinzips des ersten Fehlers können besonders nützlich sein:
wenn
irgendein Teilziel keine Lösungen
hat, dann wähle
es aus und führe
unmittelbar eine Rückverfolgung aus.
Der Nutzen dieser Auswahl besteht darin, dass ein Ausfall eines
Teilproblems so schnell wie möglich festgestellt
werden sollte, um nutzlose Suchen an anderen Teilproblemen zu vermeiden.
Wenn
irgendein Teilziel exakt eine Lösung
hat, so wähle
es aus. Die Auswahl einer derartigen Lösung beinhaltet keine willkürlichen
Auswahlen und kann daher nicht zu einer kombinatorischen Explosion
führen, sondern
kann neue Beschränkungen
für andere
Teilziele schaffen, was zu einer frühzeitigen Fehlerdetektion führen kann.
- – Bergsteigen:
eine intelligentere Variante einer eingehenden ersten Suche, die
verwendet werden kann, wenn eine Auswertungsfunktion verfügbar ist.
An jedem Punkt in der Suche ordnet eine Auswertungsfunktion einen
Wert zu Alternativen zu, auf der Grundlage einer Schätzung, wie
nahe die Suche an dem Ziel ist. Die Alternative mit der engsten
Abschätzung
wird ausgewählt.
Wenn eine Rückverfolgung
erfolgt, so wird eine nächstbeste
Lösung
versucht, und so weiter, bis alle Lösungen versucht wurden. Die
bevorzugte Ausführungsform
kann das Bergsteigerprinzip mit einer Auswertungsfunktion auf der
Grundlage verschiedener Kriterien verwenden.
-
Der
Algorithmus der bevorzugten Ausführungsform
wendet vorzugsweise eine höhere
Priorität
auf das Prinzip des ersten Fehlers an, als auf das hierarchische
Prinzip, und das Bergsteigen kann orthogonal angewandt werden. Die
bevorzugte Ausführungsform
der Steuerkomponente des Algorithmus verwendet vorzugsweise zwei
Sätze von
Regeln unter Verwendung ihrer Ausführung: Rechenregeln und Auswahlregeln.
-
6 der beigefügten Zeichnungen
zeigt Schritte, die von der Steuerkomponente während des Schrittes 503 nach 5 ausgeführt werden. Im Schritt 601 verwendet
die Steuerkomponente ihre Rechenregel, um ein zu lösendes Teilziel
auszuwählen.
In Ausdrücken
einer logischen Programmierung kann ein Teilziel ein Atom sein,
das dadurch gelöst
wird, dass es mit einem passenden Klausel-Anfangsteil in Übereinstimmung gebracht
wird, das heißt
ein Versuch, einen Satz von Werten für Variable in dem Teilziel
derart zu bestimmen, dass die Wahrheit des Teilziels sich aus den
Eingangsklauseln ergibt.
-
Die
Rechenregel entscheidet eine Reihenfolge, in der die Teilziele gelöst werden,
wobei die Reihenfolge der Teilziel-Auswahl dynamisch ist, was zu
einer Gleichlenkungsstrategie führt.
Die Regeln werden so gewählt,
dass ein Hin- und Herschwanken vermieden wird, das heißt ein Eintreten
in in eine Sackgassen-Situation,
so dass eine Situation, bei der eine Verknüpfung von Teilzielen auftritt,
von denen keines gelöst
werden kann, vorzugsweise vermieden wird.
-
Im
Schritt 602 entscheidet die Steuerkomponente, wie das ausgewählte Teilziel
zu lösen
ist, unter Verwendung der Auswahlregel. Im Schritt 603 wird
gefragt, ob weitere Teilziele zu lösen sind, um das bestimmte Gesamt-Breitband-Verbindungsproblem
zu lösen.
Dies kann sich aus der rekursiven Eigenart der Inferenzmaschine
ergeben, die es erforderlich macht, dass sie alle Ausdrücke in einer
Klausel als Teilziele auswählt,
um das Problem zu lösen.
Wenn die im Schritt 603 gestellte Frage bejaht wird, so
geht die Steuerung zurück
zum Schritt 601, anderenfalls geht die Steuerung zum Schritt 604 weiter,
bei dem die gefundene Lösung
als Ausgang des Algorithmus zurückgeliefert
werden kann.
-
7 der beigefügten Zeichnungen
zeigt die Schritte, die von der Rechenregel während des Schritts 601 nach 6 ausgeführt wird. Im Schritt 701 kann
ein Teilziel entsprechend seiner Betriebsart ausgewählt werden,
wobei die Betriebsart so ist, wie dies nachfolgend beschrieben wird.
Im Schritt 702 kann ein Teilziel entsprechend seiner Priorität ausgewählt werden,
wobei die Priorität
so ist, wie dies nachfolgend beschrieben wird. Im Schritt 703 wird
gefragt, ob ausgewählte
Teilziele die gleiche Priorität
haben. Wenn die im Schritt 703 gestellte Frage verneint
wird, so geht die Steuerung zum Schritt 704 über, in
dem ein Teilziel mit einem höchsten
Prioritätswert
ausgewählt
wird. Wenn die im Schritt 703 gestellte Frage bejaht wird,
so geht die Steuerung zum Schritt 705 über. Im Schritt 705 wird
die Frage gestellt, ob die ausgewählten Teilziele ein Verbindungs-Teilziel
umfassen. Wenn die im Schritt 705 gestellte Frage bejaht
wird, so kann irgendein (zufälliges)
Teilziel aus den ausgewählten
Teilzielen ausgewählt
werden. Wenn die im Schritt 705 gestellte Frage verneint
wird, so geht die Steuerung zum Schritt 707 über, bei
dem ein Verbindungs-Teilziel-Auswahlprozess
ausgeführt
werden kann.
-
8 der beigefügten Zeichnungen
zeigt die Betriebsarten und Prioritäten von Teilzielen, die während der
Ausführung
des Algorithmus auftreten kann. Betriebsarten werden durch Unterstreichung
von Argumenten bezeichnet. Ein Teilziel kann ausgewählt werden,
wenn seine unterstrichenen Argumente Nicht-Variablen sind und ihre
doppelt unterstrichenen Argumente sind Grundausdrücke; Zustände ihrer
Argumente können
möglicherweise
nicht betrachtet werden. Prioritäten
können
verwendet werden, um zwischen den Teilzielen eine Auswahl zu treffen,
wenn mehrere auswählbar
sind, wobei ein Teilziel mit einem höchsten Prioritätswert üblicherweise
als erstes ausgewählt
wird.
-
-
9 der beigefügten Zeichnungen
zeigt Schritte, die vorzugsweise von dem Algorithmus während des
Verbindungs-Teilziel-Auswahlschrittes 707 nach 7 ausgeführt werden. Im Schritt 901 wird
ein Verbindungs-Teilziel mit den wenigsten Lösungen ausgewählt. Diese
Auswahl ist eine Anwendung des Prinzips des ersten Fehlers. Die
Auswahl berücksichtigt
vorzugsweise physikalische Verbindungsschemas, weil diese üblicherweise
in einer Reihenfolge ausgeführt
werden, um alle Lösungen
zu finden, daher ist es nicht ausreichend, lediglich eine Anzahl
von zusammenpassenden Klauseln zu zählen.
-
Im
Schritt 902 wird die Frage gestellt, ob es immer noch eine
Wahl von Verbindungs-Teilzielen
gibt. Wenn die im Schritt 902 gestellte Frage bejaht wird,
so geht die Steuerung auf den Schritt 903 über. Im
Schritt 903 wählt
der Algorithmus vorzugsweise das Verbindungs-Teilziel in einer Reihenfolge
aus, die auf einem Wert seines Verbindungsargumentes beruht. Die
Reihenfolge der Bevorzugung kann wie folgt sein: Verhalten, Bindung,
Enthaltensein, Realisierung. Diese Auswahl ist eine Anwendung des
hierarchischen Planungsprinzips, das die Lösung von Teilproblemen, die
in der Bereitstellungshierarchie niedrig stehen, hinausschiebt,
und auch die derjenigen, die eine niedrige Position in der Enthaltenseins-Hierarchie
haben.
-
Im
Schritt 904 wird die Frage gestellt, ob es noch eine Auswahl
von Verbindungs-Teilzielen
gibt. Wenn die im Schritt 904 gestellte Frage bejaht wird,
so geht die Steuerung zum Schritt 905 über. Im Schritt 905 wird dann
ein Verbindungs-Teilziel mit einer niedrigsten Position in der Klassen-Ebenen-Hierarchie
ausgewählt,
wie dies durch dessen class_info-Klausel ausgewählt wird. Die Position kann
durch Summieren von Tiefen der Instanzen der Endpunkte der Verbindungen
in der Klassenebenen-Hierarchie berechnet werden (wobei die oberste
Ebene eine Tiefe von Null (0) aufweist. Diese Auswahl ist eine weitere
Anwendung der hierarchischen Planung.
-
Im
Schritt 906 wird eine Frage gestellt, ob es immer noch
eine Auswahl von Verbindungs-Teilzielen gibt. Wenn die im Schritt 906 gestellte
Frage bejaht wird, so geht die Steuerung auf den Schritt 907 über. Im Schritt 907 kann
das Verbindungs-Teilziel
in irgendeiner (zufälligen)
Reihenfolge ausgewählt
werden, und die Steuerung geht auf den Schritt 908 über.
-
Wenn
eine in einem der Schritte 902, 904 oder 906 gestellte
Frage verneint wird, so geht die Steuerung auf den Schritt 908 über. Im
Schritt 908 kann das Verbindungs-Teilziel, das ausgewählt wurde, bevor die Steuerung
zum Schritt 908 übergeben
wurde, als ein Ausgang des Verbindungs-Teilziel-Auswahlschrittes 707 zurückgeliefert
werden.
-
10 der beigefügten Zeichnungen
zeigt Schritte, die vorzugsweise von der Auswahlregel des Algorithmus
ausgeführt
werden, wenn dieser entscheidet, wie das ausgewählte Teilziel im Schritt 602 nach 6 zu lösen ist. Der Algorithmus entscheidet,
wie das ausgewählte
Teilziel zu lösen
ist, indem er eine Klausel auswählt,
die einen Ausdruck hat, der das Teilziel umfasst. Im Schritt 101 wird
gefragt, ob ein ausgewähltes
Teilziel ein Verbindungs-Teilziel ist. Wenn die im Schritt 1001 gestellte
Frage verneint wird, so wird die Steuerung zum Schritt 1002 weitergegeben.
Im Schritt 1002 wird eine Klausel, die der Algorithmus
auswählt,
um zu versuchen, das Teilziel zu lösen, entsprechend dessen textueller
Ordnung gewählt,
das heißt
seiner Position in der Eingangsklausel-Liste des Algorithmus. Das
Ergebnis des Schrittes 1002 kann dann als ein Ausgang des
Schrittes 602 zurückgeliefert
werden.
-
Wenn
die im Schritt 1001 gestellte Frage bejaht wird, so geht
die Steuerung auf den Schritt 1003 über. Im Schritt 1003 wird
ein unbegrenztes Argument des Verbindungs-Teilziels ausgewählt. Das unbegrenzte Argument
kann als ein „Ziel" bezeichnet werden.
Eine Klausel, deren Ziel bereits eine logische Verbindung hat, wird
vorzugsweise ausgewählt.
-
Im
Schritt 1004 wird eine Frage gestellt, ob es immer noch
eine Auswahl von Klauseln gibt. Wenn die im Schritt 1004 gestellte
Frage bejaht wird, so geht die Steuerung auf den Schritt 1005 über. Im
Schritt 1005 wird eine Klausel ausgewählt, deren Ziel in der Klassen-Ebenen-Hierarchie
am niedrigsten ist. Diese Auswahl ist eine Anwendung des „Bergsteige"-Prinzips, das darauf
gerichtet ist, die Bereitstellung mit so wenig Instanzen wie möglich zu
erzielen.
-
Im
Schritt 1006 wird eine Frage gestellt, ob es immer noch
eine Auswahl von Klauseln gibt. Wenn die im Schritt 1006 gestellte
Frage bejaht wird, so geht die Steuerung auf den Schritt 1007 über. Im
Schritt 1007 wird eine Klausel ausgewählt, deren Zielkapazität am niedrigsten
ist. Diese Auswahl ist eine weitere Anwendung des „Bergsteige"-Prinzips, das darauf
gerichtet ist, die vergeudete Endpunkt-Kapazität zu einem Minimum zu machen.
-
Im
Schritt 1008 wird eine Frage gestellt, ob es immer noch
eine Auswahl von Klauseln gibt. Wenn die im Schritt 1008 gestellte
Frage bejaht wird, so geht die Steuerung zum Schritt 1009 über. Im
Schritt 1009 wird eine Klausel in irgendeiner (zufälligen)
Reihenfolge ausgewählt,
und die Steuerung geht zum Schritt 1010 über.
-
Wenn
irgendeine der im Schritt 1004, 1006 oder 1008 gestellten
Fragen verneint wird, so geht die Steuerung zum Schritt 1010 über. Im
Schritt 1010 kann die Klausel, die von dem Algorithmus
ausgewählt
wurde, bevor die Steuerung zum Schritt 1010 übergeben
wurde, als ein Ausgang des Schrittes 602 zurückgeliefert werden.
-
Es
folgt ein verdichteter Verlauf, der zeigt, wie das Beispiel nach 4, das in den vorstehend
beschriebenen Algorithmus in der syntaktischen Darstellung eingeführt wird,
gelöst
werden kann. Aus Gründen der
Einfachheit zeigt der Verlauf nicht die Auswahlregel des Algorithmus
und auch nicht alle die Künstliche-Intelligenz-Techniken, die zur
Führung
der Suche der Inferenzmaschine verwendet werden, doch zeigt sie
die Art der gleichzeitigen Weglenkung der Rechenregel, die Verschachtelung
der logischen Verknüpfungsauswahl und
die Konstruktion der Verhaltensregeln. Es ist jedoch für den Fachmann
zu erkennen, dass die unter Bezugnahme auf die 7, 9 und 10 erläuterten Algorithmus-Schritte
unter Verwendung einer im Wesentlichen ähnlichen Verlaufstechnik realisiert
und demonstriert werden könnten.
Aus Gründen
der Lesbarkeit wurden einige Zwischenschritte aus dem Verlauf fortgelassen,
doch wird der Fachmann wiederum erkennen, dass diese Einzelheiten
aus der vorstehenden Information abgeleitet werden können. Hier
ist eine Variable IM, die die Darstellung des Algorithmus für das Realisierungsmodell
enthält,
als eine unbegrenzte Variable (aus Gründen der Kürze) gezeigt, doch werden ihre
Inhalte immer dann zusammengefasst, wenn sie sich ändern (jedesmal dann,
wenn ein add_logical_link-Teilziel gelöst wird).
-
Der
Verlauf beginnt vorzugsweise mit einem Anfangsziel (zur Bereitstellung
der tdm-Instanz 401):
provision_instance(t(tdm,
1, 1), t(tdm, 1, 2), adapt, IM)
und keinen logischen Verknüpfungen
in IM (IM = []). Wähle
provision_instance (genauer gesagt löse Atom mit diesem Prädikatsymbol
auf):
class_info(tdm, Type, _),
T1 = t(tdm, 1, Id1),
T2
= t(tdm, 1, Id2),
logical_link(T1, T2, -B, IM),
behavior_rule(B,
Bs),
provision_behavior(type, Bs, T1, T2, IM),
provision_endpoints[T1,
T2], IM),
-
Wähle class_info,
= (twice), logical_link, behavior_rule, provision_endpoints aus:
link(t(tdm,
1, Id 1), t(tdm, 1, Id2), -B,
add_logical_link(t(tdm, 1, Id1),
t(tdm, 1, Id2), -B, IM),
behavior_rule_generator(B, BS1),
provision_behavior(architecture,
[B\Bs1], t(tdm, 1, Id1), t(tdm, 1, ID2), IM)
provision_endpoint(t(tdm,
1, ID1), IM),
provision_endpoint(t(tdm, 1, ID2), IM),
-
Nunmehr
gibt es ein behavior_rule_generator-Teilziel, das noch nicht gelöst werden
kann, weil seine Liste unbegrenzt ist. Der Algorithmus wird durch
logische Verknüpfungen
geführt,
doch wird jede logische Verknüpfung
unmittelbar auf eine Konsistenz gegenüber der teilweise konstruierten
Verhaltensregel geprüft,
die derzeit:
B = B o Bs1 ist
worin B und Bs1 unbegrenzt
sind.
-
Nunmehr
wähle Verknüpfung (link)
und provision_behavior aus:
add_logical_link(t(tdm, 1, 1),
t(tdm, 1, 2), -adapt, IM),
behavior_rule_generator(adpat, Bs1),
logical_link(t(tdm,
1, 1), T1R, realize, IM),
logical_link(t(tdm, 1, 2), T2R, realize,
IM),
construct_sequence([adapt\Bs1], T1R, T2R, IM),
provision_endpoints([T1R,
T2R, IM),
provision_endpoints(t(tdm, 1, 1), IM),
provision_endpoints(t(tdm,
1, 2), IM).
-
Das
Lösen von
link hat B auf Anpassung gebunden, so dass die Verhaltensregel nunmehr
wie folgt ist:
adapt = adapt o Bs1
-
Nunmehr
wähle add_logical_link,
logical_link(zweimal) und provision_endpoints:
behavior_rule_generator(adapt,
Bs1),
link(t(tdm, 1, 1), T1R, realize, IM),
add_logical_link(t(tdm,
1, 1), T1R, realize; IM),
link(t(tdm, 1, 2), T2R, realize,
IM),
add_logical_link(t(tdm, 1, 2), T2R, realize, IM),
construct_sequence([adapt\Bs1],
T1R, T2R, IM),
provision_endpoint(T1R, IM),
provision_endpoint(T2R,
IM),
provision_endpoint(t(tdm, 1, 1), IM),
provision_endpoint(t(tdm,
1, 2), IM).
-
Weil
add_logical_link gelöst
wurde, gibt es nunmehr einen nicht-leeren Wert von IM:
t(tdm,
1, 1) adapt t(tdm, 1, 2)
was das logische Anpassungsverhalten 404 zwischen
den Endpunkten 1 und 2 der TDM-Instanz 401 ist.
Nunmehr wähle
beide link-Teilziele aus:
behavior_rule_generator(adapt, Bs1),
add_logical_link(t(tdm,
1, 1), t(cell_ace, 1, 1), realize, IM),
construct_sequence([adapt\Bs1],
t(cell_ace, 1, 1) t(avj, 1, 2), IM),
provision_endpoint(t(cell_ace,
1, 1), IM),
provision_endpoint(t(avj, 1, 2), IM),
provision_endpoint(t(tdm,
1, 1), IM),
provision_endpoint(t(tdm, 1, 2), IM),
provision_endpoint(t(avj,
1, 2), IM),
provision_endpoint(t(tdm, 1, 1), IM),
provision_endpoint(t(tdm,
1, 2), IM)
-
Der
Wert von IM ist nunmehr:
t(tdm, 1, 1) adapt t(tdm, 1, 2)
t(tdm,
1, 1) realize t(cell_ace, 1, 1),
t(tdm, 1, 2) realize t(avj,
1, 2)
t(cell_ace, 1, 1) adapt t(cell_ace, 1, 2)
-
Wähle add_logical_link
und construct_sequence aus:
behavior_rule_generator(adapt,
[B]),
provision_endpoint(t(cell_ace, 1, 2), IM),
provision_endpoint(t(avj,
1, 1), IM),
logical_link(t(avj, 1, 1), t(avj, 1, 2), -B, IM),
provision_endpoint(t(cell_ace,
1, 1), IM),
provision_endpoint(t(avj, 1, 2), IM),
provision_endpoint(t(tdm,
1, 1), IM),
provision_endpoint(t(tdm, 1, 2), IM)
-
Die
derzeitige Verhaltensregel ist nunmehr:
adapt = adapt o B
und
das IM ist nunmehr:
t(tdm, 1, 1) adapt t(tdm, 1, 2)
t(tdm,
1, 1) realize t(cell_ace, 1, 1),
t(tdm, 1, 2) realize t(avj,
1, 2)
t(cell_ace, 1, 1) adapt t(cell_ace, 1, 2)
t(cell_ace,
1, 2) bind t(avj, 1, 1)
-
Wähle logical_link
und behavior_rule_generator aus:
provision_endpoint(t(cell_ace,
1, 2), IM),
provision_endpoint(t(avj, 1, 1), IM),
link(t(avj,
1, 1), t(avj, 1, 2, -adapt),
add_logical_link(t(avj, 1, 2),
-adapt, IM),
provision_endpoint(t(cell_ace, 1, 1), IM),
provision_endpoint(t(avj,
1, 2), IM),
provision_endpoint(t(tdm, 1, 1), IM),
provision_endpoint(t(tdm,
1, 2), IM)
-
Die
Verhaltensregel ist nunmehr vollständig konstruiert:
adapt
= adapt o adapt
-
Wähle add_logical_link
und link aus:
provision_endpoint(t(cell_ace, 1, 2), IM),
provision_endpoint(t(avj,
1, 1), IM),
provision_endpoint(t(cell_ace, 1, 1), IM),
provision_endpoint(t(avj,
1, 2), IM),
provision_endpoint(t(tdm, 1, 1), IM),
provision_endpoint(t(tdm,
1, 2), IM).
-
Das
IM ist nunmehr:
t(tdm, 1, 1) adapt t(tdm, 1, 2)
t(tdm,
1, 1) realize t(cell_ace, 1, 1),
t(tdm, 1, 2) realize t(avj,
1, 2)
t(cell_ace, 1, 1) adapt t(cell_ace, 1, 2)
t(cell_ace,
1, 2) bind t(avj, 1, 1)
t(avj, 1, 1) adapt t(avj, 1, 2)
weil
der Klassentyp von jeder der cell_ace und avj-Instanzen equipment
(Ausrüstung)
ist, können
alle die Teilziele gelöst
werden, mit Ausnahme von:
provision_endpoint(t(tdm, 1, 1))
provision_endpoint(t(tdm,
1, 2))
-
Ein
Lösen dieser
Teilziele führt
zu den enthaltenen Endpunkten t(tdm, 1, 3) und t (tdm, 1, 4). Das
logische Verhalten adapt (Anpassung) findet sich zwischen diesen,
und sie werden exakt wie in der vorstehenden Weise bereitgestellt,
mit Ausnahme der Tatsache, dass kein weiterer Endpunkt existiert,
und dass TDM mit dem folgenden Realisierungsmodell bereitgestellt
wird, das für
das Beispiel nach 4 alle
physikalischen Verknüpfungen
umfasst, die als logische Verknüpfungen
ausgewählt
sind:
-
-
Es
folgt nunmehr ein zweites Beispiel der Ausführung des Algorithmus zur Lösung eines
weiteren Breitband-Verbindungsproblems. 11 der beigefügten Zeichnungen zeigt eine
grafische Darstellung, die ein vereinfachtes Anwendungsmodell darstellt.
Alle physikalischen Bindungen und Realisierungen für das Anwendungsmodell
sind auf der grafischen Darstellung gezeigt, obwohl das physikalische
Verhalten nicht gezeigt ist. Um die Beschreibung des Diagramms und
der Ausführung
des Algorithmus auf einer syntaktischen Darstellung der Knoten und
Verknüpfungen
zu vereinfachen, die in der grafischen Darstellung gezeigt sind,
sollten die folgenden Punkte bemerkt werden:
- – Verhaltensregeln
werden ignoriert
- – es
gibt kein Endpunkt-Enthaltensein, wir nehmen an, dass enthaltene
Endpunkte (beispielsweise die vom Typ SS7) nicht existieren. Endpunkte
sind als Ziffern in der Nähe
von Klasseninstanzen gezeigt (die als ovale Kästen gezeigt sind). Realisierungsverknüpfungen
sind wiederum mit gestrichelten Linien mit einer Pfeilspitze gezeigt,
und Bindungs-Verknüpfungen
sind als durchgezogene Linien gezeigt.
-
Das
Beispiel nach 11 umfasst
sechs Klassen: x, atm_switch, tdm, frame_processor, cell_ace und avj.
Die Klasse x befindet sich an der obersten Ebene der Klassen-Ebenen-Hierarchie;
tdm, frame_processor und atm_switch befinden sich auf einer Ebene
unterhalb von x und avj, und cell_ace befinden sich auf einer dritten
Ebene darunter. Eine erste Instanz der x-Klasse 1101 kann
ihren Endpunkt 1 durch den Endpunkt 1 einer ersten
tdm-Instanz 1102 realisiert haben (1115), und
er kann auch durch den Endpunkt 1 einer zweiten tdm-Instanz 1103 realisiert
sein (1113). Der Endpunkt 2 der x-Instanz 1101 kann
durch den Endpunkt 2 der frame_processor-Instanz 1105 realisiert
sein (1114).
-
Der
Endpunkt 1 der tdm-Instanz 1102 kann durch den
Endpunkt 1 einer ersten cell_ace-Instanz 1106 realisiert
sein (1116). Der Endpunkt 2 der tdm-Instanz 1102 kann
durch den Endpunkt 2 einer ersten avj-Instanz 1107 realisiert
sein (1117). Der Endpunkt 1 der tdm-Instanz 1103 kann
durch den Endpunkt 1 einer zweiten cell_ace-Instanz 1108 realisiert
sein (1119). Der Endpunkt 2 der tdm-Instanz 1103 kann
durch den Endpunkt 2 einer zweiten avj-Instanz 1109 realisiert
sein (1118). Der Endpunkt 2 der cell_ace-Instanz 1108 und
der Endpunkt 1 der avj-Instanz 1109 sind durch
die Bindung 1128 verknüpft.
-
Der
Endpunkt 1 der frame_processor-Instanz 1105 ist über die
Bindung 1120 mit dem Endpunkt 2 der atm_switch-Instanz 1104 verknüpft. Der
Endpunkt 1 der atm_switch-Instanz ist mit dem Endpunkt 2 einer
dritten avj-Instanz 1110 durch die Bindung 1121 verknüpft. Der
Endpunkt 3 der atm_switch-Instanz 1104 ist mit dem
Endpunkt 2 einer vierten avj-Instanz 1111 durch
die Bindung 1122 verknüpft.
Der Endpunkt 4 der atm_switch-Instanz 1104 ist
mit dem Endpunkt 2 einer fünften avj-Instanz 1112 durch
die Bindung 1123 verknüpft.
-
Der
Endpunkt 1 der avj-Instanz 1110 ist mit dem Endpunkt 2 der
tdm-Instanz 1102 über
eine Bindung 1125 verknüpft.
Der Endpunkt 1 der avj-Instanz 1111 ist mit dem
Endpunkt 2 der tdm-Instanz 1102 durch die Bindung 1126 verknüpft. Der
Endpunkt 1 der avj-Instanz 1112 ist mit dem Endpunkt 2 der
tdm-Instanz 1103 durch die Bindung 1127 verknüpft.
-
Die
syntaktische Darstellung des in 11 gezeigten
Anwendungsmodells kann im Wesentlichen ähnlich zu dem syntaktischen
Darstellungsverfahren sein, das vorstehend beschrieben wurde. Beispielsweise können die
Klauseln, die die Klassen des Beispiels definieren, wie folgt sein:
class_info(x,
architecture, 0)
class_info(tdm, equipment, 1)
class_info(frame_processor,
equipment, 1)
class_info(atm_switch, equipment, 1)
class_info(avj,
equipment, 2)
class_info(cell_ace, equipment, 2)
-
Es
ist für
den Fachmann verständlich,
dass Endpunkt-Definitionen gemäß der bevorzugten
Ausführungsform
auch für
die Knoten nach 11 geschaffen
werden können,
beispielsweise kann der Endpunkt 2 der dritten avj-Instanz 1110 durch
die folgende Klausel dargestellt werden:
endpoint(avj, 3, 2)
-
Verbindungen
oder Verknüpfungen
zwischen den Knoten können
weiterhin unter Verwendung der syntaktischen Darstellung geschaffen
werden, beispielsweise kann die Realisierungsverknüpfung 1116 zwischen dem
Endpunkt 1 der ersten tdm-Instanz 1102 und dem
Endpunkt 1 der ersten cell_ace-Instanz 1106 durch
die folgende Klause dargestellt werden:
link (t(tdm, 1, 1),
t(cell_ace, 1, 1), realize).
-
12–15 der
beigefügten
Zeichnungen zeigen zusammen mit der entsprechenden vorstehend angegebenen
Beschreibung die Ausführung
des Algorithmus gemäß der bevorzugten
Ausführungsform,
unter Einschluss der Verwendung der künstlichen Intelligenz-Techniken,
wie z. B. erster Ausfall, „Bergsteigen" und hierarchisches
Planen. Das Ergebnis der Ausführung
des Algorithmus ist wiederum ein Realisierungsmodell (IM), das ausgewählte logische
Verknüpfungen
oder Verbindungen umfasst, die entsprechend der syntaktischen Darstellung
ausgedrückt
werden können.
-
12 der beigefügten Zeichnungen
zeigt Schritte, die von der bevorzugten Ausführungsform des Algorithmus
ausgeführt
werden können,
während
versucht wird, ein Breitband-Verbindungsproblem bei dem Anwendungsmodell
nach 11 bis zum ersten
Auftreten einer Rückwärtsverarbeitung
des Algorithmus ausgeführt
werden können.
Im Schritt 1201 wird eine zu lösende Bereitstellungs-Instanz
spezifiziert. In dem folgenden Beispiel wird die x-Instanz 1101 bereitgestellt.
Die syntaktische Darstellung der darzustellenden spezifischen Instanz
kann durch die folgende Klausel gegeben werden:
provision_instance(t(x,
1, 1), t(x, 1, 2), adapt, IM)
-
Die
x-Instanz 1101 weist zwei Endpunkte (die mit 1 und 2 numeriert
sind) auf, die eine (in 11 nicht gezeigte)
Verhaltensverknüpfung
haben. Beide Endpunkte sollten realisiert werden, um das Breitband-Verbindungs-Planungsproblem
zu lösen.
Der Endpunkt 1 der x-Instanz 1201 kann auf zwei
Arten realisiert werden (das heißt durch die tdm-Instanzen 1106 und 1103),
während
der Endpunkt 2 lediglich eine mögliche Realisierung hat (frame_processor-Instanz 1105).
Die Anwendung des Prinzips des ersten Ausfalls des Algorithmus bewirkt,
dass der Endpunkt 2 ausgewählt und durch die Realisierungsverknüpfung 1114 zum
Endpunkt 2 von frame_processor 1105 realisiert
wird. Dies kann in der syntaktischen Darstellung durch die folgende
Klausel ausgedrückt
werden:
link(t(x, 1, 1), t(frame_processor, 1, 2), realize)
-
Im
Schritt 1203 wählt
die Anwendung des Prinzips des ersten Ausfalls des Algorithmus das
Verhalten aus, das die Endpunkte 1 und 2 der frame_processor-Instanz 1105 verknüpft. Dies
kann als eine logische Verknüpfung
ausgedrückt
werden, die zu dem Realisierungsmodell des Algorithmus in der syntaktischen
Darstellung durch die folgende Klausel hinzugefügt wird:
link(t(frame_processor,
1, 2), t(frame_processor, 1, 1), behavior)
-
Im
Schritt 1204 bindet die Anwendung des Prinzips des ersten
Ausfalls des Algorithmus den Endpunkt 1 der frame_processor-Instanz 1105 an
den Endpunkt 2 der atm_switch-Instanz 1104 unter
Verwendung der Bindungsverknüpfung 1120.
link(t(frame_processor,
1, 1), t(atm_switch, 1, 2), bind)
weil der Endpunkt 2 der
atm_switch-Instanz 1105 drei mögliche Verhaltensverknüpfungen
hat (die sie mit den Endpunkten 1, 3 und 4 der
atm_switch-Instanz 1105 verknüpfen). Der
Endpunkt 1 der x-Instanz 1101 hat jedoch lediglich
zwei mögliche
Realisierungen (die ihn mit dem Endpunkt 1 der tdm-Instanz 1102 oder
dem Endpunkt 1 der tdm-Instanz 1103 verbinden).
Die Anwendung des Prinzips des ersten Ausfalls des Algorithmus entscheidet
daher, dass versucht werden sollte, den Endpunkt 1 der
x-Instanz bereitzustellen, anstelle des Endpunktes 2 der
atm_switch-Instanz 1104.
Weil der Algorithmus keinen Grund hat, den Endpunkt 1 der tdm-Instanz 1102 gegenüber dem
Endpunkt 1 der tdm-Instanz 1103 oder umgekehrt
auszuwählen,
wählt der Algorithmus
(zufällig)
den Endpunkt 1 der tdm-Instanz 1102 aus, was durch
die Realisierungsverknüpfung 1115 verwirklicht
wird.
link(t(x, 1, 1), t(tdm, 1, 1), realize)
-
Im
Schritt 1206 versucht das Prinzip des „Bergsteigens" des Algorithmus
das Falten zwischen Bindungen, und so werden die Endpunkte 1 und 2 der
tdm-Instanz 1102 durch ihre Verhaltensverknüpfung verknüpft:
link(t(tdm,
1, 1), t(tdm, 1, 2), behavior)
-
Im
Schritt 1207 hat der Endpunkt 2 der tdm-Instanz 1102 zwei
mögliche
Bindungen (zum Endpunkt 1 der avj-Instanz 1110 und
zum Endpunkt 1 der avj-Instanz 1111), so dass
die Anwendung des Prinzips des ersten Ausfalls des Algorithmus den
Endpunkt 1 der tdm-Instanz 1102 durch den Endpunkt 1 der
cell_ace-Instanz 1106 realisiert (1116):
link(t(tdm,
1, 1), t(class_instance, 1, 1), realize)
-
Im
Schritt 1208 wählt
die Anwendung des Prinzips des ersten Ausfalls des Algorithmus eine
Verhaltensverknüpfung
aus, die die Endpunkte 1 und 2 der cell_ace-Instanz 1106 verknüpft:
link(t(cell_ace,
1, 1), t(cell_ace, 1, 2)behavior)
-
An
diesem Punkt gibt es keine möglichen
Bindungen an dem Endpunkt 2 der cell_ace-Instanz 1106, so
dass die Anwendung des Prinzips des ersten Ausfalls des Algorithmus
ein unmittelbares Zurücksteigen
hervorruft. 13 der beigefügten Zeichnungen
zeigt schematisch die Schritte 1201–1208 nach 12, die an dem vereinfachten
Anwendungsmodell nach 11 ausgeführt werden.
Die ausgewählten
logischen Verknüpfungen
sind als dickere physikalische Verbindungsstrecken dargestellt,
abgesehen von dem logischen Verhalten (zwischen den Endpunkten einer
einzigen Instanz), die durch mit stärkeren Linien dargestellten
Instanz-Kästen
realisiert sind. Die Bezugsziffern 1201–1208 in 13 zeigen die Reihenfolge
der Auswahl entsprechend den Schritten nach 12.
-
14 der beigefügten Zeichnungen
zeigt die Schritte, die von dem Algorithmus vorzugsweise nach dem
Schritt 1208 nach 12 ausgeführt werden.
Im Schritt 1401 führt
der Algorithmus ein Zurücksteigen
auf einen Auswahlpunkt aus, der im Schritt 1205 auftritt.
Im Schritt 1402 versucht der Algorithmus eine alternative Realisierung
des Endpunktes 1 der x-Instanz 1101 durch Realisieren
(1113), des Endpunktes durch den Endpunkt 1 der
tdm-Instanz 1103:
link(t(x, 1, 1), t(tdm, 2, 1), realize)
-
Im
Schritt 1403 verknüpft
die Anwendung des Prinzips des ersten Ausfalls des Algorithmus die
Endpunkte 1 und 2 der tdm-Instanz 1103 durch
ein Verhalten:
link(t(tdm, 2, 1), t(tdm, 2, 2), -behavior
-
Im
Schritt 1404 bindet die Anwendung des Prinzips der hierarchischen
Planung des Algorithmus den Endpunkt 2 der tdm-Instanz 1103 mit
dem Endpunkt 1 der avj-Instanz 1112 durch
Binden der Verknüpfung 1127:
link(t(tdm,
2, 2), t(avj, 5, 1), bind)
-
Im
Schritt 1405 verknüpft
die Anwendung des Prinzips der hierarchischen Planung des Algorithmus die
Endpunkte 1 und 2 der avj-Instanz 1112 durch
ein Verhalten.
link(t(avj, 5, 1), t(avj, 5, 2), behavior)
-
Im
Schritt 1406 bindet die Anwendung des Prinzips der hierarchischen
Planung des Algorithmus den Endpunkt 2 der avj-Instanz 1112 an
den Endpunkt 4 der atm_switch-Instanz 1104 über die
Bindungsverknüpfung 1123.
link(t(avj,
5, 2), t(atm_switch, 1, 4), bind)
-
Im
Schritt 1407 verzögert
die Anwendung des Prinzips der hierarchischen Planung des Algorithmus die
Bereitstellung der tdm-Instanz 1103, um Verknüpfungen
zur avj-Instanz 1112 und
zur atm_switch-Instanz 1114 zu konstruieren. Die Anwendung
des Prinzips des ersten Ausfalls des Algorithmus übersteuert
dessen Verwendung jedoch durch das Prinzip der hierarchischen Planung
in diesem Fall und verzögert
die Auswahl eines Verhaltens, das die atm_switch-Instanz 1104 verknüpft, und
stellt stattdessen die tdm-Instanz 1103 bereit. Der Endpunkt 1 der
tdm-Instanz 1103 wird durch den Endpunkt 1 der
cell_ace-Instanz 1108 realisiert (1119):
link(t(avj,
5, 2), t(atm_switch, 1, 4), bind)
-
Im
Schritt 1408 verknüpft
die Anwendung des Prinzips des ersten Ausfalls und der hierarchischen
Planung des Algorithmus die Endpunkte 1 und 2 der
cell_ace-Instanz 1108 durch ein Verhalten:
link(t(cell_ace,
2, 1), t(cell_ace, 2, 2)behavior)
-
Im
Schritt 1410 bindet die Anwendung der Prinzipien des ersten
Ausfalls und der hierarchischen Planung des Algorithmus den Endpunkt 2 der
cell_ace-Instanz 1108 an den Endpunkt 1 der avj-Instanz 1109 durch
die Bindungsverknüpfung 1128:
link(t(cell_ace,
2, 2), t (avj, 2, 1)bind)
-
Im
Schritt 1411 verknüpft
die Anwendung des Prinzips des ersten Ausfalls und der hierarchischen
Planung des Algorithmus die Endpunkte 1 und 2 der
avj-Instanz 1109 durch ein Verhalten:
link(t(avj,
2, 1), t(avj, 2, 2), behavior)
-
Im
Schritt 1411 realisiert (1118) die Anwendung des
Prinzips des ersten Ausfalls des Algorithmus den Endpunkt 2 der
tdm-Instanz 1103 durch den Endpunkt 2 der avj-Instanz 1109.
link(t(avj,
2, 2), t(tdm, 2, 2), realize)
-
Im
Schritt 1412 sind die einzigen zwei Endpunkte, die noch
logische Verknüpfungen
erfordern, die Endpunkte 2 und 4 der atm_switch-Instanz 1104:
link(t(atm_switch,
1, 2), t(atm_switch, 1, 4), -behavior)
-
Die
Anwendung des Prinzips des „Bergsteigens" des Algorithmus
erhält
ein Verhalten zwischen den zwei Endpunkten aus, wobei das Ziel bereits
eine logische Verknüpfung
hat. Ohne diese Heuristik könnten
unterschiedliche Verhaltensweisen aufgerufen werden (beispielsweise
eine Verknüpfung
der Endpunkte 4 und 3 oder der Endpunkte 2 und 1 der
atm_switch-Instanz 1104) was bewirken könnte, dass die zwei Enden der
speziellen bereitzustellenden Instanz einander „verfehlen", was zu einem unnötigen Zurücksteigen führen würde.
-
15 der beigefügten Zeichnungen
zeigt eine Spur der Ausführung
des Algorithmus in einer Weise ähnlich
zu 13 unter Einschluss
der Schritte 1201–1205 nach 12 und der Schritte 1401–1412 nach 14.
-
Damit
kann das aus der Ausführung
des Algorithmus, wie sie vorstehend beschrieben wurde, resultierende
Realisierungsmodell wie folgt sein:
-
-
Die
logischen Verknüpfungen
in dem resultierenden Realisierungsmodell könnten dem Benutzer angezeigt
werden, vorzugsweise über
die Netzwerksteuerung, in irgendeiner geeigneten Form, beispielsweise durch
eine Bildschirmanzeige, die die logischen Verknüpfungen auf einer grafischen
Darstellung der Darstellung ähnlich
der nach 15 hervorhebt,
oder alternativ könnte
eine Liste von Klauseln in der syntaktischen Darstellung geliefert
werden, die die Lösung
des Realisierungsmodells beschreibt. Das resultierende Realisierungsmodell
könnte
auch beispielsweise von einer Netzwerksteuerung verwendet werden,
um die logischen Verknüpfungen
für Verbindungen
in dem physikalischen Netzwerk zu realisieren.