DE102011003836A1 - Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program - Google Patents

Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program Download PDF

Info

Publication number
DE102011003836A1
DE102011003836A1 DE201110003836 DE102011003836A DE102011003836A1 DE 102011003836 A1 DE102011003836 A1 DE 102011003836A1 DE 201110003836 DE201110003836 DE 201110003836 DE 102011003836 A DE102011003836 A DE 102011003836A DE 102011003836 A1 DE102011003836 A1 DE 102011003836A1
Authority
DE
Germany
Prior art keywords
program
information
program part
compatibility
interface
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.)
Withdrawn
Application number
DE201110003836
Other languages
German (de)
Inventor
Markus Breitfelder
Simon Tobias Eder
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.)
Continental Automotive GmbH
Original Assignee
Continental Automotive GmbH
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 Continental Automotive GmbH filed Critical Continental Automotive GmbH
Priority to DE201110003836 priority Critical patent/DE102011003836A1/en
Publication of DE102011003836A1 publication Critical patent/DE102011003836A1/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Abstract

The method involves checking compatibility information of the selected part of the program (BU2). The access takes place by an interface of the selected program, where the compatibility information is automatically determined from the interface descriptive structural information.

Description

Die Erfindung betrifft ein Verfahren zur Durchführung einer Kompatibilitätsprüfung beim Zugriff auf ein ausgewähltes Programmteil eines aus einer Anzahl an Programmteilen bestehenden Programms, bei dem eine Kompatibilitätsinformation des ausgewählten Programmteils überprüft wird, wobei der Zugriff über eine Schnittstelle des ausgewählten Programms erfolgt.The invention relates to a method for performing a compatibility check when accessing a selected program part of a program consisting of a number of program parts, in which a compatibility information of the selected program part is checked, wherein the access is made via an interface of the selected program.

Aus mehreren Programmteilen bestehende Programme werden zur Steuerung von Rechnern, aber auch zur Steuerung von Steuergeräten, wie z. B. für Kraftfahrzeuge, eingesetzt. Obwohl die Programmteile eines Programms prinzipiell voneinander unabhängig sein können, besteht in der Regel eine Abhängigkeit zwischen diesen. Beispielsweise wird durch ein erstes Programmteil ein zweites Programmteil zur Ausführung einer Funktion aufgerufen. Ist die Funktion beendet, so wird das Programm durch das erste Programmteil weiter ausgeführt. Ebenso kann eine Abhängigkeit zwischen Programmteilen darin bestehen, dass Daten eines zweiten Programmteils durch ein erstes Programmteil aus einem dem zweiten Programmteil zugewiesenen Speicher ausgelesen und weiter verarbeitet werden.Programs consisting of several program parts are used to control computers, but also to control control devices such. As for motor vehicles used. Although the program parts of a program can in principle be independent of each other, there is usually a dependency between them. For example, a second program part is called to execute a function by a first program part. When the function is finished, the program continues through the first part of the program. Likewise, a dependency between program parts can be that data of a second program part are read out by a first program part from a memory assigned to the second program part and further processed.

Sowohl im Rahmen der Entwicklung des Programms als auch bei bereits auf einem Rechner oder Steuergerät implementiertem Programm kann es zur Abänderung einzelner Programmteile kommen. Eine solche Abänderung erfolgt beispielsweise im Rahmen eines Reprogrammierungsprozesses während der Lebenszeit des Rechners bzw. Steuergeräts, zur Verbesserung von Funktionen, zum Hinzufügen neuer Funktionen oder zum Beheben von Fehlern.Both during the development of the program and in the case of programs already implemented on a computer or control unit, it is possible to modify individual program parts. Such a modification takes place, for example, as part of a reprogramming process during the lifetime of the computer or control unit, to improve functions, to add new functions or to correct errors.

Bei jeder Änderung eines Programmteils besteht die Gefahr, dass es zu Inkompatibilitäten zwischen den voneinander abhängigen Programmteilen kommt. Eine solche Inkompatibilität kann auch dann auftreten, wenn im Rahmen eines Aktualisierungs- oder Neuprogrammierungsprozesses ein Zugriff auf einen Programmteil des Programms durch ein externes Gerät, beispielsweise einen externen Rechner, erfolgt. In 1 sind die gängigsten Mechanismen der Interaktion zwischen zwei Programmteilen bzw. einem externen Gerät und einem Programmteil dargestellt.Each time a program section is changed, there is a risk of incompatibilities between the interdependent program sections. Such incompatibility may also occur when accessing a program portion of the program by an external device, such as an external computer, as part of an update or reprogramming process. In 1 The most common mechanisms of interaction between two program parts or an external device and a program part are shown.

In der mit (1) gekennzeichneten Situation erfolgt der Aufruf einer Funktion F() eines Programmteils BU2 durch ein aufrufendes Programmteil BU1. Hierzu erfolgt durch das aufrufende Programmteil BU1 ein Sprung in eine sog. Schnittstellen- oder Indirektionstabelle, über deren darin gespeicherte Informationen ein Aufruf der Funktion F() erfolgen kann. Die Indirektionstabelle IT umfasst Informationen darüber, wo die aufgerufene Funktion F() in einem durch das Programmteil BU2 verwalteten Speicher (Bereich) gelegen ist.In the with 1 ) situation is called the call of a function F () of a program part BU2 by a calling program part BU1. For this purpose, the calling program part BU1 makes a jump into a so-called interface or indirection table, via whose information a call of the function F () can take place. The indirection table IT includes information about where the called function F () is located in a memory (area) managed by the program part BU2.

In der mit (2) gekennzeichneten Situation erfolgt ein direkter Aufruf der Funktion F() des Programmteils BU2 durch das Programmteil BU1. In diesem Fall benötigt der aufrufende Programmteil BU1 eine Information darüber, an welcher Stelle im Speicher es die Funktion F() des zweiten Programmteils findet.In the with 2 ) situation is a direct call of the function F () of the program part BU2 by the program part BU1. In this case, the calling program part BU1 needs information about where in the memory it finds the function F () of the second program part.

In der mit (3) dargestellten Situation erfolgt ein Lese- oder Schreibzugriff auf ein Datenobjekt D1 des zweiten Programmteils BU2 durch das aufrufende Programmteil BU1. Hierbei erfolgt der Lese- bzw. Schreibzugriff wiederum mittels der Indirektionstabelle IT, welche die Information über den Ort des Datenobjekts D1 in dem von dem Programmteil BU2 verwalteten Speicherbereich hat. Erfolgt ein Zugriff auf ein Datenobjekt oder der Aufruf einer Funktion unter Verwendung einer Indirektionstabelle IT, so wird dies als indirekter Datenzugriff bzw. indirekter Funktionsaufruf bezeichnet.In the with 3 ) situation shown is a read or write access to a data object D1 of the second program part BU2 by the calling program part BU1. In this case, the read or write access in turn takes place by means of the indirection table IT, which has the information about the location of the data object D1 in the memory area managed by the program part BU2. If access to a data object or the call of a function using an indirection table IT, this is referred to as indirect data access or indirect function call.

In der mit (4) gekennzeichneten Situation erfolgt ein direkter Datenzugriff auf das Datenobjekt D1 durch das aufrufende Programmteil BU1. Hierzu ist wiederum die Kenntnis des Speicherorts und gegebenenfalls weiterer Informationen des Datenobjekts D1 innerhalb des aufrufenden Programmteils BU1 erforderlich.In the with 4 ) characterized situation takes place a direct data access to the data object D1 by the calling program part BU1. For this purpose, in turn, the knowledge of the storage location and possibly further information of the data object D1 within the calling program part BU1 is required.

In der mit (5) gezeigten Situation erfolgt ein direkter Zugriff auf ein Datenobjekt D2 des Programmteils BU2 durch einen externen Rechner ET. Ein solcher externer Rechner kann beispielsweise im automobilen Umfeld ein Diagnosegerät oder ein Kalibrationswerkzeug zur Parameterverstellung sein.In the with 5 ) shown situation takes place a direct access to a data object D2 of the program part BU2 by an external computer ET. Such an external computer can be, for example, in the automotive environment, a diagnostic device or a calibration tool for parameter adjustment.

Wie aus der vorangegangenen Beschreibung ersichtlich wurde, ist es aufgrund der Interaktion zweier Programmteile oder dem Zugriff eines externen Rechners auf ein Programmteil eines Programms erforderlich, dass eine Kompatibilität zwischen dem aufgerufenen und dem aufrufenden Programmteil besteht. Ebenso muss die Kompatibilität im Rahmen der Kommunikation zwischen dem externen Rechner und dem aufgerufenen Programmteil gegeben sein. Ist dies nicht der Fall, so kann dies zu einem unvorgesehenen Verhalten im Programmablauf bzw. bei der (Um-)Programmierung des aufgerufenen Programmteils führen. Unter Umständen ist ein Zugriff auf das aufgerufene Programmteil überhaupt nicht mehr möglich, so dass eine vollständige Neuprogrammierung des Rechners bzw. Steuergeräts erfolgen muss.As has been apparent from the foregoing description, due to the interaction of two program portions or the access of an external computer to a program portion of a program, compatibility between the called and the calling portion of the program is required. Likewise, the compatibility in the context of communication between the external computer and the called program part must be given. If this is not the case, this can lead to an unforeseen behavior in the program sequence or during the (re) programming of the called program part. Under certain circumstances, access to the called program part is no longer possible, so that a complete reprogramming of the computer or controller must be done.

Um Inkompatibilitätsprobleme der oben genannten Art zu vermeiden, sind in den Programmteilen sog. Kohärenz- oder Kompatibilitätsinformationen hinterlegt. Diese Kompatibilitätsinformationen werden für die Überprüfung verwendet, ob eine Kompatibilität zwischen in einer Beziehung stehenden Programmteilen bzw. einem externen Rechner besteht. Beispielsweise wird hierzu zunächst durch ein aufrufendes Programmteil die Kompatibilitätsinformation aus dem aufgerufenen Programmteil ausgelesen und mit einer entsprechenden Kompatibilitätsinformation in dem aufrufenden Programmteil verglichen. Nur bei einem positiven Vergleich kann dann ein tatsächlicher Aufruf des aufgerufenen Programmteils durch den aufrufenden Programmteil erfolgen. Die Kompatibilitätsinformation umfasst üblicherweise eine Information über ein Projekt und eine Version der betreffenden Programmteile. Beispielsweise werden hierzu Zähler und/oder Datumseinträge verwendet. Ein Nachteil dieser Vorgehensweise besteht darin, dass die Kompatibilitätsinformation manuell durch einen Softwareentwickler oder indirekt über ein Programmtell-Management-Tool in die Programmteile eingebracht wird. Dies erfordert jedoch, dass bei jeder substantiellen Änderung eines Programmteils eine Änderung über den Stand des Programmteils entweder direkt in den die Änderung betreffenden Programmteilen oder dem Programmteil-Management-Tool hinterlegt wird. Wird diese Information nicht oder nur unvollständig hinterlegt, kann es ebenfalls zu den oben beschriebenen Inkompatibilitätsproblemen kommen.In order to avoid incompatibility problems of the type mentioned above are in the Program parts so-called coherence or compatibility information deposited. This compatibility information is used to check if there is compatibility between related program parts or an external computer. For example, the compatibility information from the called program part is first read out by a calling program part and compared with a corresponding compatibility information in the calling program part. Only with a positive comparison can then be an actual call of the called program part by the calling program part. The compatibility information usually includes information about a project and a version of the program parts concerned. For example, counters and / or date entries are used for this purpose. A disadvantage of this procedure is that the compatibility information is introduced manually by a software developer or indirectly via a program cell management tool in the program parts. However, this requires that each time there is a substantial change in a part of the program, a change in the state of the part of the program is either deposited directly in the parts of the program that affect the change or in the program part management tool. If this information is not or only partially stored, it can also lead to the incompatibility problems described above.

Ein weiterer Nachteil dieses Vorgehens besteht darin, dass nicht jede vorgenommene Änderung an einem Programmteil zu einer Inkompatibilität führen muss. Werden beispielsweise lediglich Parameterwerte eines Programmteils verändert, so führt dies nicht zu einer Inkompatibilität beim Aufruf des betreffenden Programmteils. Wird andererseits dennoch die Kompatibilitätsinformation aktualisiert, so ist hiermit ein Mehraufwand für die Software-Entwickler verbunden.Another disadvantage of this procedure is that not every change made to a program part must lead to an incompatibility. If, for example, only parameter values of a program part are changed, this does not lead to an incompatibility when calling the relevant program part. If, on the other hand, the compatibility information is updated, this entails additional work for the software developers.

Es ist Aufgabe der vorliegenden Erfindung, ein Verfahren anzugeben, das die oben beschriebenen Nachteile vermeidet.It is an object of the present invention to provide a method which avoids the disadvantages described above.

Diese Aufgabe wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruches 1. Vorteilhafte Ausgestaltungen ergeben sich aus den abhängigen Patentansprüchen.This object is achieved by a method having the features of claim 1. Advantageous embodiments result from the dependent claims.

Die Erfindung schafft ein Verfahren zur Durchführung einer Kompatibilitätsprüfung beim Zugriff auf ein ausgewähltes Programmteil eines aus einer Anzahl an Programmteilen bestehenden Programms, bei dem eine Kompatibilitätsinformation des ausgewählten Programmteils überprüft wird, wobei der Zugriff über eine Schnittstelle des ausgewählten Programms erfolgt. Erfindungsgemäß wird die Kompatibilitätsinformation automatisiert aus die Schnittstelle beschreibenden Strukturinformationen ermittelt.The invention provides a method for performing a compatibility check on accessing a selected program part of a program consisting of a number of program parts, in which a compatibility information of the selected program part is checked, the access being made via an interface of the selected program. According to the invention, the compatibility information is determined automatically from the structure information describing the interface.

Ein Vorteil dieser Vorgehensweise besteht darin, dass die Kompatibilitätsinformation zum einen nicht mehr manuell ermittelt werden muss. Zum anderen besteht die Kompatibilitätsinformation aus die Schnittstelle des ausgewählten Programmteils beschreibenden, d. h. definierenden, und damit intrinsischen Informationen, die eindeutig sind. Hierdurch kann der Aufwand zur Erstellung der Kompatibilitätsinformationen reduziert werden.One advantage of this procedure is that the compatibility information no longer has to be determined manually. On the other hand, the compatibility information consists of the interface of the selected program part descriptive, d. H. defining, and thus intrinsic, information that is unique. As a result, the effort to create the compatibility information can be reduced.

Unter einer Schnittstelle ist im Rahmen der vorliegenden Offenbarung sämtliche Hard- und Software zu verstehen, welche erforderlich ist, um einen bestimmungsgemäßen Zugriff auf eine Funktion oder ein Datenobjekt des ausgewählten Programmteils zu ermöglichen. Ein Zugriff kann dabei auf verschiedene physikalische Arten erfolgen. Die Schnittstelle ist beispielsweise definiert durch die Lage und den Ort von Datenobjekten im Adressraum des ausgewählten Programmteils, die Größe des ausgewählten Programmteils, ein von dem ausgewählten Programmteil verwendetes Ablagenschema, gegebenenfalls genutzte Indirektionstabellen, eine Anzahl an Einträgen in den Indirektionstabellen, usw.Within the scope of the present disclosure, an interface is to be understood as meaning all hardware and software which is required in order to allow proper access to a function or a data object of the selected program part. An access can be made in various physical ways. The interface is defined, for example, by the location and location of data objects in the address space of the selected program part, the size of the selected program part, a storage scheme used by the selected program part, any indirection tables used, a number of entries in the indirection tables, etc.

Ebenso ist durch die Verwendung von die Schnittstelle beschreibenden Informationen sichergestellt, dass nur jede Änderung auch zu einer veränderten Kompatibilitätsinformation führt. Hierdurch ist sichergestellt, dass sich die Kompatibilitätsinformation lediglich im Fall einer tatsächlichen Änderung bezüglich der für die Kompatibilität relevanten Schnittstelle verändert. Die Anzahl an nicht zueinander kompatiblen Programmteilen kann damit verringert werden. Darüber hinaus ist die Gefahr von nicht zueinander kompatiblen Programmteilen minimiert oder sogar ausgeschlossen.Likewise, the use of information describing the interface ensures that only every change leads to changed compatibility information. This ensures that the compatibility information changes only in the case of an actual change in the interface relevant for compatibility. The number of non-compatible program parts can thus be reduced. In addition, the risk of non-compatible program parts is minimized or even excluded.

In einer zweckmäßigen Ausgestaltung repräsentiert die Strukturinformation eine Eigenschaft der Schnittstelle.In an expedient refinement, the structure information represents a property of the interface.

Die Kompatibilitätsinformation wird aus den die Schnittstelle beschreibenden Strukturinformationen unter Zuhilfenahme eines vorgegebenen Algorithmus ermittelt. Der Algorithmus kann beispielsweise in Gestalt eines CRC (Cyclic Redundancy Check)-Algorithmus ausgeführt sein, der als Ergebnis eine Checksumme, z. B. über die Größe und den Ort einzelner Schnittstellen-Elemente, ausgibt. Schnittstellenelemente sind z. B. einzelne Funktionen oder Datenobjekte. Die Gesamtheit aller Funktionen und/oder Datenobjekte in dem ausgewählten Programmteil, auf die von dem zugreifenden Programmteil zugegriffen wird, stellt die Schnittstelle dar.The compatibility information is determined from the structure information describing the interface with the aid of a predetermined algorithm. The algorithm may be implemented, for example, in the form of a CRC (Cyclic Redundancy Check) algorithm, which as a result obtains a checksum, e.g. B. on the size and location of individual interface elements outputs. Interface elements are z. For example, individual functions or data objects. The entirety of all functions and / or data objects in the selected program part, which is accessed by the accessing program part, represents the interface.

In einer weiteren zweckmäßigen Ausgestaltung wird die Kompatibilitätsinformation des ausgewählten Programmteils in dem ausgewählten Programmteil gespeichert. Hierdurch kann eine Auswertung der Kompatibilitätsinformation zur Durchführung der Kompatibilitätsprüfung erfolgen. In a further expedient embodiment, the compatibility information of the selected program part is stored in the selected program part. This allows an evaluation of the compatibility information to perform the compatibility check.

Zweckmäßigerweise wird eine weitere, aus den Strukturinformationen ermittelte Kompatibilitätsinformation über die Schnittstelle des ausgewählten Programmteils in einem zugreifenden Programmteil oder einem externen Rechner gespeichert. Hierdurch kann beispielsweise durch einen Vergleich die Kompatibilitätsprüfung durchgeführt werden, indem die Kompatibilitätsinformation und die weitere Kompatibilitätsinformation miteinander verglichen werden.Expediently, a further compatibility information determined from the structure information is stored via the interface of the selected program part in an accessing program part or an external computer. As a result, the compatibility check can be carried out, for example, by comparison by comparing the compatibility information and the further compatibility information with one another.

Eine weitere zweckmäßige Ausgestaltung sieht vor, dass die Kompatibilitätsinformation und/oder die weitere Kompatibilitätsinformation beim Erstellen der Programmteile des Programms ermittelt werden. Hierdurch wird die Kompatibilitätsinformation automatisiert und bei jedem Kompilierungsvorgang aktualisiert. In diesem Zusammenhang kann weiterhin vorgesehen sein, dass die Kompatibilitätsinformation und/oder die weitere Kompatibilitätsinformation während oder nach dem Kompilieren in dem betreffenden Programmteil gespeichert werden. Dieser Vorgang kann ebenfalls automatisiert erfolgen, so dass die aktuellen Kompatibilitätsinformationen automatisch den miteinander interagierenden Programmteilen zur Verfügung gestellt sind.A further expedient embodiment provides that the compatibility information and / or the further compatibility information are determined when the program parts of the program are created. This automates the compatibility information and updates it at each compilation process. In this context, it can further be provided that the compatibility information and / or the further compatibility information are stored during or after compilation in the relevant program part. This process can also be automated, so that the current compatibility information is automatically provided to the interacting program parts.

Es ist weiterhin zweckmäßig, wenn die Kompatibilitätsinformation und die weitere Kompatibilitätsinformation zur Durchführung einer Kompatibilitätsprüfung durch das zugreifende Programmteil oder den externen Rechner überprüft werden. Diese Überprüfung kann beispielsweise – wie beschrieben – durch einen Vergleich der beiden Kompatibilitätsinformationen erfolgen.It is furthermore expedient if the compatibility information and the further compatibility information for carrying out a compatibility check are checked by the accessing program part or the external computer. For example, as described, this check can be made by comparing the two compatibility information.

In einer weiteren zweckmäßigen Ausgestaltung wird die Kompatibilitätsinformation des ausgewählten Programmteils spezifisch für eine Schnittstelle zu einem zugreifenden Programmteil erzeugt. Beispielsweise kann die Kompatibilitätsinformation für ein erstes aufrufendes Programmteil unterschiedlich sein im Vergleich zu einer Kompatibilitätsinformation für ein zweites aufrufendes Programmteil, sofern diese unterschiedliche Schnittstellen verwenden.In a further expedient embodiment, the compatibility information of the selected program part is generated specifically for an interface to an accessing program part. For example, the compatibility information for a first calling program part may be different compared to a compatibility information for a second calling program part, if they use different interfaces.

In einer weiteren zweckmäßigen Ausgestaltung umfasst die Strukturinformation zumindest eine Information über die Größe und/oder den Speicherort eines Datenobjekts oder einer Funktion, das oder die für die Ausführung des zugreifenden Programmteils benötigt wird, im Speicher bzw. Adressraum des ausgewählten Programmteils. Darüber hinaus können weitere Strukturinformationen zur Ermittlung der Kompatibilitätsinformation berücksichtigt werden, wie z. B. Byte-Reihenfolgen eines einzelnen Schnittstellen-Elements, den Namen oder Datentyp eines einzelnen Schnittstellen-Elements, die Anzahl der für die Ermittlung der Kompatibilitätsinformation verwendeten Schnittstellen-Elemente, den Speicherbereich, der durch ein Programmteil genutzt wird, Signaturen, usw.In a further expedient embodiment, the structure information comprises at least information about the size and / or the storage location of a data object or a function that is required for the execution of the accessing program part in the memory or address space of the selected program part. In addition, further structural information for determining the compatibility information can be taken into account, such. Byte order of a single interface element, the name or data type of a single interface element, the number of interface elements used to determine the compatibility information, the extent of memory used by a program part, signatures, etc.

Die Erfindung wird nachfolgend näher anhand eines Ausführungsbeispiels erläutert. Es zeigen:The invention will be explained in more detail below with reference to an embodiment. Show it:

1 eine schematische Darstellung verschiedener Zugriffsmöglichkeiten auf ein ausgewähltes Programmteil von einem zugreifenden Programmteil oder einem externen Rechner, 1 a schematic representation of various access options to a selected program part of an accessing program part or an external computer,

2 eine schematische Darstellung einer ersten Variante des erfindungsgemäßen Verfahrens, bei dem über ein zugreifendes Programmteil auf ein ausgewähltes Programmteil zugegriffen wird, und 2 a schematic representation of a first variant of the method according to the invention, in which accessing a selected program part via an accessing program part, and

3 eine schematische Darstellung einer ersten Variante des erfindungsgemäßen Verfahrens, bei dem über einen externen Rechner auf ein ausgewähltes Programmteil zugegriffen wird. 3 a schematic representation of a first variant of the method according to the invention, in which an external computer to a selected program part is accessed.

Um sicherzustellen, dass eine Inkompatibilität zwischen zwei interagierenden Programmteilen eines aus einer Anzahl an Programmteilen bestehenden Programms lediglich dann detektiert wird, wenn die zwei miteinander interagierenden Programmteile tatsächlich inkompatibel sind, wird eine Kompatibilitätsinformation aus intrinsischen Eigenschaften der Schnittstelle gebildet, über welche eines der Programmteile auf das andere Programmteil zugreift. Diese Vorgehensweise wird auch der Situation zu Grunde gelegt, in der zu Wartungs-, Entwicklungs- und/oder Aktualisierungszwecken ein externer Rechner, beispielsweise ein Diagnosegerät oder ein Kalibrationswerkzeug zur Verstellung von Parametern des Programms, auf ein Programmteil des Programms zugreift.In order to ensure that an incompatibility between two interacting program parts of a program consisting of a number of program parts is only detected when the two interacting program parts are actually incompatible, compatibility information is formed from intrinsic properties of the interface over which one of the program parts is based on the other program part accesses. This procedure is also based on the situation in which, for maintenance, development and / or updating purposes, an external computer, for example a diagnostic device or a calibration tool for adjusting parameters of the program, accesses a program part of the program.

