DE4217064C2 - Verfahren zur Verarbeitung von über Datenübertragungssysteme zu übertragenden Datensätzen sowie eine Anwendung - Google Patents
Verfahren zur Verarbeitung von über Datenübertragungssysteme zu übertragenden Datensätzen sowie eine AnwendungInfo
- Publication number
- DE4217064C2 DE4217064C2 DE4217064A DE4217064A DE4217064C2 DE 4217064 C2 DE4217064 C2 DE 4217064C2 DE 4217064 A DE4217064 A DE 4217064A DE 4217064 A DE4217064 A DE 4217064A DE 4217064 C2 DE4217064 C2 DE 4217064C2
- Authority
- DE
- Germany
- Prior art keywords
- data
- types
- data types
- transmission systems
- units
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Description
Die vorliegende Erfindung betrifft ein Verfahren nach dem Oberbegriff des Patentanspruchs 1
sowie eine Anwendung des Verfahrens.
Bei der Übertragung von Daten zwischen zwei digitalen Datenübertragungssystemen, wie dies
zum Beispiel in Fernmeldesystemen nach ISDN-(Integrated Services Digital Network)-Normen
der Fall ist, werden zwischen einem Endgerät eines Teilnehmers und einem Fernmeldeamt oder
zwischen zwei Fernmeldeämtern Datensätze unterschiedlicher Komplexität und/oder Länge
übertragen. Insbesondere werden bei der Signalisierung die vom CCITT herausgegebenen
Empfehlungen herangezogen. In diesen Empfehlungen sind die grundsätzlichen Funktionen und
Protokolle für den für die Signalisierung zwischen Endgerät und Fernmeldeamt vorgesehenen D-Kanal - Ebene 3 des OSI-(Open Systems Interconnection)-Referenzmodells - sowie das zur Signalisierung
zwischen Fernmeldeämtern vorgesehenen ISUP-(ISDN User Part) - Ebene 4 des
OSI-Referenzmodells -, insbesondere die zur Erstellung, für den Unterhalt und zum Löschen von
Verbindungen in der Benützer-Netzwerk-Schnittstelle bzw. Netzwerk-Netzwerk-Schnittstelle notwendigen
Prozeduren, beschrieben. Detaillierte Angaben sind in den Empfehlungen Q.931 bzw.
I.451 und Q.932 bzw. I.452 oder, was die Funktionen und Prozeduren für Protokolle und Beziehungen
mit anderen Schichten des OSI-Referenzmodells anbelangt, in der Empfehlung Q.930
bzw. I.430 angegeben.
Alle möglichen bei der Signalisierung übertragenen Parameter werden in Gruppen unterteilt, die
beim Signalisierungsvorgang ähnliche Aufgaben wahrnehmen und die im folgenden als Meldungen
(engl. Messages) bezeichnet werden. Eine solche Meldung besteht grundsätzlich aus einem
in Dateneinheiten unterteilten Datensatz, der dem geforderten Leistungsmerkmal entsprechende
Daten enthält. Betrachtet man beispielsweise die Meldung SETUP, so werden darunter sämtliche
Leistungsmerkmale, die mit dem Auf- und Abbau von Verbindungen zusammenhängen, verstanden.
Dazu gehören beim erwähnten Beispiel 23 verschiedene Datensätze wie REPEAT INDICATOR,
SENDING COMPLETE, BEARER CAPABILITY, CALLING PARTY SUBADDRESS, etc.
(CCITT Empfehlung Q.931). Nicht alle Datensätze sind jedoch durch ihre Bezeichnung eindeutig
bestimmt. Aufgrund der in den Datensätzen abgelegten Werte kann neben der Größe auch die
aus den Dateneinheiten gebildete Struktur der Datensätze ändern. Betrachtet man beispielsweise
die verschiedenen Ausführungsmöglichkeiten des Datensatzes BEARER CAPABILITY, so stellt
man fest, daß einerseits die Länge dieses Datensatzes zwischen vier und dreizehn Byte variieren
kann und daß anderseits verschiedene Kombinationen von Dateneinheiten im Datensatz durch
in vorangehenden Dateneinheiten abgelegte Werte festgelegt werden. Es ergeben sich demzufolge
Änderungen in der Struktur der Datensätze, die während dem Ablauf der durch diese Meldung
beschriebenen Prozedur bewirkt werden und die vom Empfänger bzw. vom Sender bei der
Rekonstruktion bzw. Konstruktion und Weiterverarbeitung der Daten entsprechend berücksichtigt
werden muß.
Naheliegend, insbesondere für die Datenrekonstruktion, wäre eine mit Hilfe eines Computerprogramms
ausgeführte prozedurale Verarbeitung der Datensätze, in der ein Datensatz mit Hilfe der
in den CCITT-Empfehlungen angegebenen Regeln derart verarbeitet wird, daß die in den Dateneinheiten
der Datensätze enthaltenen Werte vordefinierten Variablen zugewiesen werden. Mit
diesen Variablen kann dann eine Weiterverarbeitung auf herkömmliche Art und Weise erfolgen.
Voraussetzung bei der prozeduralen Verarbeitung ist die Einhaltung aller der die Strukturen der
möglichen Datensätze beschreibenden Regeln, was eine aufwendige Bearbeitung notwendig
macht. Zudem sind bei diesem Verfahren die Fehlermöglichkeiten bei der Implementation der
CCITT-Empfehlung sehr groß, womit ein großer Teil der Fehlverhaltenswahrscheinlichkeit des
Gesamtsystems den implementierten Regeln zugesprochen werden muß.
Ferner ist in der Vorveröffentlichung "Design of on-line computer systems" von Edward Yourdon
(Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1972, Seiten 234 bis 246) ein Verfahren zur
Verarbeitung von zwischen zwei Datenübertragungssystemen übertragenen Datensätzen
beschrieben, bei dem sogenannte Befehlsmatrizen, die auf weitere Matrizen Bezug nehmen,
verwendet werden. Dabei erweist sich diese Matrizendarstellungsart der Daten schon bei relativ
einfachen Beispielen als unübersichtlich und entsprechend fehleranfällig. Auch erweist sich die
vorgeschlagene graphische Darstellungsart der Datenstrukturen zur Weiterverarbeitung mit
Datenverarbeitungsanlagen als gänzlich ungeeignet.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, ein Verfahren anzugeben, bei dem
die zu übertragenden, in beliebige Dateneinheiten unterteilte Datensätze derart beschrieben
werden, daß die Fehleranfälligkeit bei dieser Beschreibung und bei späteren Verarbeitungen
vermindert wird.
Diese Aufgabe wird durch die im kennzeichnenden Teil des Patentanspruchs 1 angegebenen
Maßnahmen gelöst. Vorteilhafte Ausgestaltungen der Erfindung sowie eine Anwendung sind in
weiteren Ansprüchen angegeben.
Die Erfindung geht von einer an sich bekannten höheren Programmiersprache wie beispielsweise
Pascal, Fortran, C, C++, Modula SDL (Specification and Description Language), etc. aus, wobei
eine Untermenge der normalerweise als Spezifikationssprache eingesetzte Sprache SDL als
Programmiersprache verwendet werden kann. In jeder dieser Sprachen können Daten in mit
Namen versehenen Variablen abgelegt werden. Diese Variablen vereinfachen die Handhabung
der Daten erheblich, da mit Hilfe der Namen direkt auf die Variablen bzw. deren Werte zugegriffen
werden kann, ohne daß der physikalische Ort der Variablen im Speicher eines Rechnersystems
angegeben werden muß. Voraussetzung ist lediglich, daß vor der ersten Verwendung der
Variablen bzw. deren Namen diesen Variablen in einem Programm ein Datentyp in einer sogenannten
Variablendeklaration zugewiesen wird. Der Datentyp legt die zulässigen Werte bzw. den
Wertebereich der Variablen fest, was einerseits die Lesbarkeit der Programme verbessert, andererseits
den Variablen falsch zugewiesene Werte erkennen lassen, falls diese außerhalb des für
diese Variable bzw. diesen Datentyp zugelassenen Bereiches liegen. Insbesondere kann ein
Übersetzungsprogramm (Interpreter oder Compiler), das zur Übersetzung von in höheren Programmiersprachen geschriebenen Programmen in maschinenverständliche Anweisungen benötigt
wird, jedwelche Zuweisungen von nicht mit dem gleichen Datentyp deklarierten Variablen als
Fehler erkennen oder anzeigen.
Es empfiehlt sich hauptsächlich aus diesen Gründen, möglichst auch die verwendeten Datentypen,
falls es sich nicht um sogenannte durch die verwendete Programmiersprache selbst gegebene
Standarddatentypen handelt, in Typendefinitionen zusammenzufassen. Für die Variablendeklarationen
können dann diese zusammengesetzten Datentypen immer wieder verwendet
werden.
Im folgenden werden die eben eingeführten Begriffe ausschließlich in der bezeichneten Art und
Weise verwendet: Datentypen werden demnach grundsätzlich "definiert", währenddem Variablen
durch die Angabe eines Datentyps "deklariert" werden.
Bei all diesen Programmiersprachen können die Datentypen nur statisch angegeben werden,
d. h., daß die Datentypen nach der Übersetzung mit dem Übersetzungsprogramm nicht mehr
verändert werden können. Aus diesem Grund wird eine Programmiersprache erfindungsgemäß
mit verschiedenen Datentypen erweitert, die weder die Struktur noch die Länge der mit diesen
Datentypen deklarierten Variablen zum Zeitpunkt der Übersetzung mit dem Übersetzungsprogramm
fixieren. Die Festlegung auf einen der in der Variablendeklaration als Auswahl angegebenen
Datentypen wird erst zum Zeitpunkt der Programmausführung vorgenommen.
Mit diesen zusätzlichen Datentypen können die Datensätze, die als Meldungen zwischen Fernmeldesystemen
übertragen werden, formal beschrieben werden, wobei die Datentypen entsprechend
den in den Dateneinheiten enthaltenen Werten ausgewählt werden. Anstelle der umständlichen
und zeitaufwendigen prozeduralen Verarbeitung der einzelnen Datensätze können auf die
Werte der mit Hilfe der flexiblen Datentypen deklarierten Variablen direkt zugegriffen werden. Eine
anschauliche Darstellung dieses Verfahrens würde etwa darin liegen, daß ein allgemeines mit
verschiedenen Auswahlmöglichkeiten versehenes Muster über einen Datensatz gelegt wird, das
sich aufgrund der Werte der Dateneinheiten in ein spezielles durch die ausgewählte Struktur
beschränktes Muster umwandelt, in dem die Werte über die mit diesem speziellen Muster deklarierten
Variablennamen direkt verfügbar werden, ohne daß eine Wertezuweisung wie bei der
prozeduralen Verarbeitung notwendig ist. Durch die mit den flexiblen Datentypen deklarierten
Variablen entfällt die fehleranfällige Regelimplementation der prozeduralen Verarbeitung. Zusätzlich
kann eine Typenkontrolle bei jedem Zugriff auf den Wert einer in dieser Art und Weise deklarierten
Variablen ausgeführt werden, was somit auch das Fehlverhalten des Gesamtsystems
verkleinert.
Die Erfindung wird nachfolgend anhand von Zeichnungen beispielsweise näher erläutert. Dabei
zeigt:
Fig. 1: einen Datensatz, dessen Struktur vor der Verarbeitung der im Datensatz abgelegten
Werte nicht bekannt ist;
Fig. 2: einen Datensatz, dessen Länge vor der Verarbeitung der im Datensatz abgelegten Werte
nicht bekannt ist;
Fig. 3: ein Syntaxdiagramm zur Darstellung aller möglichen Formen eines Datentyps CHOICE;
Fig. 4: ein Syntaxdiagramm zur Darstellung aller möglichen Formen eines Datentyps SEQUENCE;
Fig. 5 ein Syntaxdiagramm zur Darstellung einer in den Datentypen SEQUENCE und CHOICE
verwendeten syntaktischen Einheit "field list";
Fig. 6: ein Testsystem zum Testen von Systemeinheiten.
Fig. 1 zeigt einen Ausschnitt aus einem aus mehreren Wörtern BY1 bis BY4b bestehenden Datensatz
BC. Zu jedem Wort BY1 bis BY4b - häufig auch als Oktett bezeichnet - gehören acht Bit
B1 bis B8, die in beliebigen Dateneinheiten zusammengefaßt werden können. Der Einfachheit
halber sind in diesem Ausführungsbeispiel nur benachbarte und/oder einzelne oder mehrere
zum gleichen Wort BY1 bis BY4b gehörende Bit B1 bis B8 in Dateneinheiten DE1 bis DE15 zusammengefaßt.
So kann eine Dateneinheit DE2 beispielsweise aus allen das ganze Wort BY2
umfassende acht Bit B1 bis B8 bestehen oder, wie die Dateneinheiten DE3, nur aus zwei Bit B6
und B7. Die durch die Dateneinheiten DE0 bis DE15 vorgegebene Datenstruktur ist jedoch nicht
auf die in Fig. 1 vorgegebene Struktur beschränkt. Vielmehr kann sich aus dem Zusammenhang
der Anwendung ergeben, daß beispielsweise einzelne Wörter BY1 bis BY4b oder einzelne
Dateneinheiten DE0 bis DE15 keine Bedeutung haben und demzufolge weggelassen werden. Aus
praktischen Gründen, die sich aus der Organisation von Speichern in Rechnersystemen ergeben,
sind vom Weglassen oder Hinzufügen von Datensatzteilen im vorliegenden Beispiel immer ganze
Wörter BY1 bis BY4b betroffen. So beinhalten beispielsweise die beiden Wörter BY4a und BY4b
die Dateneinheiten DE7 bis DE11, DE14 und DE15, welche bei diesem Datensatz BC im gegebenen
Fall nicht vorhanden sein müssen. Die Entscheidung, wann beispielsweise das Wort BY4a
mit den Dateneinheiten DE7 bis DE9 und DE14 vorhanden ist, erfolgt aufgrund der in der Dateneinheit
DE13 abgelegten Werte des vorangehenden Wortes BY4. Ebenso wird das Vorhandensein
des Wortes BY4b durch die in der Dateneinheit DE14 angegebenen Werte des vorangehenden
Wortes BY4a angezeigt. Dies bedeutet, daß sich die Struktur des Datensatzes BC aufgrund
von Werten in strukturell bereits festgelegten Teilen des Datensatzes BC selbst definiert. Die
möglichen Datensatzstrukturen sind im vorliegenden Beispiel in ihrer Anzahl insofern eingeschränkt,
weil die die Datensatzstruktur bestimmenden Werte jeweils im vorangehenden Wort
BY4a bzw. BY4b abgelegt sind. Damit ist es beim Vorhandensein des Wortes BY4b Voraussetzung,
daß das Wort BY4a ebenfalls vorhanden ist. Will man den allgemeinen Fall, wo die Worte
BY4a und BY4b jeweils einzeln vorkommen können, auch berücksichtigen, so bedingt dies, daß
die zur Entscheidung über das Vorhandensein benötigten Werte vor den optionalen Wörtern
BY4a bzw. BY4b abgelegt sind.
Im folgenden sollen zur Beschreibung des Datensatzes BC benötigte erfindungsgemäße Datentypen
in der höheren mit den Datentypen erweiterten Programmiersprache SDL anhand von zwei
Beispielen erläutert werden. Gleichzeitig soll erwähnt werden, daß die üblicherweise als Spezifikationssprache
verwendete Sprache SDL durch die Möglichkeit der Angabe von Bitdarstellungen
bei Typendefinitionen erweitert worden ist. Eine solche Typendefinition durch Bitdarstellung ist im
ersten Programmausschnitt ersichtlich.
Als erstes Beispiel soll der in Fig. 1 dargestellte Datensatz BC verwendet werden, der den Datensatz
BEARER CAPABILITY der Meldung SETUP gemäß den CCITT Empfehlungen Q.931 darstellt.
Zur Verdeutlichung wurden die Dateneinheiten DE0 bis DE15 mit den sie repräsentierenden
Datentypen bc_identifier, bc_length, etc. versehen, die mit den in den Empfehlungen Q.931 verwendeten
Bezeichnungen übereinstimmen und die auch in den folgenden SDL-Programmausschnitten
zur Datentypendefinition verwendet werden.
Als Grundlage zum Verständnis der angegebenen SDL-Programme sei auf das vom CCITT
herausgegebene Volume X des "Blue Book" verwiesen. Zur einfacheren Unterscheidung der zur
Programmiersprache SDL gehörenden Schlüsselwörter STRUCT, NEWTYPE, etc. von den
Datentypen bc_identifier, bc_length, etc. des Datensatzes BC sind die Schlüsselwörter durchweg
groß und die Datentypen durchwegs klein geschrieben.
Alle die Dateneinheiten DE0 bis DE15 beschreibenden Datentypen werden zunächst in einer
ersten Definitionsstufe durch Auflistung aller möglichen Werte, die die betreffenden Dateneinheiten
DE0 bis DE15 annehmen können, definiert. Als Beispiel sei im folgenden die Dateneinheit DE4
angegeben, für deren weitere Datentypdefinition zunächst ein Datentyp info_transfer_capability
definiert wird:
Für alle andern Dateneinheiten DE0 bis DE3 und DE5 bis DE15 werden in gleicher Weise entsprechende
Datentypen identifier, length, configuration, etc. definiert, die später zur Definition der
Datentypen bc_identifier, bc_length, bc_configuration, etc. herangezogen werden. Nach dieser
ersten Stufe der Datentypendefinition erfolgt in einer zweiten die eigentliche Definition des Datensatzes
BC. Dazu werden die in der Programmiersprache SDL erfindungsgemäß ausgeführten
Datentyperweiterungen CHOICE und SEQUENCE für die Beschreibung von Datensätzen mit
variabler Länge und/oder veränderbarer Struktur eingesetzt. Der als CHOICE bezeichnete Datentyp
wird zur Auswahl aus einer Anzahl von verschiedenen Datentypen aufgrund der Angabe in
einer vorangehenden Dateneinheit verwendet. Diese Auswahl wurde bereits in der allgemeinen
Beschreibung zu Fig. 1 bezüglich den Wörtern BY4a und BY4b erklärt. Im folgenden Programmlisting
wird der Datensatz BC mit Hilfe der in der ersten Stufe definierten Datentypen identifier,
length, configuration, etc. und mit Hilfe des zusätzlichen Datentyps CHOICE definiert. Zum besseren
Verständnis des Programmlistings wurden die entsprechenden Dateneinheiten DE0 bis
DE15 in einer Kommentarspalte am rechten Seitenrand eingefügt:
Grundsätzlich sind alle zum Datensatz BC gehörenden Datentypen in einem Standarddatentyp
STRUCT zusammengefaßt. In diesem sind die einzelnen vorkommenden Datentypen in der
Reihenfolge ihres Auftretens aufgeführt. Dabei sind die beiden Wörter BY1 und BY2 automatisch
durch die zwischen den eckigen Klammern nach dem Schlüsselwort CODESET angegebenen
Informationen definiert. Diesen beiden die Dateneinheiten DE0 bis DE2 enthaltenden Wörter BY1
und BY2 folgt eine durch das Schlüsselwort SPARE reservierte nicht veränderbare Bitkombination
in der Dateneinheit DE12 des Wortes BY3. Für die Wörter BY3 und BY4 ergeben sich ansonsten
keine von der normalen Typendefinition abweichenden Eigenschaften. Erst beim Wort BY4a
und BY4b erfolgt eine Auswahl der folgenden Datentypen mit Hilfe des Datentyps CHOICE aufgrund
der Werte in den als Datentypen ext_4 und ext_4a deklarierten Dateneinheiten DE13 und
DE14. Im vorliegenden einfachen Fall beschränkt sich die Auswahl sowohl beim Wort BY4a als
auch beim Wort BY4b auf dessen Vorhandensein oder auf dessen Nichtvorhandensein. Vorhanden
ist das Wort BY4a bzw. BY4b nur dann, wenn der Wert der mit dem Datentyp ext_4 bzw.
ext_4a deklarierten Variablen mit dem Wert ext des Datentyps ext_bit übereinstimmt. Die bereits
festgestellte Tatsache, daß das Wort BY4b nur vorhanden sein kann, falls das Wort BY4a vorhanden
ist, äußert sich im verschachtelten CHOICE-Datentypen bei der Definition des Wortes
BY4b. Gerade diese Verschachtelung von mehreren gleichen oder unterschiedlichen Datentypen
verbunden mit den beliebigen Auswahlmöglichkeiten aus weiteren Datentypen mit Hilfe des
Datentyps CHOICE öffnen große Möglichkeiten und Flexibilität bei der Definition von Datentypen.
Wie bereits erwähnt, kann auf die Werte in den Variablen direkt über die bei der Datentypendeklaration
verwendeten Variablennamen zugegriffen werden.
Fig. 2 zeigt einen als zweites Beispiel verwendeten Datensatz CPSA, der ebenfalls zur Meldung
SETUP gehört und in den Empfehlungen Q.931 mit CALLING PARTY SUBADDRESS bezeichnet
wird. Wie der in Fig. 1 dargestellte Datensatz BC besteht auch der Datensatz CPSA aus mehreren
acht Bit Bl1 bis Bl8 langen Wörtern BT1 bis BTn, die wiederum in verschiedene Dateneinheiten
DE20 bis DEm unterteilt sind. Identisch zu den in Fig. 1 dargestellten Wörtern BY1 und BY2 sind
auch die beiden ersten Wörter BT1 und BT2 aufgebaut. Während im ersten Wort BT1 die eigentliche
Datensatzidentifikation enthalten ist, beinhaltet das Wort BT2 die Länge des gesamten Datensatzes
CPSA. Beide Wörter BT1 und BT2 sind automatisch durch die in eckigen Klammern
nach dem Schlüsselwort CODESET angegebenen Information definiert. Dem Wort BT2 folgt das
wiederum in verschiedene Dateneinheiten DE23 bis DE25 eingeteilte Wort BT3, dem eine sich
aus der Gesamtlänge im Wort BT2 ergebende Anzahl von gleichen Wörtern vom Typ BT4 folgt.
Während die Worte BT1 bis BT3 bei diesem Datensatz CPSA immer vorhanden sind und mit
herkömmlichen Datentypen versehen werden können, ist für die Beschreibung des restlichen
Teils dieses Datensatzes CPSA der Datentyp SEQUENCE geeignet. Bei diesem wird eine sich
wiederholende Datenstruktur einmal angegeben und mit der maximalen Anzahl an Wiederholungen
versehen. So ist im vorliegenden Beispiel die maximale Anzahl des sich wiederholenden
Datentyps cgps_subaddress_info auf zwanzig beschränkt, d. h., daß der Datensatz CPSA bis zu
23 Worten lang sein kann. Eine mögliche Definition des Datensatzes CPSA ist im folgenden
Programmausschnitt wiederum in der Programmiersprache SDL angegeben:
Wie beim Datentyp CHOICE können auch innerhalb des Datentyps SEQUENCE wiederum beliebige
Datentypen definiert werden.
Die Fig. 3, 4 und 5 zeigen die zur Darstellung von Syntaxregeln einer Programmiersprache
häufig verwendeten Syntaxdiagramme für die beiden in der Programmiersprache SDL neu eingeführten
Datentypen CHOICE und SEQUENCE sowie für die in diesen Datentypen verwendete
syntaktische Einheit "field list". Mit Hilfe von Syntaxdiagrammen können die Syntaxregeln einer
Programmiersprache abschließend und in kompakter Art und Weise beschrieben werden.
Insbesondere können sämtliche zusammengesetzten Typenkonstruktionen einfach dargestellt
werden. So wurde auch die Programmiersprache SDL in dem vom CCITT verfaßten "Blue Book"
Volume X mit Hilfe von Syntaxdiagrammen beschrieben. Auf dieser Beschreibung basieren auch
die in den Fig. 3 bis 5 angegebenen Syntaxdiagramme für die Datentypen CHOICE und SEQUENCE.
Dabei fassen die durch einen rechteckigen Kasten dargestellten syntaktischen Einheiten
weitere oft wiederkehrende syntaktische Einheiten in einer zusammen. Nur diejenigen können
nicht weiter unterteilt werden, die durch einen mit runden Elementen ausgestatteten Kasten
oder durch einen Kreis dargestellt sind.
Weiterführende Angaben zur Interpretation von mit Syntaxdiagrammen dargestellte Syntaxregeln
von Programmiersprachen sind ebenfalls im "Blue Book" Volume X vom CCITT enthalten.
Fig. 3 zeigt das Syntaxdiagramm des Datentyps CHOICE. Als zusätzliche im Beispiel von Fig. 1
nicht verwendete Möglichkeit dieses Datentyps CHOICE kann eine mit dem Schlüsselwort ELSE
eingeleitete Variante zur Zusammenfassung aller der in der syntaktischen Einheit "field identifier"
enthaltenen Fälle verwendet werden, die nicht zu einem der in der syntaktischen Einheit "answer"
aufgeführten Fälle gehören, indem diese durch die dem Schlüsselwort ELSE folgende syntaktische
Einheit "field list" definiert wird. Speziell zu erwähnen bleibt auch, daß innerhalb des Datentyps
CHOICE beliebig andere Datentypen, inklusive ein weiterer Datentyp CHOICE, verwendet
werden kann. Diese Möglichkeit wird deutlich, wenn man die syntaktische Einheit "field list" durch
das in Fig. 5b dargestellte Syntaxdiagramm ersetzt.
Fig. 4 zeigt das Syntaxdiagramm des Datentyps SEQUENCE. Auch in diesem ist die Möglichkeit
verschachtelte Datentypendefinitionen zu verwenden ersichtlich, indem wiederum anstelle der
syntaktischen Einheit "field list" das Syntaxdiagramm von Fig. 5b eingesetzt wird.
Fig. 6 zeigt ein Testsystem zum Testen von Funktionsabläufen einer in Fernmeldeanlagen verwendeten
Systemeinheit SE. Das Testsystem besteht im wesentlichen aus einer Arbeitsstation AS
und einer Erweiterungseinheit EAS. Die Arbeitsstation AS verfügt über eine Eingabeeinheit ED,
eine Speichereinheit DB und ein Übersetzungsprogramm IP, das die über die Eingabeeinheit ED
eingegebenen und in der Speichereinheit DB gespeicherten Programme übersetzt. Die Erweiterungseinheit
EAS, welche beispielsweise aus zwei Schnittstelleneinheiten SS1 und SS2 besteht,
übernimmt die übersetzten Programme von der Arbeitsstation AS und steuert eine zwischen der
Systemeinheit SE und der Schnittstelleneinheit SS1 bzw. SS2 vorhandene Verbindung gemäß
den Ausführungsbefehlen des Programms. Werden verschiedene Systemeinheiten SE getestet,
so müssen, dank der modularen Aufbauweise des Testsystems, lediglich die Erweiterungseinheit
EAS an die neue Systemeinheit SE angepaßt werden. Die Erstellung von Prüfprogrammen kann
unter Anwendung der in den Fig. 3 bis 5 beschriebenen Datentypendefinitionen erheblich vereinfacht
erfolgen. Gerade bei den in der Fernmeldetechnik komplexen Datensatzstrukturen (Fig. 1
und 2) von Meldungen, die in ebenso komplexen Systemeinheiten ablaufen, ist eine einfache und
klare Representation von Daten von enormer Bedeutung. Denn bei einfacher Darstellung lassen
sich Fehler eher vermeiden oder zumindest schneller finden und korrigieren.
Als Arbeitsstation AS kann ein herkömmliches Rechnersystem, wie beispielsweise ein PC
(Personal Computer), eingesetzt werden.
Die in der Erweiterungseinheit EAS vorhandenen Schnittstelleneinheiten SS1 und SS2 simulieren
im Testsystem beispielsweise Datenübertragungssysteme einer Fernmeldeanlage. Die direkt
beteiligten Systeme, d. h. die Schnittstelleneinheiten SS1, SS2 und die Systemeinheit SE, können
dabei sowohl Sender- als auch Empfängerfunktionen ausüben. Es ist jedoch nicht zwingend,
daß alle beteiligten Systeme die Datensätze nach dem erfindungsgemäßen Verfahren verarbeiten.
Vielmehr ist es auch möglich, daß ein Systemteil, beispielsweise nur der Sende- oder nur der
Empfangsteil, die Datensätze mit einem anderen Verfahren als dem erfindungsgemäßen verarbeitet.
Grundsätzlich ist also die Datenverarbeitung des Empfängers vom Sender und umgekehrt unabhängig,
was eine Kombination von nach einem beliebigen Verfahren arbeitenden Übertragungssystem
mit dem nach dem erfindungsgemäßen Verfahren arbeitenden Übertragungssystem
ermöglicht.
Claims (6)
1. Verfahren zur Verarbeitung von zwischen mindestens zwei Datenübertragungssystemen zu
übertragenden Datensätzen (BC, CPSA), die in beliebige Dateneinheiten (DE0, . . ., DE15; DE20,
. . ., DEm) unterteilt sind, dadurch gekennzeichnet, daß in mindestens einem der beteiligten
Datenübertragungssysteme zmindest ein Teil der durch die Unterteilung der Datensätze ((BC,
CPSA) in die Dateneinheiten (DE0, . . ., DE15; DE20, . . ., DEm) vorgegebenen Datenstrukturen mit
Hilfe von Datentypen einer höheren Programmiersprache oder mit Hilfe von in dieser
Programmiersprache definierten Datentypen deklariert wird und daß diese festgelegte Datenstruktur
der Datensätze (BC, CPSA) nach dem Übersetzen der deklarierten Datenstrukturen in
eine für die Datenübertragungssysteme vereinbarte Signalisierung und vor der Übertragung zwischen
den Datenübertragungssystemen festgelegt wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die mit Hilfe von in der Programmiersprache
definierten Datentypen durch Angabe aller möglichen Werte, die eine mit diesen
Datentypen deklarierte Dateneinheit (DE0, . . ., DE15; DE20, . . ., DEm) annehen kann, definiert
werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß in einer Dateneinheit
(DE22) ein Wert gespeichert wird, der die Anzahl Wiederholungen eines folgenden Datentyps
angibt.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß ein Datentyp eine Auswahl
aus mehreren für den gleichen Bereich des Datensatzes (BC, CPSA) bestimmten Datentypen trifft
und daß die Auswahl der Datentypen aufgrund eines in einer Dateneinheit (DE12, . . ., DE14)
angegebenen Wertes erfolgt.
5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die
Datentypen beliebig ineinander verschachtelt werden.
6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß als
Programmiersprache SDL-(Specification and Description Language) verwendet wird.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CH3557/91A CH683474A5 (de) | 1991-12-04 | 1991-12-04 | Verfahren zur Verarbeitung von über Datenübertragungssysteme zu übertragenden Datensätzen sowie eine Anwendung. |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4217064A1 DE4217064A1 (de) | 1993-06-09 |
DE4217064C2 true DE4217064C2 (de) | 1995-04-13 |
Family
ID=4258558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4217064A Expired - Fee Related DE4217064C2 (de) | 1991-12-04 | 1992-05-22 | Verfahren zur Verarbeitung von über Datenübertragungssysteme zu übertragenden Datensätzen sowie eine Anwendung |
Country Status (2)
Country | Link |
---|---|
CH (1) | CH683474A5 (de) |
DE (1) | DE4217064C2 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19534207A1 (de) * | 1995-09-15 | 1997-03-20 | Sel Alcatel Ag | Verfahren zur Kodierung oder Dekodierung von Protokolldateneinheiten (PDU) |
-
1991
- 1991-12-04 CH CH3557/91A patent/CH683474A5/de not_active IP Right Cessation
-
1992
- 1992-05-22 DE DE4217064A patent/DE4217064C2/de not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CH683474A5 (de) | 1994-03-15 |
DE4217064A1 (de) | 1993-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69821243T2 (de) | Rekonfigurierung eines zellularen telefonnetzes | |
DE2646163B2 (de) | Schaltungsanordnung zum Ersetzen fehlerhafter Informationen in Speicherplätzen eines nicht veränderbaren Speichers | |
DE3300699A1 (de) | Verfahren und schaltungsanordnung zur adressierung der speicher mehrerer datenverarbeitender einrichtungen in einem mehrfachleitungssystem | |
DE2624082A1 (de) | Verfahren und anordnung zum durchschalten von dienstinformationen | |
DE1487646C2 (de) | Verfahren und Anordnung zum Bestimmen freier Verbindungswege in zentralgesteuerten Fernmelde-, insbesondere Fernsprechvermittlungsanlagen | |
DE2918086A1 (de) | Verfahren zur herstellung von konferenzverbindungen zwischen jeweils drei konferenzteilnehmern in einem pcm-zeitmultiplexvermittlungssystem | |
EP1005216B1 (de) | Verfahren und Vorrichtung zur Validierung von Konfigurationsdaten für Telekommunikationssysteme | |
DE60301854T2 (de) | Nachrichtentransfer-teilepunktcodeabbildungsverfahren | |
EP0581087A1 (de) | Verfahren zum Darstellen teilnehmerindividueller Daten beim Übertragen von Signalisierungssignalen und Nachrichtensignalen zwischen Schmalbandnetzen und ATM- Netzen | |
DE69831308T2 (de) | Verfahren zur übersetzung eines atm-zellenkopfs | |
DE4217064C2 (de) | Verfahren zur Verarbeitung von über Datenübertragungssysteme zu übertragenden Datensätzen sowie eine Anwendung | |
DE4129412A1 (de) | Verfahren zur datenuebertragung und datenverarbeitungsanlage mit verteilten rechnerknoten | |
DE2233164C3 (de) | Schaltungsanordnung zur Übertragung von aufeinanderfolgenden Bitstellen zwischen zwei Registern | |
DE3620407C2 (de) | ||
DE69433155T2 (de) | Programmierbare Matrize zum Prüfen von Fehlern in einem digitalen Kommunikationssystem | |
DE1774849C3 (de) | Adressierungseinrichtung für eine Speicherabschnittkette | |
DE3626870C2 (de) | ||
DE1487637B2 (de) | Verfahren und anordnung zur wegesuche in mit schalt matrizen aufgebauten koppelfeldern | |
DE69433334T2 (de) | Kommunikationsdatenprozessor | |
CH624811A5 (de) | ||
DE1774041B2 (de) | Datenverarbeitungsanlage mit einer einrichtung zur transparenten uebersetzung von daten | |
DE19618821B4 (de) | Verfahren zur multifunktionalen Adressierung der Prozeßdaten von Teilnehmern serieller Bussysteme | |
EP0656736B1 (de) | Verfahren und Vorrichtung zur Bestimmung der Zuordnung der Gerätenummer eines Mobilfunkendgerätes zu Gerätelisten | |
WO2000054520A1 (de) | Verfahren und netzelement zum betreiben eines telekommunikationsnetzes | |
DE69819129T2 (de) | Flusssteuerungsverfahren unter Verwendung eines Ausserband-Flusssteurungkanals |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |