WO2006050550A1 - Method for exchanging data - Google Patents

Method for exchanging data Download PDF

Info

Publication number
WO2006050550A1
WO2006050550A1 PCT/AT2005/000457 AT2005000457W WO2006050550A1 WO 2006050550 A1 WO2006050550 A1 WO 2006050550A1 AT 2005000457 W AT2005000457 W AT 2005000457W WO 2006050550 A1 WO2006050550 A1 WO 2006050550A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
computer system
compb
information
platform
Prior art date
Application number
PCT/AT2005/000457
Other languages
German (de)
French (fr)
Inventor
Raimund Kirner
Peter Puschner
Original Assignee
Technische Universität Wien
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 Technische Universität Wien filed Critical Technische Universität Wien
Publication of WO2006050550A1 publication Critical patent/WO2006050550A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications

Definitions

  • the invention relates to a method for exchanging data between a first computer system and a second computer system, wherein the data is displayed on the first computer system in a first platform-specific data representation and on the second computer system in a second platform-specific data representation, and the conversion of the data between the first and second data representation is performed in both directions on the first computer system, wherein platform-specific data representation designating the binary representation of numerical data caused by the processor and compiler used.
  • platform-specific data representation designating the binary representation of numerical data caused by the processor and compiler used.
  • the two computer systems - computer system being, for example, a processor on which data is processed - can consist of completely different hardware and software structures.
  • the second computer system which is also referred to below as “target computer system” or “target”
  • the present invention the resource consumption, which for the conversion of the data into another Platformspezifische data representation is necessary is minimized.
  • the first computer system will hereinafter also be referred to as “host computer system” or "host”.
  • platform-specific data representation introduced above is intended to be explained in more detail below: In this document, this term is understood to mean the binary representation of numerical data which is caused by the computer platform used (processor and / or compiler) Parameters for this binary representation of numeric data include:
  • Total size of data field for storing data value (e.g., number of bits)
  • Geometric arrangement of the individual data bits within the data field e.g., endianity (litüe versus big endian), placement of elements of composite data within the data field, etc.
  • a computer system converts the data into the platform-specific format of the target system before it is sent or after it has been received in. its own platform-specific format. In this method, the second computer system is completely relieved of the expense of data conversion. However, this presupposes that knowledge about the internal platform-specific data format of the other computer system is known in the computer system performing the conversion.
  • a data exchange method according to method 2.b is particularly suitable for target computer systems, in which the resource consumption, which is necessary for the conversion of the data, is minimized.
  • a disadvantage of the previously known methods according to Method 2.b is that the support of the platform-specific data representation of a specific target platform a prio ⁇ must be built into the host, i. that the host must already have the necessary platform-specific information to exchange data with a specific target. The support of a new target therefore requires an explicit a priori adaptation of execution logic (e.g., software) on the host.
  • the invention relates to a resource-saving method for exchanging data between a host computer equipped with a relatively large number of available resources and a relatively scarce resource-equipped embedded system (target).
  • the embedded system uses little computing time and storage space for data transmission of the exchanged data.
  • the conversion of the data is performed on the host computer, whereby the required platform-specific information about the target is automatically calculated on the target and transmitted to the host computer.
  • the host requires a priori information about the platform-specific data format of the target, since the target itself calculates the required information and transmits it to the host.
  • the host thus takes care of the conversion of the data into the respective platform-specific data formats.
  • the target only has to determine certain characteristics of its own platform once before the first exchange of user data and send it to the host. These characteristics include, for example, endianity (endian or big endian, i.e., the order of bytes within a data word). Knowledge of the endianity is required to interpret more information.
  • An important aspect of such a data exchange method is portability to new platforms both on the host side and on the target side.
  • the method of this invention takes this into account by implementing the method for data conversion on host and target in platform-independent form. Neither the execution logic of the host nor the execution logic of the target need to be changed if the respective other system has been migrated to a new platform.
  • the method of this invention takes this into account by not requiring any special development tools for the realization.
  • the method can be realized in a platform-independent form.
  • the process can be implemented with standard system development tools.
  • the method for calculating the information on the second computer system is realized in a platform-independent form.
  • the required execution logic on the side of the target can thus be realized independently of the platform, whereby the host computer can communicate with different targets without changing its execution logic.
  • no specially adapted development tools are necessary to realize communication based on the method.
  • the platform-specific information which is calculated by the second Comptttersystem, an endian flag for describing the byte order, in which data are stored on the second computer system contains. This displays the storage strategies Little Endian and Big Endian.
  • the value of this endian flag is the first data value within the information, since it determines how the further values of the information regarding byte order are to be interpreted.
  • information about the length or value ranges of the basic data types may be contained by the second computer system.
  • the first computer system and the second computer system are connected via an electronic data channel and automatically before the first transmission of the data, the information is transmitted from the second computer system to the first computer system.
  • connection between the flat data structure of the data and the complex data structures is carried out by the second computer system via its own translation table, it is achieved that the size of the execution logic necessary for this connection is independent of type and number of data elements in the data.
  • the memory structure provides the required indirect data accesses if data types are not passed directly as value parameters to the subroutine to be tested, allowing the data exchange method of the test environment to be used without modification on different platforms.
  • FIG. 2 shows schematically the memory concept at the target for conversion between communicated data and internal data
  • FIG. 3 schematically shows the extension of the storage concept at the target in order to be able to use this data exchange method for a decentralized test environment.
  • Fig. 1 illustrates the data flow and information flow between host (CompA) and target (CompB).
  • DatAB data (DatAB) can be exchanged between host (CompA) and target (CompB)
  • the target (CompB) once transferred to the host (CompA) information (InfB) about platform properties of the target (CompB) ⁇ must. These platform properties are automatically determined on the target (CompB) by means of short calculation steps.
  • the host (CompA) has sufficient data available to know in which form the target (CompB) processes the data (DatAB).
  • the data (DatAB) can be transmitted in both directions between host and target.
  • Claim 3 describes the information content of the information (InfB). 2 shows the memory concept on the target (CompB), by means of which objects of combined data types (DatB) are transmitted as a sequence of objects of basic data types (DatAB).
  • Basic data types are data types which consist of only one numerical value. Claim 4 describes this splitting of the objects of complex data types (DatB) into their elements of basic data types (DatAB). Depending on the software development environment used, different ranges of values as well as different number representations such as integer values or decimal values are available.
  • Compound data types can consist of basic data types as well as of hierarchically composed data types. Typical forms of this composition, such as are supported in programming languages, are arrays (indexable sequence of similar data types), structures (association of any data types).
  • the objects of basic data types (DatAB) are therefore called a flat data structure, while the composite data types of data types (DatB) are referred to as a complex data structure.
  • This composition of data types can be mapped concretely to memory cells, objects of combined data types are transmitted as a sequence of objects of the basic data types.
  • the assignment of elements of the composite data types to the transmitted basic data types is possible via a table (TabB).
  • This table (TabB) contains an entry for each object of a basic data type of (DatB), this entry containing a reference to the memory location where this object is expected to be executed in the target (CompB).
  • this memory location can also be located within an object of a composite data type (DatB).
  • Fig. 3 in which an extension of the memory interface of the data exchange method for realizing a decentralized test environment is described.
  • the aim of this decentralized test environment is to run a (sub) program on the target computer system (CompB), the corresponding test data being provided by the host (Comp A) and transmitting the test result back to the host (Comp A) becomes. It may happen that the subroutine to be tested can not be called directly with the values of the test data, which is the case, for example, if the subroutine to be tested accesses the test data indirectly via other data structures In the case, these additional data structures must be set up and initialized before the test.
  • This extension for the realization of a decentralized test environment is described in claims 13 and 14.
  • test data consists of the two data sets svl and sv2 of the type Sn_t.
  • first element of the array snl should point to the test value svl and the second element should be initialized as a zero pointer.
  • the second input parameter is to be initialized directly with the test value sv2.
  • typedef struct ⁇ void * ref; int size; ⁇ data_list_t;
  • a receiving unit In the target (CompB), a receiving unit is implemented which interprets the objects of basic data types coming from the host (CompA) as a byte stream and distributes them to the corresponding memory cells which are specified in the table (TabB).
  • the memory layout of objects of composite datatypes on Host (CompA) and Target CompB is structured differently, in a resource-saving way, by subtracting on the target (CompB) the data (DatB) with the translation table (TabB) on the objects of basic datatypes in ( DatAB).
  • This example demonstrates how to realize data communication from host (CompA) to target (CompB) for a remote test environment.
  • the described data structures (table (TabB) and memory area (MGlue)) have been specified specifi cally for the (sub) program to be tested.
  • the implementation of data structures for a data exchange from Target (CompB) to Host (Comp A) follows the same pattern.
  • the platform properties described in the platform-specific information (InfB) contain in the first place the endianity (litfcte endian or big endian, i.e. the arrangement of the bytes within a data word). Knowledge of the endianity is required to interpret more information. Further additional information which may be contained in the information (InfB) are, for example, the value ranges of the basic data types.
  • the endianity could be calculated using the following platform-independent code in ANSI C:
  • FBsdata data types have internal partitioning into sign bit, exponent field, and mantissa field.
  • a compiler for ANSI C BO / IEC 9899 would already float the data for this partitioning as constants in the file. have predefined h. In the case of older compilers, however, this partitioning data can also be calculated automatically.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention relates to a method for exchanging data (DatAB) between a first computer system (CompA) and a second computer system (CompB), said data (DatAB) being represented on the first computer system (CompA) in a first platform-specific data representation and on the second computer system (CompB) in a second platform-specific data representation. The term 'platform-specific data representation' refers to the binary representation of numerical data which is conditional on the used platform (processor and compiler). The conversion of data (DatAB) between the first and second data representation is carried out in both directions on the first computer system (CompA), whereby the information (InfB) on the second computer system (CompB) required by the first computer system (CompA) is completely calculated on the second computer system (CompB), said information (InfB) being required for conversion of the data (DatAB) in both directions of data exchange.