In der nachfolgenden Beschreibung der Ausführungsbeispiele wird das Programmteil, auf das ein anderes Programmteil zugreift, als ausgewähltes Programmteil bezeichnet. Das auf dieses ausgewählte Programmteil zugreifende Programmteil ist ein „zugreifendes Programmteil”.In the following description of the exemplary embodiments, the program part accessed by another program part is referred to as the selected program part. The program part accessing this selected program part is an "accessing program part".

Die Verwendung von intrinsischen Eigenschaften der Schnittstelle zur Erstellung der Kompatibilitätsinformation erlaubt es, diese automatisiert, z. B. im Rahmen eines Kompilierungsvorgangs des Programms oder jeweiliger Programmteile, zu erstellen. Nachdem die Kompatibilitätsinformation eine intrinsische Information über die Struktur der Schnittstelle selbst umfasst, basiert die Kompatibilitätsprüfung – im Gegensatz zu den aus dem Stand der Technik bekannten Vorgehensweisen – nicht auf einer manuellen Information eines Software-Entwicklers oder eines Programmteil-Management-Tools.The use of intrinsic properties of the compatibility information compilation interface allows it to be automated, e.g. As part of a compilation process of the program or respective program parts to create. After the compatibility information includes intrinsic information about the structure of the interface itself, the Compatibility check - in contrast to the known from the prior art procedures - not on a manual information of a software developer or a program part management tool.

Die Schnittstelle selbst ist definiert durch die Lage bzw. den (Speicher-)Ort in einem dem ausgewählten Adressteil zugewiesenen Adressraum, eine Größe, ein Ablageschema und das Vorhandensein eventuell einer oder mehrerer Indirektionstabellen.The interface itself is defined by the location or the (storage) location in an address space allocated to the selected address part, a size, a storage scheme and the existence of possibly one or more indirection tables.

Das Wissen über die Art und Ausgestaltung der Schnittstelle ist jeweils sowohl in dem ausgewählten Programmteil als auch in dem zugreifenden Programmteil bzw. dem externen Rechner vorhanden, so dass eine Kompatibilitätsprüfung der Kompatibilitätsinformation der beiden Programmteile vorgenommen werden kann.The knowledge of the type and design of the interface is present both in the selected program part as well as in the accessing program part or the external computer, so that a compatibility check of the compatibility information of the two program parts can be made.

Die Strukturinformation, welche in der Kompatibilitätsinformation berücksichtigt wird, umfasst beispielsweise eines oder mehrere der nachfolgenden Attribute:

  • – die Anzahl eines einzelnen Schnittstellen-Elements,
  • – Die Größe jedes einzelnen Schnittstellen-Elements,
  • – den (Speicher-)Ort eines jeden einzelnen Schnittstellen-Elements,
  • – den Datentyp eines jeden einzelnen Schnittstellen-Elements,
  • – den Namen jedes einzelnen Schnittstellenelements,
  • – die Byte-Reihenfolge jedes einzelnen Schnittstellen-Elements,
  • – den Speicherbereich, der durch eine Schnittstelle des Programmteils benötigt wird,
  • – funktionelle Signaturen,
  • – usw.
The structural information, which is taken into account in the compatibility information, comprises, for example, one or more of the following attributes:
  • The number of a single interface element,
  • - the size of each individual interface element,
  • The (storage) location of each individual interface element,
  • The data type of each individual interface element,
  • - the name of each interface element,
  • The byte order of each individual interface element,
  • The memory area required by an interface of the program part,
  • - functional signatures,
  • - etc.

In jedem Fall umfasst die Strukturinformation zumindest eine Information über die Größe und/oder den Speicherort eines Datenobjekts oder einer Funktion, das oder die für die Ausführung des zugreifenden Programmteils benötigt wird, im Speicher des ausgewählten Programmteils. Allgemein beschreibt die Strukturinformation damit die Eigenschaften einer Schnittstelle.In any case, the structure information comprises at least information about the size and / or the storage location of a data object or a function that is required for the execution of the accessing program part in the memory of the selected program part. In general, the structure information thus describes the properties of an interface.

Eine oder mehrere der oben aufgeführten Strukturinformationen wird bzw. werden durch einen vorgegebenen Algorithmus zu der Kompatibilitätsinformation verarbeitet, welche dann die strukturelle Information über die Schnittstelle selbst umfasst.One or more of the structural information listed above is processed by a predetermined algorithm to the compatibility information, which then comprises the structural information about the interface itself.

Prinzipiell kann der hierzu verwendete Algorithmus beliebiger Natur sein, solange sichergestellt ist, dass sich aus der Verarbeitung der Eingangsinformationen ein eindeutiges Ergebnis ergibt. Beispielsweise könnte der Algorithmus in Gestalt einer Checksumme (Cyclic Redundancy Check, CRC) über die ausgewählten, zu verarbeitenden Strukturinformationen gebildet sein.In principle, the algorithm used for this purpose may be arbitrary nature, as long as it is ensured that the processing of the input information results in a clear result. For example, the algorithm could be in the form of a checksum (Cyclic Redundancy Check, CRC) over the selected structure information to be processed.

In den 2 und 3 sind zwei Ausführungsbeispiele dargestellt, welche die Erstellung und Verwendung einer Kompatibilitätsinformation bei einem Zugriff von einem zugreifenden Programmteil (2) und einem externen Rechner (3) auf ein ausgewähltes Programmteil illustrieren.In the 2 and 3 Two exemplary embodiments are shown which describe the creation and use of compatibility information in the case of access from an accessing program part (FIG. 2 ) and an external computer ( 3 ) to a selected part of the program.

In 2 repräsentiert BU1 das zugreifende Programmteil. BU2 ist das ausgewählte Programmteil. In BU2 sind beispielhaft zwei Datenobjekte D1, D2 enthalten, welche bestimmte für die Erfindung nicht weiter relevante Eigenschaften aufweisen. IT kennzeichnet eine Indirektionstabelle mit einem Verweis refD2 auf das zweite Datenobjekt. CS(BU1) und CS(BU2) repräsentieren die Kompatibilitätsinformation, welche einem jeweiligen Programmteil BU1 oder BU2 zugeordnet ist. Ferner ist dem zugreifenden Programmteil BU1 eine sog. Symbolinformation SI1(BU1) zugeordnet. In entsprechender Weise ist dem ausgewählten Programmteil BU2 eine Symbolinformation SI2 (BU2) zugeordnet. Symbolinformationen umfassen in einer dem Fachmann bekannten Weise Informationen über generierte Datenobjekte und Funktionen, welche von einem Compiler und Linker/Locator verarbeitet werden. Die Symbolinformation entspricht damit einem Report, welche Informationen für einen Debugger liefert.In 2 BU1 represents the accessing program part. BU2 is the selected program part. In BU2, by way of example, two data objects D1, D2 are included, which have certain properties that are not further relevant to the invention. IT identifies an indirection table with a reference refD2 to the second data object. CS (BU1) and CS (BU2) represent the compatibility information associated with each program part BU1 or BU2. Further, the accessing program part BU1 is assigned a so-called symbol information SI1 (BU1). In a corresponding manner, the selected program part BU2 is assigned a symbol information SI2 (BU2). Symbol information includes, in a manner known to those skilled in the art, information about generated data objects and functions that are processed by a compiler and linker / locator. The symbol information thus corresponds to a report which provides information for a debugger.

