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 Anwendung

Info

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
Application number
DE4217064A
Other languages
English (en)
Other versions
DE4217064A1 (de
Inventor
Roger Dr Schoenberger
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Schweiz AG
Original Assignee
Siemens Albis AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Albis AG filed Critical Siemens Albis AG
Publication of DE4217064A1 publication Critical patent/DE4217064A1/de
Application granted granted Critical
Publication of DE4217064C2 publication Critical patent/DE4217064C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network 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.
DE4217064A 1991-12-04 1992-05-22 Verfahren zur Verarbeitung von über Datenübertragungssysteme zu übertragenden Datensätzen sowie eine Anwendung Expired - Fee Related DE4217064C2 (de)

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)

* Cited by examiner, † Cited by third party
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)

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