Description

VERFAHREN ZUM AUSTAUSCH VON DATEN PROCEDURE FOR THE EXCHANGE OF DATA
Die Erfindung betrifft ein Verfahren zum Austausch von Daten zwischen einem ersten Computersystem und einem zweiten Computersystem, wobei die Daten auf dem ersten Computersystem in einer ersten plattformspezifischen Datenrepräsentation und auf dem zweiten Computersystem in einer zweiten plattformspezifischen Datenrepräsentation dargestellt werden, und die Konvertierung der Daten zwischen der ersten und zweiten Datenrepräsentation in beiden Richtungen auf dem ersten Computersystem durchgeführt wird, wobei plattformspezifische Datenrepräsentation die die binäre Repräsentation von numerischen Daten bezeichnet, die durch verwendeten Prozessor und Compiler bedingt ist. Diese konkrete Definition von plattformspezifischer Datenrepräsentation ist wesentlich für die Problemstellung und der Lösung durch die vorliegende Erfindung. Im Folgenden be¬ zeichnen heterogene Computersysteme jene Computersysteme, welche eine unterschiedliche plattformspezifischer Datenrepräsentation aufweisen.The invention relates to a method for exchanging data between a first computer system and a second computer system, wherein the data is displayed on the first computer system in a first platform-specific data representation and on the second computer system in a second platform-specific data representation, and the conversion of the data between the first and second data representation is performed in both directions on the first computer system, wherein platform-specific data representation designating the binary representation of numerical data caused by the processor and compiler used. This concrete definition of platform-specific data representation is essential for the problem and the solution by the present invention. Hereinafter, heterogeneous computer systems refer to those computer systems which have a different platform-specific data representation.
Die beiden Computersysteme - unter Computersystem ist dabei beispielsweise ein Prozessor auf dem Daten verarbeitet werden zu verstehen - können dabei aus völlig unterschiedlichen Hardware- und Softwarestrukturen bestehen. Insbesondere eignet sich die vorliegende Erfindung, wie weiter unten noch erläutert, wenn auf dem zweiten Computersystem, wel¬ ches im folgenden auch als „Target-Computersystem" oder „Target" bezeichnet wird, der Ressourcenverbrauch, welcher für die Umwandlung der Daten in eine andere plattformspe¬ zifische Datenrepräsentation nötig ist, minimiert ist. Das erste Computersystem wird im folgenden auch als „Host-Computersystem" oder „Host" bezeichnet.The two computer systems - computer system being, for example, a processor on which data is processed - can consist of completely different hardware and software structures. In particular, as explained below, if the second computer system, which is also referred to below as "target computer system" or "target", the present invention, the resource consumption, which for the conversion of the data into another Platformspezifische data representation is necessary is minimized. The first computer system will hereinafter also be referred to as "host computer system" or "host".
Im Folgenden soll der oben eingeführte Begriff der „plattformspezifischen Datenrepräsenta¬ tion" näher erläutert werden. In diesem Dokument wird unter diesem Begriff die binäre Repräsentation von numerischen Daten, welche durch die verwendete Computerplattform (Prozessor und/ oder Compiler) bedingt ist, verstanden. Relevante Parameter für diese binäre Repräsentation von numerischen Daten sind beispielsweise:The term "platform-specific data representation" introduced above is intended to be explained in more detail below: In this document, this term is understood to mean the binary representation of numerical data which is caused by the computer platform used (processor and / or compiler) Parameters for this binary representation of numeric data include:
• Gesamtgröße des Datenfeldes zur Speicherung von Datenwertes (z.B. Anzahl der Bits)Total size of data field for storing data value (e.g., number of bits)
• Adressausrichtung des Datenfeldes (d.h., von welcher Größe die konkrete Adresse des Datenfeldes immer ein Vielfaches sein muss) • Binäre Kodierung von Zahlen (z.B., Einer- bzw. Zweierkomplement für ganzzahlige Werte, oder IEEE-Format für Fließkommazahlen, etc.)• Address alignment of the data field (ie, of which size the specific address of the data field always has to be a multiple) • Binary coding of numbers (eg, one or two's complement for integer values, or IEEE format for floating point numbers, etc.)
• Geometrische Anordnung der einzelnen Datenbits innerhalb des Datenfeldes (z.B., Endianität (litüe versus big endian), Platzierung von Elementen zusammengesetzter Daten innerhalb des Datenfeldes, etc.)Geometric arrangement of the individual data bits within the data field (e.g., endianity (litüe versus big endian), placement of elements of composite data within the data field, etc.)
Das Problem der Konvertierung von Daten zum Austausch von Informationen zwischen heterogenen Computersystemen ist schon relativ lange bekannt, da sich die plattformspezifi¬ schen Datenformate von verschiedenen Computersystemen und den darauf laufenden Programmen typischerweise in gewissen Details zu einander unterscheiden. Prinzipiell gibt es zwei Arten, mit dem Problem der unterschiedlichen Datenformate umzugehen:The problem of converting data for exchanging information between heterogeneous computer systems has been known for a relatively long time, since the platform-specific data formats of different computer systems and the programs running thereon typically differ from one another in certain details. In principle, there are two ways to deal with the problem of different data formats:
1. Austausch der Daten über ein einheitliches Zwischenformat: Jedes Computersystem muss dann die Daten zwischen dem internen plattformspezifischen Format und dem einheitlichen Zwischenformat konvertieren. Der Vorteil dieser Methode ist, dass Computersysteme Daten austauschen können ohne gegenseitiges Wissen über die jeweils verwendeten plattformspezifischen Datenformate zu besitzen. Der Nachteil dieser Methode ist mangelnde Effizienz, da gewisse Aspekte der Datenrepräsentation oft unnötig konvertiert werden müssen.1. Exchange of data using a uniform intermediate format: Each computer system must then convert the data between the internal platform-specific format and the uniform intermediate format. The advantage of this method is that computer systems can exchange data without having mutual knowledge of the platform-specific data formats used. The disadvantage of this method is its lack of efficiency, as certain aspects of data representation often need to be converted unnecessarily.
2. Austausch der Daten über ein plattformspezifisches Datenformat: Daten werden da¬ bei nur dann konvertiert, wenn es auf grund der plattformspezifischen Datenformate der beteiligten Computersysteme notwendig ist. Der Vorteil dieser Methode ist, dass die Datenkonvertierung effizienter als bei der ersten Methode realisierbar ist, da un¬ nötige Konvertierungen vermieden werden. Grundsätzlich sind zwei Varianten denkbar:2. Exchange of data via a platform-specific data format: Data are only converted if it is necessary because of the platform-specific data formats of the computer systems involved. The advantage of this method is that the data conversion can be realized more efficiently than in the first method, since unnecessary conversions are avoided. Basically, two variants are conceivable:
a. Symmetrisch: Jedes System konvertiert die Daten im Bedarfsfalle nur beim Empfangen (bzw. nur beim Senden). Damit übernehmen beide Computersys¬ teme einen Teil der notwendigen Datenkonvertierung. Diese Methode kann beispielsweise realisiert werden, indem zu Beginn der übertragenen Daten ei¬ ne Formatbeschreibung der plattformspezifischen Datenrepräsentation hin¬ zugefügt wird. Nachteilig an dieser Variante ist dabei, dass beide Cσmputer- systeme mit der Datenkonvertierung beschäftigt sind.a. Symmetric: Each system converts the data if necessary only when receiving (or only when sending). Thus, both computer systems take over part of the necessary data conversion. This method can be realized, for example, by adding a format description of the platform-specific data representation at the beginning of the transmitted data. A disadvantage of this variant is that both computer systems are busy with the data conversion.
b. Asymmetrisch: Ein Computersystem wandelt die Daten vor dem Senden in das plattformspezifische Format des Zielsystems bzw. nach dem Empfangen in. das eigene plattformspezifische Format um. Bei dieser Methode ist das zweite Computersystem völlig vom Aufwand der Datenkonvertierung entlas¬ tet. Dies setzt allerdings voraus, dass bei dem die Konvertierung durchfüh¬ renden Computersystem Wissen über das interne plattformspezifische Daten¬ format des anderen Computersystems bekannt ist.b. Asymmetric: A computer system converts the data into the platform-specific format of the target system before it is sent or after it has been received in. its own platform-specific format. In this method, the second computer system is completely relieved of the expense of data conversion. However, this presupposes that knowledge about the internal platform-specific data format of the other computer system is known in the computer system performing the conversion.
Ein Datenaustauschverfahren nach Methode 2.b eignet sich besonders für Target- Computersysteme, bei denen der Ressourcenverbrauch, welcher für die Umwandlung der Daten nötig ist, minimiert ist. Nachteilig an den bisher bekannten Verfahren nach Methode 2.b ist allerdings, dass die Unterstützung der plattformspezifischen Datenrepräsentation einer konkreten Target-Plattform a prioή in den Host eingebaut sein muss, d.h. dass der Host über die notwendigen plattformspezifischen Informationen für den Datenaustausch mit einem bestimmten Target bereits verfügen muss. Die Unterstützung eines neuen Targets erfordert daher eine explizite a priori Anpassung Ausführungslogik (z.B. Software) auf dem Host.A data exchange method according to method 2.b is particularly suitable for target computer systems, in which the resource consumption, which is necessary for the conversion of the data, is minimized. A disadvantage of the previously known methods according to Method 2.b, however, is that the support of the platform-specific data representation of a specific target platform a prioή must be built into the host, i. that the host must already have the necessary platform-specific information to exchange data with a specific target. The support of a new target therefore requires an explicit a priori adaptation of execution logic (e.g., software) on the host.
Es ist eine Aufgabe der Erfindung, ein Datenaustauschverfahren nach Methode 2.b dahin¬ gehend zu verbessern, dass auch für neue Targets eine solche Anpassung der Ausführungs¬ logik (z.B. Software) auf dem Host-Computersystem nicht notwendig ist.It is an object of the invention to improve a data exchange method according to method 2.b, so that even for new targets such an adaptation of the execution logic (for example software) on the host computer system is not necessary.
Diese Aufgabe wird mit einem eingangs erwähnten Verfahren dadurch gelöst, dass erfin¬ dungsgemäß die auf dem ersten Computersystem benötigte plattformspezifische Informati¬ on über das zweite Computersystem, welche Information zur Umwandlung der Daten für beide Richtungen des Datenaustausches notwendig ist, vollständig auf dem zweiten Compu¬ tersystem berechnet wird.This object is achieved by a method mentioned in the introduction in that, according to the invention, the platform-specific information about the second computer system required on the first computer system, which information is necessary for the conversion of the data for both directions of the data exchange, completely on the second computer system is calculated.
Die oben genannte Aufgabe wird weiters noch mit einem entsprechenden platfform- unabhängigen Verfahren mit einem entsprechenden Target-Computersystem sowie mit einer Testumgebung wie in den Ansprüchen dargelegt gelöst.The above object is further achieved with a corresponding non-contemplated method with a corresponding target computer system and with a test environment as set out in the claims.
Die Erfindung betrifft ein ressourcensparendes Verfahren zum Datenaustausch zwischen einem, mit relativ vielen verfügbaren Ressourcen ausgestatteten Hostcomputer und einem mit relativ knappen Ressourcen ausgestatteten Eingebetteten System (Target). Das eingebet¬ tete System verwendet zur Datenübertragung der ausgetauschten Daten wenig Rechenzeit und Speicherplatz. Die Konvertierung der Daten wird auf dem Hostcomputer durchgeführt, wobei die hierzu benötigten plattformspezifischen Informationen über das Target automatisch auf dem Target berechnet und an den Hostcomputer übertragen werden.The invention relates to a resource-saving method for exchanging data between a host computer equipped with a relatively large number of available resources and a relatively scarce resource-equipped embedded system (target). The embedded system uses little computing time and storage space for data transmission of the exchanged data. The conversion of the data is performed on the host computer, whereby the required platform-specific information about the target is automatically calculated on the target and transmitted to the host computer.
Zugleich wird beim Host a priori kerne Information über das plattformspezifische Daten¬ format des Targets benötigt, da das Target die benötigte Information selbst berechnet und an den Host überträgt.At the same time, the host requires a priori information about the platform-specific data format of the target, since the target itself calculates the required information and transmits it to the host.
Der Host kümmert sich somit um die Konvertierung der Daten in die jeweiligen plattform¬ spezifischen Datenformate. Das Target muss dabei lediglich einmal vor dem ersten Aus¬ tausch von Nutzdaten gewisse Kenngrößen der eigenen Plattform bestimmen und an den Host schicken. Diese Kenngrößen enthalten beispielsweise die Endianität (litüe endian oder big endian, d.h. die Anordnung der Bytes innerhalb eines Datenwortes). Das Wissen über die Endianität ist erforderlich, um weitere Informationen interpretieren zu können.The host thus takes care of the conversion of the data into the respective platform-specific data formats. The target only has to determine certain characteristics of its own platform once before the first exchange of user data and send it to the host. These characteristics include, for example, endianity (endian or big endian, i.e., the order of bytes within a data word). Knowledge of the endianity is required to interpret more information.
Ein wichtiger Aspekt bei einem solchen Datenaustauschverfahren ist die Portierbarkeit auf neue Plattformen sowohl auf Seite des Hosts wie auch auf Seite des Targets. Das Verfahren dieser Erfindung trägt dem Rechnung, indem das Verfahren zur Datenkonvertierung auf Host und Target in plattform-unabhängiger Form realisierbar ist. Weder die Ausführungslo¬ gik des Hosts noch die Ausführungslogik des Targets brauchen geändert werden, wenn das jeweils andere System auf eine neue Plattform migriert wurde.An important aspect of such a data exchange method is portability to new platforms both on the host side and on the target side. The method of this invention takes this into account by implementing the method for data conversion on host and target in platform-independent form. Neither the execution logic of the host nor the execution logic of the target need to be changed if the respective other system has been migrated to a new platform.
Um ein Datenaustauschverfahren einzusetzen ist es auch wichtig, dass es mit den Entwick¬ lungswerkzeugen, welche für eine konkrete Computerplattform zur Verfügung stehen, kompatibel ist. Das Verfahren dieser Erfindung trägt dem Rechnung, indem es für die Realisierung keinerlei spezielle Entwicklungswerkzeuge benötigt. Das Verfahren ist in plattform-unabhängiger Form realisierbar.In order to use a data exchange method, it is also important that it is compatible with the development tools that are available for a specific computer platform. The method of this invention takes this into account by not requiring any special development tools for the realization. The method can be realized in a platform-independent form.
Das Verfahren lässt sich mit Standard-Werkzeugen zur Systementwicklung realisieren. Vorzugsweise ist entsprechend Anspruch 2 das Verfahren zur Berechnung der Information auf dem zweiten Computersystem in plattform-unabhängiger Form realisiert. Der benötigte Ausführungslogik auf Seite des Targets lässt sich somit plattform-unabhängig realisieren, wobei der Hostcomputer ohne Änderung seiner Ausführungslogik mit unterschiedlichen Targets kommunizieren kann. Es sind somit keine speziell angepassten Entwicklungswerk¬ zeuge notwendig, um eine Kommunikation basierend auf dem Verfahren zu realisieren. Entsprechend Anspruch 3 ist vorgesehen, dass die plattformspezifische Information, welche von dem zweiten Comptttersystem berechnet wird, ein Endian-Flag zur Beschreibung der Byte-Reihenfolge, in welcher Daten auf dem zweiten Computersystein abgelegt werden, enthält. Damit werden die Speicherstrategien Little Endian bzw. Big Endian dargestellt. Der Wert dieses Endian-Flags ist der erste Datenwert innerhalb der Information, da dieser bestimmt, wie die weiteren Werte der Information bezüglich Byte-Reihenfolge zu interpre¬ tieren sind. Weiters können noch Informationen über die Länge oder Wertebereiche der Grunddatentypen von dem zweiten Computersystem enthalten sein.The process can be implemented with standard system development tools. Preferably, according to claim 2, the method for calculating the information on the second computer system is realized in a platform-independent form. The required execution logic on the side of the target can thus be realized independently of the platform, whereby the host computer can communicate with different targets without changing its execution logic. Thus, no specially adapted development tools are necessary to realize communication based on the method. According to claim 3 it is provided that the platform-specific information, which is calculated by the second Comptttersystem, an endian flag for describing the byte order, in which data are stored on the second computer system contains. This displays the storage strategies Little Endian and Big Endian. The value of this endian flag is the first data value within the information, since it determines how the further values of the information regarding byte order are to be interpreted. Furthermore, information about the length or value ranges of the basic data types may be contained by the second computer system.
Um das Problem der unterschiedlichen internen Adressausrichtung komplexer Datentypen auf Host und Target zu umgehen, ist entsprechend Anspruch 4 vorgesehen, dass in den Daten die Werte von Objekten komplexer Datentypen, wie beispielsweise Strukturen, in flacher Form, d.h. als Sequenz von in den Objekten komplexer Datentypen enthaltenen Elementen von Grunddatentypen, gespeichert werden.In order to avoid the problem of different internal address alignment of complex data types on host and target, it is provided according to claim 4 that in the data the values of objects of complex data types, such as structures, in a flat form, i. as a sequence of elements of basic data types contained in the objects of complex data types.
Gemäß Anspruch 5 ist weiters vorgesehen, dass das erste Computersystem und das zweite Computersystem über einen elektronischen Datenkanal verbunden sind und automatisch vor der ersten Übermittlung der Daten die Information von dem zweiten Computersystem auf das erste Computersystem übertragen wird.According to claim 5 it is further provided that the first computer system and the second computer system are connected via an electronic data channel and automatically before the first transmission of the data, the information is transmitted from the second computer system to the first computer system.
Mit den Merkmalen des Anspruchs 6, nämlich dass von dem zweiten Computersystem die Verbindung zwischen der flachen Datenstruktur der Daten und den komplexen Datenstruk¬ turen über eine eigene Übersetzungstabelle durchgeführt wird, wird erreicht, dass die Größe der für diese Verbindung notwendigen Ausführungslogik unabhängig ist von Typ und Anzahl der Datenelemente in den Daten.With the features of claim 6, namely that the connection between the flat data structure of the data and the complex data structures is carried out by the second computer system via its own translation table, it is achieved that the size of the execution logic necessary for this connection is independent of type and number of data elements in the data.
Weiters ist noch vorgesehen, dass die für die Verbindung zwischen den übertragenen Objek¬ ten von Grunddatentypen und den am Target verwendeten Objekten von komplexen Daten¬ typen sowie für die Berechnung der Information notwendigen Transformationsschritte vollständig als plattform-unabhängiges Verfahren spezifiziert sind.Furthermore, it is envisaged that the objects of complex data types used for the connection between the transmitted objects of basic data types and those used on the target and also the transformation steps necessary for the calculation of the information are completely specified as a platform-independent method.
Durch diese Merkmale ergibt es sich, dass das erfindungsgemäße Verfahren ohne Änderung weiterhin funktioniert, sollte ein bestimmtes Target-Computersystem durch ein anderes Target, welches unterschiedliche Hardware- und/ oder Softwarestrukturen aufweist, ersetzt werden. Das Verfahren kann also sehr leicht auf unterschiedliche Plattformen portiert werden. Insgesamt lässt sich feststellen, dass das Verfahren keine spezielle Unterstützung seitens der Entwicklungswerkzeuge benötigt, womit die PortahÜität des Verfahrens auch diesbezüglich erreicht wird. Die Umwandlung der Daten auf Seite des Host-Computersystems kann unter Zuhilfenahme der plattformspezifischen Information in plattform-unabhängiger Form realisiert werden und muss nur die Umwandlung aller Grunddatentypen zwischen den beiden Plattformen unterstützen.These features make it clear that the inventive method continues to function without modification should a particular target computer system be replaced by another target having different hardware and / or software structures. The method can therefore be easily ported to different platforms. All in all, it can be said that the process does not require any special support from the development tools, whereby the portability of the process is also achieved in this regard. The conversion of the data on the side of the host computer system can be realized with the aid of the platform-specific information in a platform-independent form and only has to support the conversion of all basic data types between the two platforms.
Neben dem oben beschriebenen Verfahren, einem Computersystem entsprechend den Ansprüchen 8 -12 wird die eingangs genannte Aufgabe auch noch mit einer Testumgebung gelöst entsprechend den Ansprüchen 13, 14.In addition to the method described above, a computer system according to claims 8-12, the object mentioned at the outset is also achieved with a test environment according to claims 13, 14.
Bei dieser Testumgebung stellt die Speicherstruktur die benötigten indirekten Datenzugriffe bereit, falls Datentypen nicht direkt als Wert-Parameter an das zu testende (Unterprogramm übergeben werden. Damit kann das Datenaustauschverfahren der Testumgebung ohne Änderung auf unterschiedlichen Plattformen verwendet werden.In this test environment, the memory structure provides the required indirect data accesses if data types are not passed directly as value parameters to the subroutine to be tested, allowing the data exchange method of the test environment to be used without modification on different platforms.
Im Folgenden ist die Erfindung an Hand der Zeichnung näher erläutert. In dieser zeigtIn the following the invention is explained in more detail with reference to the drawing. In this shows
Fig. 1 Informationsfluss zwischen Host und Target,1 information flow between host and target,
Fig. 2 schematisch das Speicherkonzept am Target zur Umwandlung zwischen kommuni¬ zierten Daten und internen Daten benutzt wird, undFIG. 2 shows schematically the memory concept at the target for conversion between communicated data and internal data, and FIG
Fig. 3 schematisch die Erweiterung des Speicherkonzeptes am Target, um dieses Datenaus¬ tauschverfahren für eine dezentrale Testumgebung verwenden zu können.FIG. 3 schematically shows the extension of the storage concept at the target in order to be able to use this data exchange method for a decentralized test environment.
Fig. 1 veranschaulicht den Datenfluss und Informationsfluss zwischen Host (CompA) und Target (CompB). Hierzu ist festzuhalten, dass bevor Daten (DatAB) zwischen Host (CompA) und Target (CompB) ausgetauscht werden können, das Target (CompB) einmal an den Host (CompA) Informationen (InfB) über Plattform-Eigenschaften des Targets (CompB) übertra¬ gen muss. Diese Plattformeigenschaften werden auf dem Target (CompB) automatisch mittels kurzer Berechnungsschritte ermittelt. Sobald die Information (InfB) vom Host (Com¬ pA) empfangen wurde, hat der Host (CompA) ausreichend Daten zur Verfügung, um zu wissen, in welcher Form das Target (CompB) die Daten (DatAB) verarbeitet. Die Daten (DatAB) können in beide Richtungen zwischen Host und Target übertragen werden. Die notwendige Konvertierung des Datenformates der Daten (DatAB) wird zur Gänze auf Seite des Hosts (CompA) durchgeführt Anspruch 3 beschreibt den Informationsgehalt der Infor¬ mationen (InfB). Fig. 2 zeigt das Speicherkonzept auf dem Target (CompB), mittels dessen Objekte zusam¬ mengesetzter Datentypen (DatB) als Sequenz von Objekten von Grunddatentypen (DatAB) übertragen werden.Fig. 1 illustrates the data flow and information flow between host (CompA) and target (CompB). It should be noted that before data (DatAB) can be exchanged between host (CompA) and target (CompB), the target (CompB) once transferred to the host (CompA) information (InfB) about platform properties of the target (CompB) ¬ must. These platform properties are automatically determined on the target (CompB) by means of short calculation steps. As soon as the information (InfB) has been received by the host (CompA), the host (CompA) has sufficient data available to know in which form the target (CompB) processes the data (DatAB). The data (DatAB) can be transmitted in both directions between host and target. The necessary conversion of the data format of the data (DatAB) is performed entirely on the host side (CompA). Claim 3 describes the information content of the information (InfB). 2 shows the memory concept on the target (CompB), by means of which objects of combined data types (DatB) are transmitted as a sequence of objects of basic data types (DatAB).
Als Grunddatentypen werden dabei Datentypen bezeichnet, welche nur aus einem Zahlen¬ wert bestehen. Anspruch 4 beschreibt diese Aufsplittung der Objekte komplexer Datentypen (DatB) in deren Elemente von Grunddatentypen (DatAB). Abhängig von der verwendeten Software-Entwicklungsumgebung stehen hierfür unterschiedliche Wertebereiche sowie unterschiedliche Zahldarstellungen wie etwa ganzzahlige Werte oder Dezimalwerte zur Verfügung. Zusammengesetzte Datentypen können aus Grunddatentypen, sowie aus hierar¬ chisch zusammengesetzten Datentypen, bestehen. Typische Formen dieser Zusammenset¬ zung, wie sie etwa in Programmiersprachen unterstützt werden, sind Arrays (indizierbare Sequenz gleichartiger Datentypen), Strukturen (Verband beliebiger Datentypen). Bei den Objekten von Grunddatentypen (DatAB) spricht man daher von einer flachen Datenstruktur, während man bei den zusammengesetzten Datentypen von Datentypen (DatB) von einer komplexen Datenstruktur spricht.Basic data types are data types which consist of only one numerical value. Claim 4 describes this splitting of the objects of complex data types (DatB) into their elements of basic data types (DatAB). Depending on the software development environment used, different ranges of values as well as different number representations such as integer values or decimal values are available. Compound data types can consist of basic data types as well as of hierarchically composed data types. Typical forms of this composition, such as are supported in programming languages, are arrays (indexable sequence of similar data types), structures (association of any data types). The objects of basic data types (DatAB) are therefore called a flat data structure, while the composite data types of data types (DatB) are referred to as a complex data structure.
Da es sehr viele unterschiedliche Möglichkeiten gibt, wie diese Zusammensetzung von Datentypen konkret auf Speicherzellen abgebildet werden kann, werden Objekte zusam¬ mengesetzter Datentypen als Sequenz von Objekten der Grunddatentypen übertragen. Die Zuordnung von Elementen der zusammengesetzten Datentypen auf die übertragenen Grunddatentypen wird über eine Tabelle (TabB) ermöglicht. Diese Tabelle (TabB) enthält einen Eintrag für je ein Objekt eines Grunddatentypes von (DatB), wobei dieser Eintrag eine Referenz auf den Speicherplatz enthält, wo dieses Objekt für die Programmausführung im Target (CompB) erwartet wird. Dieser Speicherplatz kann sich somit natürlich auch inner¬ halb eines Objektes eines zusammengesetzten Datentypes aus (DatB) befinden.Since there are a great many different ways in which this composition of data types can be mapped concretely to memory cells, objects of combined data types are transmitted as a sequence of objects of the basic data types. The assignment of elements of the composite data types to the transmitted basic data types is possible via a table (TabB). This table (TabB) contains an entry for each object of a basic data type of (DatB), this entry containing a reference to the memory location where this object is expected to be executed in the target (CompB). Of course, this memory location can also be located within an object of a composite data type (DatB).
Nun sei auf Fig. 3 Bezug genommen, in welcher eine Erweiterung des Speicherinterfaces des Datenaustauschverfahrens zur Realisierung einer dezentralen Testumgebung beschrieben ist. Ziel dieser dezentralen Testumgebung ist es, auf dem Target-Computersystem (CompB) ein (Unter)Programm laufen zu lassen, wobei die entsprechenden Testdaten vom Host (Comp A) bereitgestellt werden und das Testergebnis zurück an den Host (Comp A) übertra¬ gen wird. Es kann dabei vorkommen, dass das zu testende (Unterprogramm nicht direkt mit den Werten der Testdaten aufgerufen werden kann. Dies ist beispielsweise dann der Fall, wenn das zu testende (Unter)Programm auf die Testdaten indirekt über andere Datenstruk¬ turen zugreift. In diesem Fall müssen vor dem Test diese zusätzlichen Datenstrukturen aufgebaut und initialisiert werden. Der dafür notwendige Speicherbereich ist mit (MGlue) benannt Diese Erweiterung für die Realisierung einer dezentralen Testumgebung ist in Anspruch 13 und 14 beschrieben.Reference is now made to Fig. 3, in which an extension of the memory interface of the data exchange method for realizing a decentralized test environment is described. The aim of this decentralized test environment is to run a (sub) program on the target computer system (CompB), the corresponding test data being provided by the host (Comp A) and transmitting the test result back to the host (Comp A) becomes. It may happen that the subroutine to be tested can not be called directly with the values of the test data, which is the case, for example, if the subroutine to be tested accesses the test data indirectly via other data structures In the case, these additional data structures must be set up and initialized before the test. This extension for the realization of a decentralized test environment is described in claims 13 and 14.
Beispielhafte Realisierung der DatenstrukturenExemplary realization of the data structures
Im folgenden sei anhand eines Beispieles verdeutlicht, wie die beschriebenen Speicherberei¬ che für das Datenaustauschverfahren und eine darauf aufbauende Testumgebung realisiert und verwendet werden können. Das Datenaustauschverfahren lässt sich sowohl in Hard¬ ware als auch in Software realisieren. Da sich jedoch mit Programmiersprachen eine Ausfüh¬ rungslogik sehr kompakt und in einem allgemein bekannten Format darstellen lässt, wurde zur Beschreibung gewisser Mechanismen die Programmiersprache ANSI C gewählt. Die Konzepte der Testumgebung werden ebenfalls für die Programmiersprache ANSI C skiz¬ ziert.In the following, it will be clarified by means of an example how the memory areas described for the data exchange method and a test environment based thereon can be realized and used. The data exchange method can be implemented both in hardware and in software. However, since programming languages allow execution logic to be very compact and in a generally known format, the programming language ANSI C has been chosen to describe certain mechanisms. The concepts of the test environment are also sketched for the ANSI C programming language.
Angenommen, es sei auf dem Target CompB das UnterprogrammSuppose it is the subroutine on the Target CompB
typedef struct { int a [3] ; char b ; } Sn_t ;typedef struct {int a [3]; char b; } Sn_t;
void test (Sn_t *snl [20] , Sn_t sn2 ) ;void test (Sn_t * snl [20], Sn_t sn2);
zu testen. Um die flexiblen Möglichkeiten durch den Speicherbereich (MGlue) zu demonst¬ rieren, sei angenommen, dass die relevanten Testdaten aus den zwei Datensätzen svl und sv2 vom Typ Sn_t bestehen. Weiters sei festgelegt, dass bezüglich der Eingabeparameter des zu testenden Unterprogramms das erste Element des Arrays snl auf den Testwert svl zeigen soll und das zweite Element als Null-Pointer initialisiert sein soll. Der zweite Einga¬ beparameter soll direkt mit dem Testwert sv2 initialisiert werden.to test. In order to demon- strate the flexible possibilities through the memory area (MGlue), it is assumed that the relevant test data consists of the two data sets svl and sv2 of the type Sn_t. It should also be noted that with respect to the input parameters of the subroutine to be tested, the first element of the array snl should point to the test value svl and the second element should be initialized as a zero pointer. The second input parameter is to be initialized directly with the test value sv2.
Um die Testdaten lokal auf dem Target (CompB) speichern zu können, ist folgender Spei¬ cherbereich zu allokieren:In order to be able to store the test data locally on the target (CompB), the following memory area is to be allocated:
Sn_t svl , sv2 ;Sn_t svl, sv2;
Da die zu testende Prozedur im ersten Argument eine komplexere Datenstruktur benutzt, ist zusätzlicher Speicherbereich (MGlue) zum Aufbau der komplexen Datenstruktur (DatB) zu allokieren:Since the procedure to be tested uses a more complex data structure in the first argument, additional memory area (MGlue) for allocating the complex data structure (DatB) must be allocated:
Sn t *av [20] ; welcher mit folgenden Werten initialisiert wird:Sn t * av [20]; which is initialized with the following values:
av[0] = av[0] = &svl;av [0] = av [0] = &svl;
av[l] = (Sn_t*) 0;av [l] = (Sn_t *) 0;
Die zu testende Prozedur könnte nun folgendermaßen aufgerufen werden:The procedure to be tested could now be called as follows:
test (av, sv2) ;test (av, sv2);
Für den Empfang der vom Host (Comp A) kommenden Testdaten kann nun auf dem Target (CompB) folgende Übersetzungstabelle (TabB) verwendet werden:To receive the test data coming from the host (Comp A), the following translation table (TabB) can now be used on the target (CompB):
typedef struct { void *ref; int size; } data_list_t ;typedef struct {void * ref; int size; } data_list_t;
data_list_t data[] = { \data_list_t data [] = {\
{ &(svl.a), sizeof (svl.a) }, \{& (svl.a), sizeof (svl.a)}, \
{ &(svl.b), sizeof (svl .b) }, \{& (svl.b), sizeof (svl .b)}, \
{ &(sv2.a), sizeof (sv2. a) }, \{& (sv2.a), sizeof (sv2.a)}, \
{ &(sv2.a), sizeof (sv2.b) } } ;{& (sv2.a), sizeof (sv2.b)}};
Im Target (CompB) wird eine Empfangseinheit realisiert, welche die Objekte von Grundda¬ tentypen kommend vom Host (CompA) als Bytestrom interpretiert und auf die entspre¬ chenden Speicherzellen, welche in der Tabelle (TabB) spezifiziert sind, verteilt. Dass das Speicherlayout von Objekten zusammengesetzter Datentypen auf Host (CompA) und Target CompB anders aufgebaut ist, wird auf ressourcensparende Weise abstrahiert, indem auf dem Target (CompB) die Daten (DatB) mit der Übersetzungstabelle (TabB) auf die Objekte von Grunddatentypen in (DatAB) aufgeteilt werden.In the target (CompB), a receiving unit is implemented which interprets the objects of basic data types coming from the host (CompA) as a byte stream and distributes them to the corresponding memory cells which are specified in the table (TabB). The memory layout of objects of composite datatypes on Host (CompA) and Target CompB is structured differently, in a resource-saving way, by subtracting on the target (CompB) the data (DatB) with the translation table (TabB) on the objects of basic datatypes in ( DatAB).
Mit diesem Beispiel wurde demonstriert, wie man eine Datenkommunikation von Host (CompA) nach Target (CompB) für eine dezentrale Testumgebung realisieren kann. Die beschriebenen Datenstrukturen (Tabelle (TabB) und Speicherbereich (MGlue) ) sind spezi¬ fisch für das zu testende (Unter)Programm angegeben worden. Die Realisierung von Datenstrukturen für einen Datenaustausch von Target (CompB) nach Host (Comp A) folgt demselben Schema.This example demonstrates how to realize data communication from host (CompA) to target (CompB) for a remote test environment. The described data structures (table (TabB) and memory area (MGlue)) have been specified specifi cally for the (sub) program to be tested. The implementation of data structures for a data exchange from Target (CompB) to Host (Comp A) follows the same pattern.
Beispielhafte Berechnung der Plattform-EigenschaftenExemplary calculation of platform properties
Im Folgenden wird die Realisierungsmöglichkeit der automatischen Berechnung der Platt¬ form-Eigenschaften (Information (InfB) ) auf Seite des Targetsystems (CompB) beschrieben. Die verwendeten Beispiele sollen bloß das Prinzip verdeutlichen und stellen keine Ein¬ schränkung des Schutzumfangs wie in den Ansprüchen definiert dar.In the following, the possibility of realizing the automatic calculation of the platform properties (information (InfB)) on the side of the target system (CompB) will be described. The examples used are merely intended to clarify the principle and do not represent a restriction on the scope of protection as defined in the claims.
Für den Zeitpunkt, wann die plattformspezifische Information (InfB) berechnet wird, gibt es mehrere Möglichkeiten. Um möglichst viele Ressourcen auf dem Target (CompB) einzuspa¬ ren, wäre es etwa denkbar, die Berechnung der Informationen (InfB) als eigenständiges Programm auf dem Target (CompB) laufen zu lassen und die plattformspezifische Informa¬ tionen (InfB) auf dem Hostsystem (CompA) abzuspeichern für die spätere Kommunikation mit dem Target (CompB). Eine alternative Möglichkeit wäre, die Berechnung der plattform¬ spezifischen Informationen (InfB) direkt in den Applikationscode des Targets (CompB) aufzunehmen, was allerdings zusätzliche Bytes an Programmcode belegt.There are several options for when the platform-specific information (InfB) is calculated. In order to save as many resources as possible on the target (CompB), it would be conceivable, for example, to run the calculation of the information (InfB) as an independent program on the target (CompB) and the platform-specific information (InfB) on the host system (CompA) for later communication with the target (CompB). An alternative possibility would be to include the calculation of the platform-specific information (InfB) directly in the application code of the target (CompB), which, however, occupies additional bytes of program code.
Die Plattform-Eigenschaften, welche in den plattformspezifischen Informationen (InfB) beschrieben sind, enthalten an erster Stelle die Endianität (litfcte endian oder big endian, d.h. die Anordnung der Bytes innerhalb eines Datenwortes). Das Wissen über die Endianität ist erforderlich, um weitere Informationen interpretieren zu können. Weitere Zusatzinformati¬ on, die in den Informationen (InfB) enthalten sein können, sind beispielsweise die Wertebe¬ reiche der Grunddatentypen.The platform properties described in the platform-specific information (InfB) contain in the first place the endianity (litfcte endian or big endian, i.e. the arrangement of the bytes within a data word). Knowledge of the endianity is required to interpret more information. Further additional information which may be contained in the information (InfB) are, for example, the value ranges of the basic data types.
Die Endianität könnte etwa mit folgendem plattformunabhängigen Programmcode in ANSI C berechnet werden:The endianity could be calculated using the following platform-independent code in ANSI C:
int e = 1 ;int e = 1;
if (* ( (char * ) &e) == 1 ) endian=LITTLE; eise endian=BIG;if (* ((char *) & e) == 1) endian = LITTLE; endian = BIG;
Die Wertebereiche von integralen Grunddatentypen könnten mit folgendem Programmcode in ANSI C berechnet werden:The value ranges of integral basic data types could be calculated with the following program code in ANSI C:
sizeof (char) , sizeof (unsigned char) , sizeof ( short) , sizeof (unsigned Short) ,sizeof (char), sizeof (unsigned char), sizeof (short), sizeof (unsigned short),
sizeof ( int ) , sizeof (unsigned int ) ,sizeof (int), sizeof (unsigned int),
sizeof ( long) , sizeof (unsigned long)sizeof (long), sizeof (unsigned long)
Bei den Grunddatentypen für Fließkommazahlen verhält sich die Berechnung ähnlich. Die Länge dieser Grunddatentypen kann analog berechnet werden:For the basic data types for floating-point numbers, the calculation behaves similarly. The length of these basic data types can be calculated analogously:
sizeof ( float ) , sizeof (double)sizeof (float), sizeof (double)
Zusätzlich jedoch haben diese FBeßkomma-Datentypen eine interne Partitionierung in Vorzeichenbit, Exponentenfeld und Mantissenfeld. Ein Compiler für ANSI C BO/ IEC 9899 würde die Daten für diese Partitionierung bereits als Konstanten in der Datei float . h vordefiniert haben. Im Falle von älteren Compilern lassen sich diese Partitionierungsdaten allerdings auch automatisch berechnen.In addition, however, these FBsdata data types have internal partitioning into sign bit, exponent field, and mantissa field. A compiler for ANSI C BO / IEC 9899 would already float the data for this partitioning as constants in the file. have predefined h. In the case of older compilers, however, this partitioning data can also be calculated automatically.
Wien, den Vienna, the

Claims

PATENTANSPRÜCHE
1. Verfahren zum Austausch von Daten (DatAB) zwischen einem ersten Computersystem (CompA) und einem zweiten Computersystem (CompB), wobei die Daten (DatAB) auf dem ersten Computersystem (CompA) in einer ersten plattformspezifischen Datenrepräsentation und auf dem zweiten Computersystem (CompB) in einer zweiten plattformspezifischen Datenrepräsentation dargestellt werden, und die Konvertierung der Daten (DatAB) zwi¬ schen der ersten und zweiten plattformspezifischen Datenrepräsentation in beiden Richtun¬ gen auf dem ersten Computersystem. (CompA) durchgeführt wird, wobei plattformspezifi¬ sche Datenrepräsentation die binäre Repräsentation von Daten bezeichnet die durch ver¬ wendeten Prozessor und/ oder Compiler des jeweiligen Computersystems (CompA, CompB) bedingt istA method for exchanging data (DatAB) between a first computer system (CompA) and a second computer system (CompB), wherein the data (DatAB) on the first computer system (CompA) in a first platform-specific data representation and on the second computer system (CompB ) in a second platform-specific data representation, and the conversion of the data (DatAB) between the first and second platform-specific data representation in both directions on the first computer system. (CompA) is carried out, wherein platform-specific data representation denotes the binary representation of data which is caused by the used processor and / or compiler of the respective computer system (CompA, CompB)
dadurch gekennzeichnet, dasscharacterized in that
die auf dem ersten Computersystem (CompA) benötigte Information (InfB) über das zweite Computersystem (CompB), welche Information (InfB) zur Umwandlung der Daten (DatAB) für beide Richtungen des Datenaustausches notwendig ist, vollständig auf dem zweiten Computersystem (CompB) berechnet wird.the information (InfB) required on the first computer system (CompA) via the second computer system (CompB), which information (InfB) is required for the conversion of the data (DatAB) for both directions of the data exchange, is completely calculated on the second computer system (CompB) becomes.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass das Verfahren zur Berech¬ nung der Information (Inf B) auf dem zweiten Computersystem (CompB) in plattformunab¬ hängiger Form realisiert ist.2. The method according to claim 1, characterized in that the method for calculating the information (Inf B) on the second computer system (CompB) is realized in a platform-independent form.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Information (InfB), welche von dem zweiten Computersystem (CompB) berechnet wird, ein Endian-Flag zur Beschreibung der Byte-Reihenfolge, in welcher Daten auf dem zweiten Computersystem. (CompB) abgelegt werden, enthalt.3. The method according to claim 1 or 2, characterized in that the information (InfB), which is calculated by the second computer system (CompB), an endian flag for describing the byte order, in which data on the second computer system. (CompB) are stored contains.
4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass in den Daten (DatAB) die Werte von Objekten komplexer Datentypen (DatB) der Daten am Target, wie beispielsweise Strukturen, in flacher Form, d.h. als Sequenz der in den komplexen Datentypen enthaltenen Grunddatentypen, gespeichert werden. 4. The method according to any one of claims 1 to 3, characterized in that in the data (DatAB) the values of objects of complex data types (DatB) of the data on the target, such as structures, in a flat form, ie as a sequence in the complex Data types contained basic data types are stored.
5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet dass das erste Computersystem (CompA) und das zweite Computersystem (CompB) über einen elektroni¬ schen Datenkanal verbunden sind und automatisch vor der ersten Übermittlung der Daten (DatAB) die Information (InfB) von dem zweiten Computersystem (CompB) auf das erste Computersystem (CompA) übertragen wird.5. The method according to any one of claims 1 to 4, characterized in that the first computer system (CompA) and the second computer system (CompB) are connected via an electronic data channel and automatically before the first transmission of data (DatAB) the information (InfB ) is transferred from the second computer system (CompB) to the first computer system (CompA).
6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass von dem zweiten Computersystem (CompB) die Verbindung zwischen den übertragenen Daten mit flachen Datenstruktur (DatAB) und den Objekten komplexer Datenstrukturen (DatB) über eine eigene Übersetzungstabelle (TabB) durchgeführt wird.6. The method according to claim 4 or 5, characterized in that of the second computer system (CompB), the connection between the transmitted data with flat data structure (DatAB) and the objects of complex data structures (DatB) via a translation table own (TabB) is performed.
7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass die für die Transformation zwischen den übertragenen Daten (DatAB) und den Objekten komplexer Datentypen (DatB) sowie die Berechnung der Information (InfB) notwendigen Transformati¬ onsschritte vollständig als plattformspezifisches Verfahren spezifiziert sind.7. The method according to any one of claims 1 to 6, characterized in that the necessary for the transformation between the transmitted data (DatAB) and the objects of complex data types (DatB) and the calculation of the information (InfB) onsschritte steps completely as a platform-specific method are specified.
8. Computer System (CompB) für ein Verfahren nach einem der Ansprüche 1 bis 7, welches dazu eingerichtet ist, die auf einem ersten Computersystem (CompA) benötigte Information (InfB) über das zweite Computersystem (CompB), welche Information (InfB) zur Umwand¬ lung der Daten (DatAB) für beide Richtungen des Datenaustausches notwendig ist (InfB), vollständig zu berechnen.8. Computer system (CompB) for a method according to one of claims 1 to 7, which is set up to receive the information (InfB) required for a first computer system (CompA) via the second computer system (CompB), which information (InfB) for Conversion of the data (DatAB) for both directions of the data exchange is necessary (InfB), to calculate completely.
9. Computersystem (CompB) nach Anspruch 8, dadurch gekennzeichnet, dass das Verfah¬ ren zur Berechnung der Information (InfB) auf dem zweiten Computersystem (CompB) in plattformunabhängiger Form realisiert ist.9. Computer system (CompB) according to claim 8, characterized in that the method for computing the information (InfB) on the second computer system (CompB) is implemented in a platform-independent form.
10. Computersystem (CompB) nach Anspruch 8 oder 9, dadurch gekennzeichnet, dass die für die Berechnung der Information (InfB) notwendigen Ressourcen nach erfolgter Berech¬ nung der Information (InfB) anschließend für andere Aufgaben wiederverwendet werden können.10. Computer system (CompB) according to claim 8 or 9, characterized in that the information necessary for the calculation of the information (InfB) resources can be subsequently reused for other tasks after the calculation of the information (InfB).
11. Computersystem nach einem der Ansprüche 8 bis 10, dadurch gekennzeichnet dass die Information (InfB), welche von diesem Computersystem (CompB) berechnet wird, ein Endian-Flag zur Beschreibung der Byte-Reihenfolge, in welcher Daten auf diesem Compu¬ tersystem (CompB) abgelegt werden, enthält. 11. Computer system according to one of claims 8 to 10, characterized in that the information (InfB), which is calculated by this computer system (CompB), an endian flag for describing the byte order, in which data on this computer system ( CompB) contains.
12. Computersystem nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet/ dass in den Daten (DatAB) die Werte von Objekten komplexer Datentypen, wie beispielsweise Strukturen, in flacher Form, d.h. als Sequenz der in den Objekten komplexer Datentypen enthaltenen Elementen von Grunddatentypen, gespeichert werden.12. Computer system according to one of claims 8 to 11, characterized in that / in the data (DatAB) the values of objects of complex data types, such as structures, in a flat form, ie as a sequence of elements of complex data types contained elements of basic data types, get saved.
13. Testumgebung basierend auf dem Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass auf einem zweiten Computersystem (CompB) das zu testende (Un- ter)Programm ausgeführt wird, wobei Textvektoren von dem ersten Computersystem (CompA) empfangen werden sowie Testergebnisse zurück an das erste Computersystem (CompA) übertragen werden, und wobei eine Speicherstruktur (MGlue) verwendet wird, welche die Anbindung der Test-Daten (DatB) an ein Programminterface (DatBInt) des zu testenden (Unter)Programmes realisiert.13. Test environment based on the method according to one of claims 1 to 7, characterized in that on a second computer system (CompB), the (Sub) program to be tested is executed, wherein text vectors are received from the first computer system (CompA) and Test results are transmitted back to the first computer system (CompA), and wherein a memory structure (MGlue) is used, which realizes the connection of the test data (DatB) to a program interface (DatBInt) of the (sub) program to be tested.
14. Testumgebung nach Anspruch 13, dadurch gekennzeichnet, dass die Beschreibung und Initialisierung der Speicherstruktur (MGlue) mit den beiden Interfaces (DatB) und (DatBInt) auf Quellcodeebene als plattformunabhängiges Verfahren realisiert ist. 14. Test environment according to claim 13, characterized in that the description and initialization of the memory structure (MGlue) with the two interfaces (DatB) and (DatBInt) is implemented at the source code level as a platform-independent method.
PCT/AT2005/000457 2004-11-15 2005-11-15 Method for exchanging data WO2006050550A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
ATA1903/2004 2004-11-15
AT19032004A AT501854B1 (en) 2004-11-15 2004-11-15 PROCEDURE FOR THE EXCHANGE OF DATA

Publications (1)

Publication Number Publication Date
WO2006050550A1 true WO2006050550A1 (en) 2006-05-18

Family

ID=36095851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AT2005/000457 WO2006050550A1 (en) 2004-11-15 2005-11-15 Method for exchanging data

Country Status (2)

Country Link
AT (1) AT501854B1 (en)
WO (1) WO2006050550A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020124118A1 (en) * 2001-01-04 2002-09-05 Colley Adrian E. Method and system for passing objects in a distributed system using serializatin contexts
US20030179112A1 (en) * 2002-03-22 2003-09-25 Parry Travis J. Systems and methods for data conversion
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
DE19744293C1 (en) * 1996-06-26 1999-07-01 Fraunhofer Ges Forschung Method of encoding and decoding of multimedia data with definition and multimedia data blocks
US6826597B1 (en) * 1999-03-17 2004-11-30 Oracle International Corporation Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
DE10054887A1 (en) * 2000-11-06 2002-05-08 Fileants Com Ag Method for exchanging data in a network, device for carrying out the method, computer program for carrying it out and data carrier on which one is stored
DE10125383B4 (en) * 2000-12-15 2006-12-14 Siemens Ag Encryption of control programs
JP2003058361A (en) * 2001-08-20 2003-02-28 Oki Electric Ind Co Ltd Data transfer method and data converter
EP1298525A1 (en) * 2001-09-26 2003-04-02 Sap Ag Interaction between computers with different object-oriented run-time environments
US20030061062A1 (en) * 2001-09-26 2003-03-27 Tucker Timothy J. XML data switch
US7707077B2 (en) * 2002-03-28 2010-04-27 Sap Ag Electronic financial transaction with balancing invoice and credit items via page

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6772413B2 (en) * 1999-12-21 2004-08-03 Datapower Technology, Inc. Method and apparatus of data exchange using runtime code generator and translator
US20020124118A1 (en) * 2001-01-04 2002-09-05 Colley Adrian E. Method and system for passing objects in a distributed system using serializatin contexts
US20030179112A1 (en) * 2002-03-22 2003-09-25 Parry Travis J. Systems and methods for data conversion

Also Published As

Publication number Publication date
AT501854B1 (en) 2008-03-15
AT501854A1 (en) 2006-11-15

Similar Documents

Publication Publication Date Title
DE68919631T2 (en) Process for processing program parts of a distributed application program by a main computer and an intelligent workstation in an SNA LU 6.2 network environment.
DE69329577T2 (en) METHOD AND SYSTEM FOR IMPLEMENTATION-INDEPENDENT INTERFACE SPECIFICATION
DE69405408T2 (en) OBJECT-ORIENTED SYSTEM AND METHOD FOR HARDWARE CONFIGURATION
DE69719620T2 (en) Device and method for determining server cluster topologies
DE69024753T2 (en) Portable, resource-sharing file server that uses common routines
DE112012004747B4 (en) Hidden automated data mirroring for native interfaces in distributed virtual machines
DE69322887T2 (en) Data processing and operating system with dynamic load sharing in a network of linked processors
DE69910826T2 (en) COMPUTER SYSTEM WITH RECONFIGURABLE PROGRAMMABLE LOGIC DEVICE
DE102008035120B4 (en) Processor selection for an interrupt identifying a processor cluster
DE68927375T2 (en) Arbitration of transmission requests in a multiprocessor computer system
DE69630480T2 (en) Method, device and data structures for object management
DE69425318T2 (en) Remote code execution method and system
DE112011101469T5 (en) Compiling software for a hierarchical distributed processing system
DE69734432T2 (en) Method and apparatus for sending client method calls in a server computer system
DE112013000752T5 (en) Manage processing elements in a streaming data system
DE112012000693T5 (en) Execute a variety of instances of an application
DE102009049078B4 (en) Use of exporter knowledge about memory region ordering requests to modify transaction attributes
DE10113577A1 (en) Method, computer program product and computer system to support multiple application systems using a single database system
DE112012002905T5 (en) Technique for compiling and executing programs in high-level languages on heterogeneous computers
DE102017213160B4 (en) Compilation for node device GPU-based parallel processing
DE112010003594T5 (en) Dynamic resource allocation for distributed group storage networks
DE112012004629T5 (en) Dynamic memory affinity adjuster on process / object level
DE60122671T2 (en) Requirement-based dynamic interface generation
DE69904766T2 (en) Kodenübersetzer
DE69518453T2 (en) Method and system for dynamically selecting a communication mode

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05804668

Country of ref document: EP

Kind code of ref document: A1