Während das Datenobjekt D1 für einen direkten Zugriff des zugreifenden Programmteils BU1 vorgesehen ist (z. B. einen Lese und/oder Schreibzugriff), erfolgt ein Zugriff auf das Datenobjekt D2 indirekt über die Indirektionstabelle IT.While the data object D1 is provided for a direct access of the accessing program part BU1 (eg a read and / or write access), access to the data object D2 takes place indirectly via the indirection table IT.

In einem ersten Schritt wird zunächst die Schnittstelle zwischen dem zugreifenden Programmteil BU1 und dem ausgewählten Programmteil BU2 definiert, indem deren relevante Attribute ausgewählt werden. Dies können beispielsweise die Größe und der Ort im Speicher des Datenobjekts D1 sowie der Speicherort eines Zeigers zum Datenobjekt D2 innerhalb der Indirektionstabelle IT sein.In a first step, the interface between the accessing program part BU1 and the selected program part BU2 is first defined by selecting its relevant attributes. This may be, for example, the size and location in the memory of the data object D1 and the location of a pointer to the data object D2 within the indirection table IT.

In einem zweiten Schritt werden beide Programmteile BU1, BU2 erzeugt. Bei der Erzeugung der Programmteile BU1, BU2 werden ebenfalls die Symbolinformationen SI1(BU1) und SI2(BU2) als Ergebnis des Linker/Locators erhalten.In a second step, both program parts BU1, BU2 are generated. When generating the program parts BU1, BU2, the symbol information SI1 (BU1) and SI2 (BU2) are also obtained as a result of the linker / locator.

In einem dritten Schritt werden die Symbolinformation SI1(BU1) mit den Attributen der Schnittstelle kombiniert und zu der Kompatibilitätsinformation CS(BU1) verarbeitet. Die Kompatibilitätsinformation CS(BU1) wird dann in das zugreifende Programmteil BU1 integriert.In a third step, the symbol information SI1 (BU1) is combined with the attributes of the interface and processed to the compatibility information CS (BU1). The compatibility information CS (BU1) is then integrated into the accessing program part BU1.

In einem vierten Schritt wird die Symbolinformation SI2(BU2) ebenfalls mit den für die Schnittstelle ausgewählten Attributen unter Verwendung des vorgegebenen Algorithmus kombiniert, wodurch die Kompatibilitätsinformation CS(BU2) erhalten wird. Diese wird in dem ausgewählten Programmteil BU2 hinterlegt, d. h. in dieses eingebracht.In a fourth step, the symbol information SI2 (BU2) is also combined with the attributes selected for the interface using the predetermined algorithm, whereby the compatibility information CS (BU2) is obtained. This is stored in the selected program part BU2, d. H. introduced into this.

Die Schritte 3 und 4 können wahlweise auch in vertauschter Reihenfolge ausgeführt werden.The steps 3 and 4 can optionally also be carried out in a reversed order.

In einem fünften Schritt umfassen beide Programmteile BU1, BU2 aktualisierte Kompatibilitätsinformationen. Eine Kompatibilitätsprüfung kann vor einem Zugriff des zugreifenden Programmteils BU1 auf das Datenobjekt D1 oder D2 durch einen Vergleich der aus dem ausgewählten Programmteil ausgelesenen Kompatibilitätsinformation CS(BU2) mit der in dem zugreifenden Programmteil BU1 gespeicherten Kompatibilitätsinformation CS(BU1) vorgenommen werden.In a fifth step, both program parts BU1, BU2 comprise updated compatibility information. A compatibility check can be made before accessing the accessing program part BU1 to the data object D1 or D2 by comparing the compatibility information CS (BU2) read from the selected program part with the compatibility information CS (BU1) stored in the accessing program part BU1.

Die oben beschriebenen Schritte 3 und 4 können automatisiert, beispielsweise unter Verwendung eines Skriptes, durchgeführt werden.The above-described steps 3 and 4 may be performed automatically, for example, using a script.

3 zeigt ein Ausführungsbeispiel, in dem ein Zugriff auf eines der darin enthaltenen Datenobjekte D1, D2, D3, D4, ..., Dn enthaltenen Datenobjekte von einem externen Rechner ET heraus erfolgen soll. Während die Kompatibilitätsinformation des ausgewählten Programmteils BU2 als CS(BU2) bezeichnet ist, ist diese in dem externen Rechner mit CSref gekennzeichnet. Entsprechend dem in 2 gezeigten Ausführungsbeispiel ist dem ausgewählten Programmteil BU2 die Symbolinformation SI2(BU2) zugeordnet. Eine dem externen Rechner ET zugeordnete Symbolinformation SI(ET) umfasst eine spezifische Information eines zugreifenden Programmteils, z. B. BU1, welche aus einer Beschreibungsdatei, z. B. ASAM A2L, erhalten wird. ASAM A2L ist im automobilen Umfeld eine Steuergerätbeschreibungsdatei, welche die Lage, die Größe, den Datentyp sowie Informationen über die Interpretation von Daten (allgemein weiterführende Informationen über ein Datenobjekt) umfasst. 3 1 shows an exemplary embodiment in which an access to one of the data objects D1, D2, D3, D4,..., Dn contained therein is to take place from an external computer ET. While the compatibility information of the selected program part BU2 is referred to as CS (BU2), it is marked CSref in the external computer. According to the in 2 In the embodiment shown, the symbol information SI2 (BU2) is assigned to the selected program part BU2. A symbol information SI (ET) assigned to the external computer ET comprises specific information of an accessing program part, e.g. B. BU1, which consists of a description file, for. ASAM A2L. ASAM A2L is in the automotive environment a ECU description file, which includes the location, the size, the data type and information about the interpretation of data (generally further information about a data object).

In einem ersten Schritt wird die Schnittstelle zwischen dem ausgewählten Programmteil BU2 und dem externen Rechner ET unter Auswahl relevanter Strukturinformationen der Schnittstelle definiert. Dies könnten im gezeigten Ausführungsbeispiel beispielsweise die Größe und der Speicherort der Datenobjekte D1 bis Dn in dem Speicher des ausgewählten Programmteils BU2 sein. In einem zweiten Schritt wird das Programmteil BU2 durch Kompilieren erstellt, wobei durch den Linker/Locator gleichzeitig die Symbolinformation SI2(B2) erzeugt wird. In einem dritten Schritt werden die Symbolinformationen SI2(BU2) mit den Strukturinformationen der Schnittstelle und dem vorgegebenen Algorithmus zu der Kompatibilitätsinformation CS(BU2) verarbeitet. Die Kompatibilitätsinformation CS(BU2) wird in dem ausgewählten Programmteil BU2 gespeichert.In a first step, the interface between the selected program part BU2 and the external computer ET is defined by selecting relevant structural information of the interface. In the embodiment shown this could be, for example, the size and the storage location of the data objects D1 to Dn in the memory of the selected program part BU2. In a second step, the program part BU2 is created by compiling, whereby the symbol information SI2 (B2) is generated by the linker / locator at the same time. In a third step, the symbol information SI2 (BU2) with the structure information of the interface and the predetermined algorithm are processed to the compatibility information CS (BU2). The compatibility information CS (BU2) is stored in the selected program part BU2.

Während der Erzeugung des Programmteils BU2 werden ebenfalls spezifische Symbolinformationen für den externen Rechner erzeugt. Diese Symbolinformation ist beispielsweise eine ASAM A2L-Beschreibungsdatei. Wenn der externe Rechner diese Beschreibungsdatei lädt, kann der Rechner einen Referenz-Kompatibilitätsstring ermitteln, wobei hierzu der gleiche vorgegebene Algorithmus verwendet wird, wie zur Erzeugung von CS(BU2).During the generation of the program part BU2, specific symbol information for the external computer is also generated. This symbol information is, for example, an ASAM A2L description file. When the external computer loads this description file, the computer can determine a reference compatibility string using the same predetermined algorithm as that used to generate CS (BU2).

Der externe Rechner kann für eine Kompatibilitätsprüfung nun CS(BU2) bei einem Zugriff auf das Programmteil BU2 auslesen und einen Vergleich gegenüber der Referenz-Kompatibilitätsinformation CSref vornehmen. Im Falle einer Übereinstimmung wird dem externen Rechner ein Zugriff auf das ausgewählte Programmteil BU2 ermöglicht. Im anderen Fall wird ein solcher Zugriff unterbunden, um ein unvorhergesehenes Verhalten aufgrund einer Inkompatibilität auszuschließen.For a compatibility check, the external computer can now read CS (BU2) when accessing the program part BU2 and make a comparison with the reference compatibility information CSref. In case of a match, the external computer is allowed access to the selected program part BU2. In the other case, such access is prevented in order to exclude unforeseen behavior due to incompatibility.

Der Vorteil des erfindungsgemäßen Vorgehens besteht darin, dass die Kompatibilitätsinformation auf Strukturinformationen der Schnittstelle des ausgewählten Programmteils erfolgt, für welches eine Kompatibilität sichergestellt werden soll.The advantage of the procedure according to the invention is that the compatibility information is provided on structural information of the interface of the selected program part for which compatibility is to be ensured.

Im Falle, dass die Strukturinformation, beispielsweise die Größe eines Schnittstellenelements, in einer vorgegebenen Weise in der Kompatibilitätsinformation codiert ist, ist es nicht nur möglich, zueinander unkompatible Schnittstellen ausfindig zu machen, sondern ebenfalls die Art der Inkompatibilität. Beispielsweise kann auf diese Weise ein falscher Speicherort eines Schnittstellenelements ausfindig gemacht werden. Dies erfordert, dass ein Teil der Kompatibilitätsinformation zumindest die Größe der Schnittstellenelemente sowie deren Speicherorte, codiert hat.In the case that the structure information, for example, the size of an interface element, is encoded in a predetermined manner in the compatibility information, it is not only possible to locate interfaces incompatible with each other, but also the kind of incompatibility. For example, an incorrect location of an interface element can be found in this way. This requires that some of the compatibility information has encoded at least the size of the interface elements as well as their storage locations.

Die Kompatibilitätsinformation ändert sich nur im Falle einer tatsächlichen Änderung der Schnittstelle.The compatibility information changes only in case of an actual change of the interface.

Weiter kann die Anzahl unkompatibler Programmteile zueinander reduziert werden. Schließlich ist das Vorgehen ausfallsicher, da das Verfahren im Rahmen der Erzeugung der Programmteile automatisiert durchgeführt werden kann, ohne dass hierzu manuelle Eingriffe nötig wären.Furthermore, the number of incompatible program parts can be reduced to one another. Finally, the procedure is fail-safe, since the method can be carried out automatically within the framework of the generation of the program parts, without the need for manual intervention.

Claims (9)

Verfahren zur Durchführung einer Kompatibilitätsprüfung beim Zugriff auf ein ausgewähltes Programmteil (BU2) eines aus einer Anzahl an Programmteilen (BU1, BU2) bestehenden Programms, bei dem eine Kompatibilitätsinformation (CS(BU2)) des ausgewählten Programmteils (BU2) überprüft wird, wobei der Zugriff über eine Schnittstelle des ausgewählten Programms (BU2) erfolgt, dadurch gekennzeichnet, dass die Kompatibilitätsinformation (CS(BU2)) automatisiert aus die Schnittstelle beschreibenden Strukturinformationen ermittelt wird.Method for performing a compatibility check when accessing a selected one Program part (BU2) of a program consisting of a number of program parts (BU1, BU2), in which compatibility information (CS (BU2)) of the selected program part (BU2) is checked, the access being made via an interface of the selected program (BU2) , characterized in that the compatibility information (CS (BU2)) is automatically determined from the structural information describing the interface. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Strukturinformation eine Eigenschaft der Schnittstelle repräsentiert.A method according to claim 1, characterized in that the structure information represents a property of the interface. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Kompatibilitätsinformation (CS(BU2)) des ausgewählten Programmteils (BU2) in dem ausgewählten Programmteil (BU2) gespeichert wird.Method according to Claim 1 or 2, characterized in that the compatibility information (CS (BU2)) of the selected program part (BU2) is stored in the selected program part (BU2). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine weitere, aus den Strukturinformationen ermittelte Kompatibilitätsinformation (CS(BU1) über die Schnittstelle des ausgewählten Programmteils (BU2) in einem zugreifenden Programmteil (BU1) oder einem externen Rechner (ET) gespeichert wird.Method according to one of the preceding claims, characterized in that a further, from the structure information determined compatibility information (CS (BU1) via the interface of the selected program part (BU2) in an accessing program part (BU1) or an external computer (ET) is stored. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Kompatibilitätsinformation (CS(BU2)) und/oder die weitere Kompatibilitätsinformation (CS(BU1)) beim Erstellen der Programmteile des Programms ermittelt werden.Method according to one of the preceding claims, characterized in that the compatibility information (CS (BU2)) and / or the further compatibility information (CS (BU1)) are determined when the program parts of the program are created. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die Kompatibilitätsinformation (CS(3U2)) und/oder die weitere Kompatibilitätsinformation (CS(BU1)) während oder nach dem Kompilieren in dem betreffenden Programmteil (BU2, BU1) gespeichert werden.Method according to Claim 5, characterized in that the compatibility information (CS (3U2)) and / or the further compatibility information (CS (BU1)) are stored during or after the compilation in the relevant program part (BU2, BU1). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Kompatibilitätsinformation (CS(BU2)) und die weiterer Kompatibilitätsinformation (CS(BU1)) zur Durchführung einer Kompatibilitätsprüfung durch das zugreifende Programmteil oder den externen Rechner (ET) überprüft werden.Method according to one of the preceding claims, characterized in that the compatibility information (CS (BU2)) and the further compatibility information (CS (BU1)) for performing a compatibility check by the accessing program part or the external computer (ET) are checked. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Kompatibilitätsinformation (CS(BU2)) des ausgewählten Programmteils (BU2) spezifisch für eine Schnittstelle zu einem zugreifenden Programmteil (BU1) erzeugt wird.Method according to one of the preceding claims, characterized in that the compatibility information (CS (BU2)) of the selected program part (BU2) is generated specifically for an interface to an accessing program part (BU1). Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Strukturinformation zumindest eine Information über die Größe und/oder den Speicherort eines Datenobjekts (D1, D2) oder einer Funktion, das oder die für die Ausführung des zugreifenden Programmteils (BU1) benötigt wird, im Speicher des ausgewählten Programmteils (BU2) umfasst.Method according to one of the preceding claims, characterized in that the structure information at least information about the size and / or the storage location of a data object (D1, D2) or a function that is required for the execution of the accessing program part (BU1), in the memory of the selected program part (BU2).
DE201110003836 2011-02-09 2011-02-09 Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program Withdrawn DE102011003836A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110003836 DE102011003836A1 (en) 2011-02-09 2011-02-09 Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110003836 DE102011003836A1 (en) 2011-02-09 2011-02-09 Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program

Publications (1)

Publication Number Publication Date
DE102011003836A1 true DE102011003836A1 (en) 2012-06-14

Family

ID=46144705

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110003836 Withdrawn DE102011003836A1 (en) 2011-02-09 2011-02-09 Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program

Country Status (1)

Country Link
DE (1) DE102011003836A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579509A (en) * 1991-02-08 1996-11-26 International Business Machines Corporation Apparatus and method for verifying compatibility of system components
US6971093B1 (en) * 2001-05-14 2005-11-29 Cisco Technology, Inc. Techniques for maintaining compatibility of a software core module and an interacting module

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579509A (en) * 1991-02-08 1996-11-26 International Business Machines Corporation Apparatus and method for verifying compatibility of system components
US6971093B1 (en) * 2001-05-14 2005-11-29 Cisco Technology, Inc. Techniques for maintaining compatibility of a software core module and an interacting module

Similar Documents

Publication Publication Date Title
DE102005026040B4 (en) Parameterization of a simulation working model
EP1723513B1 (en) Method for configuring a computer program
EP2009525B1 (en) Test device and method for testing at least one electronic control system
DE102010011658A1 (en) Application platform and method for operating a data processing device with such
EP2706421B1 (en) Method for the computer-controlled generation of at least a portion of an executable control program
WO2007006671A1 (en) Method and software system for the configuration of a modular system
EP3001313A1 (en) Methods for simulating an application program of an electronic control device on a computer
DE102017120016A1 (en) A method of configuring a test device set up to test an electronic controller and a configuration system
WO2005098617A1 (en) Method for preventing data inconsistency between accesses of different functions of an application to a global variable in a data processing installation
EP3285165A1 (en) Modification and simulation of the operating software of a technical system
EP3320431A1 (en) Computer-implemented method for processing data object variants
EP3232327B1 (en) Method for testing a control program of a control unit in a simulation environment on a computer
DE102007062395B4 (en) Method for parameterizing a field device of process automation technology
DE102010011652A1 (en) Application platform and method for operating a data processing device with such
DE102011006000B4 (en) Signature update by code transformation
DE102018206762A1 (en) Feature development framework and feature integration framework for implementing physical feature features in a target device
DE102019008598A1 (en) Identification and visualization of associations between code generated by a model and sources that influence code generation
DE102020119853B3 (en) Method for controlling an automation system with visualization of program objects of a control program of the automation system and automation system
DE102011003836A1 (en) Method for performing compatibility check during accessing selected program part, involves checking compatibility information of selected part of program, where access takes place by interface of selected program
EP1241570A2 (en) Automated version analysis of software components belonging to a software application
EP2329374A1 (en) Test module and method for testing an o/r imaging middleware
EP1997007A2 (en) Method and management system for configuring an information system
DE102004012315A1 (en) Automatic interfacing of platform independent computer software into program code for a platform dependent functions
EP4055473B1 (en) Method for updating a control program of an automation system with data migration for a program state of the control program
EP2977894B1 (en) Creating an FPGA code with automatically inserted influencing structure

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R120 Application withdrawn or ip right abandoned
R120 Application withdrawn or ip right abandoned

Effective date: 20120615