WO2008009629A2 - Method for producing a consistent state of a program component quantity of a computer program - Google Patents

Method for producing a consistent state of a program component quantity of a computer program Download PDF

Info

Publication number
WO2008009629A2
WO2008009629A2 PCT/EP2007/057227 EP2007057227W WO2008009629A2 WO 2008009629 A2 WO2008009629 A2 WO 2008009629A2 EP 2007057227 W EP2007057227 W EP 2007057227W WO 2008009629 A2 WO2008009629 A2 WO 2008009629A2
Authority
WO
WIPO (PCT)
Prior art keywords
new
source code
model information
structure description
output
Prior art date
Application number
PCT/EP2007/057227
Other languages
German (de)
French (fr)
Other versions
WO2008009629A3 (en
Inventor
Christian Schaefer
Sadi Yigit
Ulf Dreyer
Original Assignee
Robert Bosch 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 Robert Bosch Gmbh filed Critical Robert Bosch Gmbh
Publication of WO2008009629A2 publication Critical patent/WO2008009629A2/en
Publication of WO2008009629A3 publication Critical patent/WO2008009629A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Definitions

  • the invention relates generally to the field of automatically generating source code of computer programs.
  • the invention relates to a method for establishing a consistent state of a program component set of a computer program.
  • DE 10 2004 043 788 A1 relates to a device for creating executable programs.
  • the device includes a user interface for inputting a model underlying a program and a generator for generating individual program code from the model.
  • DE 198 37 871 C2 relates to a method for automatically generating a status-based program for a component of a system consisting of a plurality of components communicating with one another.
  • the specification of the system serves as an input to a computer which produces as output a state-based program for each of the components.
  • the generator or the computer which automatically generates the program code or the program, to operate according to a predefined structure description, ie the manner in which the model or the specification of the program code is firmly implemented in the generator.
  • program components are stored here only the model information and the code.
  • Matlab-Simulink software in which code data is generated from domain data and no combined processing of these two representations takes place.
  • it is also known to conserve changes made directly at precisely specified locations in the source code and to reinstate them to the specified location in the event of a new automatic program generation.
  • An essential point of the invention is that in addition to the model information and the source code and the structure description is stored and / or processed, according to which the source code can be generated automatically from the model information.
  • the model information, the structure description and the source code are processed and / or stored together.
  • An essential point of the inventive method is that using model information and structure description manual changes to the program, which are performed by a user / programmer, recognized, classified and returned to model and structure description.
  • a program component quantity according to the invention consists of or comprises the source code as well as a set of components to be stored which are required for the automatic generation of the source code. That is, the program component set contains at least the model information, the structure description, and the source code.
  • the method according to the invention provides a methodology for the detection and classification of changes in the automatic creation of programs.
  • the source code and the model information can be better correlated. This allows, for example, consistent changes to the models.
  • the enrichment of the model information and structure description can not be done only by dedicated tools.
  • the user / programmer can enrich the model levels by normal programming (source code manipulation).
  • changes that are not (yet) provided by the model are not lost in a new generation step and are always inserted in the correct place.
  • FIG. 1 schematically shows changes of state of a program component quantity when carrying out an embodiment of a method according to the invention
  • FIG. 2 shows an embodiment of a program component quantity according to FIG. 1
  • FIG. 3 shows a further embodiment of a program component quantity according to the invention.
  • a program component quantity 2 according to the invention of a computer program contains model information 4 of the model underlying the computer program.
  • the model information 4 may be, for example, domain data.
  • a domain refers here to a specific field of application, for. B. a programmable logic controller (PLC).
  • Domain data is variable data that can be used to define a project in combination with knowledge of the domain.
  • a computer program may be, for example, a programmable logic controller (PLC) program, a user interface (HMI) or drive software (NC), or any other computer program.
  • PLC programmable logic controller
  • HMI user interface
  • NC drive software
  • the program component quantity 2 also contains a source code 6 which can be generated automatically from the model information 4 in accordance with a structure description 8.
  • the source code 6 is directly executable.
  • the source code 6 can be compiled into an executable program.
  • Source code 6 to be interpreted by an interpreter.
  • the program component quantity 2 also contains the structural description 8 according to which the source code 6 can be automatically generated from the model information 4. That is, the structure description 8 indicates how to generate the source code 6 from the model information 4. In this sense, the structure description 8 is linked to the model information 4. According to the invention, the structure description 8 as well as the model information 4 may be changeable; In particular, the structural description 8 may contain variable data.
  • the structural description 8 can be constructed in the simplest case similar to a void text, wherein the gaps are filled with the model information 4. Furthermore, the For example, structure description 8 specify with which methods the model information 4 is processed.
  • the three components 'model information 4', 'structure description 8' and 'source code 6' preferably represent equivalent components of the program component set 2 which together represent the computer program concerned.
  • the three components are preferably stored together or processed together.
  • the three components 'model information 4', 'structure description 8' and 'source code 6' of the program component set 2 are preferably designed such that the third component can be derived from in each case two of the components.
  • the method according to the invention relates to establishing a consistent state of the program component quantity 2 of a computer program during manual changes in the source code 6.
  • FIG. 1 shows the chronological sequence of the states of the program component quantity 2 when carrying out an embodiment of the method according to the invention.
  • the starting point for the method according to the invention forms a consistent starting point.
  • Program component set 2-1 including output model information 4-1, an output structure description 8-1 and an output source code 6-1 as indicated by 'A' in FIG. Since the output program component quantity 2-1 is in a consistent state, the output source code 6-1 is producible from the output model information 4-1 according to the output structure description 8-1.
  • the arrows 9 in Figure 1 indicate the direction of the sequence of states.
  • the method according to the invention comprises the following steps:
  • the thus created (new) program component set 2-4 with the new model information 4-2, the new structure description 8-2 and the new source code 6-2 is again in a consistent state. That is, subsequent changes in the new model information 4-2 automatically take into account the previous changes in the source source code 6-1. It is very advantageous here that after the consistent state of the program component quantity 2 has been established, no source code parts have to be taken into account if changes in the model, ie. H. be made in the model information 4.
  • the comparison of the new source code 6-2 with at least part of the output program component set 2-1 is a comparison of the new source code 6-2 with the output model information 4-1 and the output structure description 8-1.
  • a first tree structure can be constructed from the new source code 6-2, this first tree structure being based on a
  • Model information 4-1 and the output structure description 8-1 corresponding second tree structure is displayed.
  • the construction of the first tree structure from the new source code 6-2 can be done with the usual compiler techniques.
  • the generation of the new structure description 8-2 and the new model information 4-2 is performed automatically using the output model information 4-1, the output structure description 8-1, and the new source code 6-2.
  • the new source code 6-2 can not be unequivocally attributed to the new model information 4-2 and the new structure description 8-2, it is provided that a user query takes place, and thus the generation of the new structure description 8-2 and the new model information 4-2 is performed using the output model information 4-1, the output structure description 8-1, the new source code 6-2, and a user interaction.
  • the generation of the new structure description 8-2 and the new model information A-1 can be done in two steps:
  • This is illustrated in FIG. 1 as an example in the state 'C'.
  • the comparison is made here by comparing the output model information 4-1 and the output structure description 8-1 with the new source code 6-2, d. H.
  • the at least part of the components of the output program component set 2-1 in the illustrated embodiment consists of the output model information 4-1 and the output structure description 8-1.
  • only the new source code 6-2 for determining the new structure description 8-2 is used on new components (arrow 13).
  • This is shown in Figure 1 in the state 'D'.
  • the second part of the output program component set 2-1 consists of the output model information 4-1.
  • the embodiment shown in Figure 1 is on new
  • the inventive method again leads to a consistent state of the new program component set 2-4, which includes the new model information 4-2, the new structure description 8-2 and the new source code 6-2.
  • the timing according to the illustrated embodiment of the method is 'A'->'B'-> 'C ->' D '.
  • the new program component quantity 2-4 can itself be output program component quantity for a renewed execution of the method according to the invention, which is symbolized in FIG. 1 by the arrow 11 between state 'D' and state 'A'.
  • the new program component set 2-4 may be the starting point for a change in the new model information 4-2 and / or in the structural description 8-2, with the changes previously made in the source code 6-1 (leading to the new source code 6-2 ), since these changes in the source code were raised according to the invention to the model level 4 and the structural level 8.
  • the new source code 6-2 can be automatically generated from the new model information 4-2 according to the new structure description 8-2.
  • the model information 4, the structure description 8 and the source code 6 can be stored in a single file.
  • model information 4 the structural description 8 and the source code 6 can be stored in different sub-trees 10 of a single XML file 12, as shown in FIG.
  • model information 4, the structure description 8 and the source code 6 may each be stored in a separate file 14, as shown in FIG.
  • the file 12 or the files 14 may be stored in a conventional manner on a storage medium 16, for example a contiguous storage medium such as a CD ( Figure 2) or on a distributed storage medium such as a network ( Figure 3).
  • a storage medium 16 having at least one program component set 2 stored thereon.
  • the illustration in the drawings is merely exemplary here. Any other types of storage on storage media are possible.
  • a method of storing a program component set 2 according to the invention may include the step of storing the texture description 8, and may further include the step of storing the model information and / or including the step of storing the source code.
  • the processing of a program component quantity 2 according to the invention can be carried out according to a method which comprises the step of recording the structure description 8 as a variable input quantity.
  • the program may further comprise the inclusion of at least one other of the remaining components of the program component set 2, in particular 'model information 4' and 'source code 6'.
  • a method for processing a program component quantity 2 of a computer program according to the invention can, for example, be a method for automatically generating a source code of the computer program, the method in this case comprising the following steps:
  • model information 4 of the model underlying the computer program as a variable input variable
  • 'Recording' in this sense can be for example a 'reading in from a storage medium'.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The invention relates to a method for producing a consistent state of a program component quantity (2, 2-1, 2-2, 2-3, 2-4) of a computer program, said method using a program component quantity (2, 2-1, 2-2, 2-3, 2-4) containing information (4, 4-1, 4-2) about the model forming the basis of the computer program, a source code (6, 6-1, 6-2), and a structure description (8, 8-1, 8-2). In a consistent state of the program component quantity (2, 2-1, 2-4), the source code (6, 6-1, 6-2) can be automatically generated from the model information (4, 4-1, 4-2) according to the structure description (8, 8-1, 8-2). Said method contains the following steps: a new source code (6-2) which contains variations in relation to an initial output source code (6-1) of a consistent initial program component quantity (2-1) is provided; at least some of the components (4-1, 8-1) of the initial program component quantity (2-1) are compared with the new source code (6-2); and a new structure description (8-2) and new model information (4-2) are produced on the basis of the comparison such that the new source code (6-2) can be automatically generated from the new model information (4-2) according to the new structure description (8-2).

Description

Beschreibung description
Titeltitle
Verfahren zum Herstellen eines konsistenten Zustande einer Programmkomponentenmenge eines ComputerprogrammsA method for establishing a consistent state of a program component set of a computer program
Die Erfindung betrifft allgemein das Gebiet des automatischen Erzeugens von Quellcodes von Computerprogrammen. Die Erfindung betrifft insbesondere ein Verfahren zum Herstellen eines konsistenten Zustands einer Programmkomponentenmenge eines Computerprogramms.The invention relates generally to the field of automatically generating source code of computer programs. In particular, the invention relates to a method for establishing a consistent state of a program component set of a computer program.
Stand der TechnikState of the art
Die DE 10 2004 043 788 Al betrifft eine Vorrichtung zum Erstellen ausführbarer Programme. Die Vorrichtung enthält eine Benutzeroberfläche zur Eingabe eines einem Pro- gramm zugrunde liegenden Modells und einen Generator zur Erzeugung von individuellem Programmcode aus dem Modell.DE 10 2004 043 788 A1 relates to a device for creating executable programs. The device includes a user interface for inputting a model underlying a program and a generator for generating individual program code from the model.
Die DE 198 37 871 C2 betrifft ein Verfahren zum automatischen Erzeugen eines zu- standsbasierten Programms für eine Komponente eines aus mehreren miteinander kom- munizierenden Komponenten bestehenden Systems. Die Spezifikation des Systems dient als Eingabe für einen Rechner, der als Ausgabe jeweils ein zustandsbasiertes Programm für jede der Komponenten erzeugt.DE 198 37 871 C2 relates to a method for automatically generating a status-based program for a component of a system consisting of a plurality of components communicating with one another. The specification of the system serves as an input to a computer which produces as output a state-based program for each of the components.
Gemäß dem Stand der Technik ist es üblich, dass der Generator bzw. der Rechner, der den Programmcode bzw. das Programm automatisch erzeugt, nach einer fest vorgegebenen Strukturbeschreibung arbeitet, d. h. die Art und Weise, wie aus dem Modell bzw. der Spezifikation der Programmcode erzeugt wird, ist in dem Generator fest implementiert. Als Programmkomponenten gespeichert werden hier lediglich die Modellinformationen und der Code. Ein weiteres Beispiel ist die Software Matlab-Simulink, bei welcher aus Domänendaten Code generiert wird und keine kombinierte Verarbeitung dieser beiden Darstellungen stattfindet. Aus der Praxis ist es ferner bekannt, Änderungen, die direkt an genau spezifizierten Stellen im Quellcode gemacht wurde, zu konservieren und bei einer erneuten automatischen Programmerzeugung wieder an die spezifizierte Stelle einzusetzen.According to the prior art, it is customary for the generator or the computer, which automatically generates the program code or the program, to operate according to a predefined structure description, ie the manner in which the model or the specification of the program code is firmly implemented in the generator. As program components are stored here only the model information and the code. Another example is the Matlab-Simulink software, in which code data is generated from domain data and no combined processing of these two representations takes place. In practice, it is also known to conserve changes made directly at precisely specified locations in the source code and to reinstate them to the specified location in the event of a new automatic program generation.
Neben Verfahren zur Vorwärtsgenerierung von Programmcode sind auch Refactoring- Werkzeuge (Refactoring = Umstrukturierung des Programmcodes), wie sie die Eclipse Entwicklungsumgebung (www.eclipse.org) bietet, bekannt, die allerdings nur den Programmcode verwenden, um syntaktische Veränderungen darin vorzunehmen.In addition to code generation forward programming, refactoring tools, such as the Eclipse development environment (www.eclipse.org), are known, but they use only the code to make syntactic changes.
Offenbarung der ErfindungDisclosure of the invention
Es ist Aufgabe der vorliegenden Erfindung, sicherzustellen, dass beliebige Änderungen, die direkt in einem aus Modellinformationen und einer Strukturbeschreibung automatisch erzeugten Quellcode durchgeführt wurden, auch bei einer nachfolgenden Änderung der Modellin- formationen und der daran anschließenden erneuten automatischen Erzeugung des Quellcodes bewahrt werden.It is an object of the present invention to ensure that any changes that have been made directly in a source code automatically generated from model information and a structure description are also preserved in a subsequent change of the model information and the subsequent automatic generation of the source code.
Diese Aufgabe wird durch ein Verfahren nach Anspruch 1 gelöst.This object is achieved by a method according to claim 1.
Ein wesentlicher Punkt der Erfindung besteht dabei darin, dass neben den Modellinformationen und dem Quellcode auch die Strukturbeschreibung gespeichert und/oder verarbeitet wird, gemäß welcher sich der Quellcode aus den Modellinformationen automatisch erzeugen lässt. In diesem Sinne werden die Modellinformationen, die Strukturbeschreibung und der Quellcode gemeinsam verarbeitet und/oder gespeichert.An essential point of the invention is that in addition to the model information and the source code and the structure description is stored and / or processed, according to which the source code can be generated automatically from the model information. In this sense, the model information, the structure description and the source code are processed and / or stored together.
Ein wesentlicher Punkt des erfindungsgemäßen Verfahrens ist, dass unter Verwendung von Modellinformationen und Strukturbeschreibung händische Veränderungen am Programm, die durch einen Anwender/Programmierer durchgeführt werden, erkannt, klassifiziert und in Modell und Strukturbeschreibung zurückgeführt.An essential point of the inventive method is that using model information and structure description manual changes to the program, which are performed by a user / programmer, recognized, classified and returned to model and structure description.
Eine Programmkomponentenmenge im Sinne der Erfindung besteht aus oder umfasst den Quellcode sowie eine Menge von zu speichernden Komponenten, die für die automatische Erzeugung des Quellcodes erforderlich sind. Das heißt, die Programmkomponentenmenge enthält mindestens die Modellinformationen, die Strukturbeschreibung und den Quellcode.A program component quantity according to the invention consists of or comprises the source code as well as a set of components to be stored which are required for the automatic generation of the source code. That is, the program component set contains at least the model information, the structure description, and the source code.
Durch die Integration der Strukturbeschreibung in die Programmkomponentenmenge ist es möglich, unter Verwendung von Modellinformationen und der Strukturbeschreibung Änderungen in dem Quellcode zu erkennen, zu klassifizieren und in die Modellinformatio- nen und die Strukturbeschreibung zurückzuführen. Insbesondere stellt das erfindungsge- mäße Verfahren eine Methodik zur Detektion und Klassifikation von Änderungen bei der automatischen Erstellung von Programmen zur Verfügung.By integrating the structure description into the program component set, it is possible to use model information and the structure description To recognize changes in the source code, to classify them and to return them to the model information and the structure description. In particular, the method according to the invention provides a methodology for the detection and classification of changes in the automatic creation of programs.
Vorteilhafte Weiterbildungen des erfindungsgemäßen Verfahrens sind in den Unteransprüchen 2 bis 7 angegeben.Advantageous developments of the method according to the invention are specified in the subclaims 2 to 7.
Durch die zusätzliche Speicherung und Verwendung der Strukturbeschreibung können der Quellcode und die Modellinformationen, beispielsweise Domänendaten, besser zueinander in Beziehung gesetzt werden. Dies ermöglicht beispielsweise konsistente Veränderungen an den Modellen.By additionally storing and using the structure description, the source code and the model information, such as domain data, can be better correlated. This allows, for example, consistent changes to the models.
Durch die Rückführung von Änderungen am Quellcode in die Modellinformationen und die Strukturbeschreibung wird sichergestellt, dass die am Quellcode durchgeführten Änderungen, auch bei einer nachfolgenden Änderung der Modellinformationen und der daran anschließenden erneuten automatischen Erzeugung des Quellcodes bewahrt werden.By returning source code changes to the model information and the structural description, it is ensured that the changes made to the source code are preserved, even if the model information is subsequently changed and the source code is automatically regenerated.
Im Gegensatz zu bekannten Techniken kann die Anreicherung der Modellinformationen und Strukturbeschreibung nicht nur durch eigene dezidierte Werkzeuge erfolgen. Der Anwender/Programmierer kann die Modellebenen durch normales Programmieren (Quellcodemanipulation) anreichern. Außerdem gehen auch Veränderungen, die das Modell (noch) nicht vorsieht, bei einem erneuten Generierungsschritt nicht verloren und werden immer an der korrekten Stelle eingefügt.In contrast to known techniques, the enrichment of the model information and structure description can not be done only by dedicated tools. The user / programmer can enrich the model levels by normal programming (source code manipulation). In addition, changes that are not (yet) provided by the model are not lost in a new generation step and are always inserted in the correct place.
Die vorstehenden Ausführungen und Definitionen gelten auch für die nachfolgende Beschreibung der Zeichnungen und umgekehrt.The above statements and definitions also apply to the following description of the drawings and vice versa.
Kurze Beschreibung der ZeichnungenBrief description of the drawings
Die Erfindung wird im folgenden anhand eines Ausführungsbeispiels näher erläutert. Es zeigt:The invention will be explained in more detail below with reference to an embodiment. It shows:
Figur 1 schematisch Zustandsänderungen einer Programmkomponentenmenge bei der Durchführung einer Ausführungsform eines Verfahrens nach der Erfindung; Figur 2 eine Ausführungsform einer Programmkomponentenmenge gemäß derFIG. 1 schematically shows changes of state of a program component quantity when carrying out an embodiment of a method according to the invention; FIG. 2 shows an embodiment of a program component quantity according to FIG
Erfindung, undInvention, and
Figur 3 eine weitere Ausführungsform einer Programmkomponentenmenge gemäß der Erfindung.FIG. 3 shows a further embodiment of a program component quantity according to the invention.
Ausführungsformen der ErfindungEmbodiments of the invention
Eine erfindungsgemäße Programmkomponentenmenge 2 eines Computerprogramms enthält Modellinformationen 4 des dem Computerprogramm zugrunde liegenden Modells.A program component quantity 2 according to the invention of a computer program contains model information 4 of the model underlying the computer program.
Die Modellinformationen 4 können beispielsweise Domänendaten sein. Eine Domäne bezeichnet hier ein konkretes Anwendungsgebiet, z. B. eine speicherprogrammierbare Steuerung (SPS). Domänendaten sind dabei variable Daten, über die sich in Verbindung mit der Kenntnis der Domäne ein Projekt besonders einfach definieren lässt.The model information 4 may be, for example, domain data. A domain refers here to a specific field of application, for. B. a programmable logic controller (PLC). Domain data is variable data that can be used to define a project in combination with knowledge of the domain.
Ein Computerprogramm kann beispielsweise ein Programm für eine speicherprogrammierbare Steuerung (SPS), eine Bedienoberfläche (HMI) oder eine Software für Antriebe (NC), oder ein beliebiges anderes Computerprogramm sein.A computer program may be, for example, a programmable logic controller (PLC) program, a user interface (HMI) or drive software (NC), or any other computer program.
Die Programmkomponentenmenge 2 enthält ferner einen Quellcode 6, welcher gemäß einer Strukturbeschreibung 8 aus den Modellinformationen 4 automatisch erzeugbar ist. Gemäß einer Ausführungsform der Erfindung ist der Quellcode 6 direkt ausführbar. Gemäß einer weiteren Ausführungsform kann der Quellcode 6 in ein ausführbares Pro- gramm kompilierbar sein. Gemäß einer nochmals weiteren Ausführungsform kann derThe program component quantity 2 also contains a source code 6 which can be generated automatically from the model information 4 in accordance with a structure description 8. According to one embodiment of the invention, the source code 6 is directly executable. According to a further embodiment, the source code 6 can be compiled into an executable program. According to yet another embodiment, the
Quellcode 6 von einem Interpreter interpretierbar sein.Source code 6 to be interpreted by an interpreter.
Erfindungsgemäß enthält die Programmkomponentenmenge 2 ferner die Strukturbeschreibung 8 gemäß welcher der Quellcode 6 aus den Modellinformationen 4 automatisch erzeugbar ist. Das heißt, die Strukturbeschreibung 8 gibt an, wie aus den Modellinformationen 4 der Quellcode 6 zu erzeugen ist. In diesem Sinne ist die Strukturbeschreibung 8 mit den Modellinformationen 4 verknüpft. Gemäß der Erfindung kann die Strukturbeschreibung 8 ebenso wie die Modellinformationen 4 veränderbar sein; insbesondere kann die Strukturbeschreibung 8 variable Daten enthalten.According to the invention, the program component quantity 2 also contains the structural description 8 according to which the source code 6 can be automatically generated from the model information 4. That is, the structure description 8 indicates how to generate the source code 6 from the model information 4. In this sense, the structure description 8 is linked to the model information 4. According to the invention, the structure description 8 as well as the model information 4 may be changeable; In particular, the structural description 8 may contain variable data.
Die Strukturbeschreibung 8 kann im einfachsten Fall ähnlich einem Lückentext aufgebaut sein, wobei die Lücken mit den Modellinformationen 4 gefüllt werden. Ferner kann die Strukturbeschreibung 8 beispielsweise angeben, mit welchen Methoden die Modellinformationen 4 verarbeitet werden.The structural description 8 can be constructed in the simplest case similar to a void text, wherein the gaps are filled with the model information 4. Furthermore, the For example, structure description 8 specify with which methods the model information 4 is processed.
Während beim Stand der Technik die Modellinformationen 4 starren Vorgaben des ver- wendeten Code-Generators entsprechen müssen, stellen gemäß der Erfindung die drei Komponenten 'Modellinformationen 4', 'Strukturbeschreibung 8' und 'Quellcode 6' vorzugsweise gleichwertige Komponenten der Programmkomponentenmenge 2 dar, die gemeinsam das betreffende Computerprogramm repräsentieren. Insbesondere werden die drei Komponenten vorzugsweise gemeinsam gespeichert bzw. gemeinsam verarbeitet.While in the prior art the model information 4 must comply with rigid specifications of the used code generator, according to the invention the three components 'model information 4', 'structure description 8' and 'source code 6' preferably represent equivalent components of the program component set 2 which together represent the computer program concerned. In particular, the three components are preferably stored together or processed together.
Die drei Komponenten 'Modellinformationen 4', 'Strukturbeschreibung 8' und 'Quellcode 6' der Programmkomponentenmenge 2 sind vorzugsweise so ausgebildet, dass aus jeweils zwei der Komponenten die dritte Komponente ableitbar ist.The three components 'model information 4', 'structure description 8' and 'source code 6' of the program component set 2 are preferably designed such that the third component can be derived from in each case two of the components.
Das erfindungsgemäße Verfahren betrifft das Herstellen eines konsistenten Zustands der Programmkomponentenmenge 2 eines Computerprogramms bei manuellen Änderungen im Quellcode 6.The method according to the invention relates to establishing a consistent state of the program component quantity 2 of a computer program during manual changes in the source code 6.
Beim Stand der Technik gehen manuelle Änderungen im Quellcode 6 verloren, da diese nicht in die Modellinformationen 4 zurückgeführt werden.In the prior art, manual changes in the source code 6 are lost because they are not returned to the model information 4.
Die Figur 1 zeigt die zeitliche Abfolge der Zustände der Programmkomponentenmenge 2 bei der Durchführung einer Ausführungsform des erfindungsgemäßen Verfahrens.FIG. 1 shows the chronological sequence of the states of the program component quantity 2 when carrying out an embodiment of the method according to the invention.
Ausgangspunkt für das erfindungsgemäße Verfahren bildet eine konsistente Ausgangs-The starting point for the method according to the invention forms a consistent starting point.
Programmkomponentenmenge 2-1 enthaltend Ausgangs-Modellinformationen 4-1, eine Ausgangs-Strukturbeschreibung 8-1 und einen Ausgangs-Quellcode 6-1, wie sie in Figur 1 mit 'A' bezeichnet ist. Da die Ausgangs-Programmkomponentenmenge 2-1 sich in einem konsistenten Zustand befindet, ist der Ausgangs-Quellcode 6-1 ist aus den Aus- gangs-Modellinformationen 4-1 gemäß der Ausgangs-Strukturbeschreibung 8-1 erzeugbar. Die Pfeile 9 in Figur 1 geben die Richtung der Abfolge der Zustände an.Program component set 2-1 including output model information 4-1, an output structure description 8-1 and an output source code 6-1 as indicated by 'A' in FIG. Since the output program component quantity 2-1 is in a consistent state, the output source code 6-1 is producible from the output model information 4-1 according to the output structure description 8-1. The arrows 9 in Figure 1 indicate the direction of the sequence of states.
Werden nun Änderungen in dem Ausgangs-Quellcode 6-1 durchgeführt und somit eine neuer Quellcode 6-2 erzeugt, so befindet sich die resultierende Ausgangs- Programmkomponentenmenge 2-2 in einem inkonsistenten Zustand, d. h. der neue Quellcode 6 lässt sich nicht aus den Ausgangs-Modellinformationen 6-1 und der Ausgangs- Strukturbeschreibung 8-1 erzeugen. Dieser Zustand ist in Figur 1 mit 'B' bezeichnet. Um die Programmkomponentenmenge 2-2 wieder in einen konsistenten Zustand zu überführen enthält das erfindungsgemäße Verfahren die folgenden Schritte:If changes are now made in the output source code 6-1 and thus a new source code 6-2 is generated, then the resulting output program component quantity 2-2 is in an inconsistent state, ie the new source code 6 can not be derived from the source code. Model information 6-1 and the output structure description 8-1 generate. This condition is indicated in Figure 1 with 'B'. In order to restore the program component quantity 2-2 to a consistent state, the method according to the invention comprises the following steps:
Vergleichen von mindestens einem Teil der Ausgangs-Programmkomponentenmenge 2-1 mit dem neuen Quellcode 6;Comparing at least part of the output program component set 2-1 with the new source code 6;
und Erzeugen einer neuen Strukturbeschreibung 8-2 und neuen Modellinformationen 4-2 auf Grundlage des Vergleichs von mindestens einem Teil der Ausgangs- Programmkomponentenmenge 2-1 mit dem neuen Quellcode 6-2, wobei der neue Quellcode 6-2 aus den neuen Modellinformationen 4-2 gemäß der neuen Strukturbeschreibung 8-2 automatisch erzeugbar ist.and generating a new structure description 8-2 and new model information 4-2 based on the comparison of at least a portion of the source program component set 2-1 with the new source code 6-2, the new source code 6-2 being extracted from the new model information. 2 according to the new structure description 8-2 is automatically generated.
Die auf diese Weise erzeugte (neue) Programmkomponentenmenge 2-4 mit den neuen Modellinformationen 4-2, der neuen Strukturbeschreibung 8-2 und dem neuen Quellcode 6-2 befindet sich wieder in einem konsistenten Zustand. Das heißt, nachfolgende Änderungen in den neuen Modellinformationen 4-2 berücksichtigen automatisch die vorangegangenen Änderungen im Ausgangs-Quellcode 6-1. Sehr vorteilhaft ist hierbei, dass nach der Herstellung des konsistenten Zustands der Programmkomponentenmenge 2 keine Quellcodeteile berücksichtigt werden müssen, wenn Änderungen im Modell, d. h. in den Modellinformationen 4 vorgenommen werden.The thus created (new) program component set 2-4 with the new model information 4-2, the new structure description 8-2 and the new source code 6-2 is again in a consistent state. That is, subsequent changes in the new model information 4-2 automatically take into account the previous changes in the source source code 6-1. It is very advantageous here that after the consistent state of the program component quantity 2 has been established, no source code parts have to be taken into account if changes in the model, ie. H. be made in the model information 4.
Gemäß einer bevorzugten Ausführungsform der Erfindung ist der Vergleich des neuen Quellcodes 6-2 mit mindestens einem Teil der Ausgangs-Programmkomponentenmenge 2-1 ein Vergleich des neuen Quellcodes 6-2 mit der Ausgangs- Modellinformationen 4-1 und der Ausgangsstrukturbeschreibung 8-1.According to a preferred embodiment of the invention, the comparison of the new source code 6-2 with at least part of the output program component set 2-1 is a comparison of the new source code 6-2 with the output model information 4-1 and the output structure description 8-1.
Zum Vergleich des neuen Quellcodes 6-2 mit den Ausgangs-Modellinformationen 4-1 und der Ausgangs-Strukturbeschreibung 8-1 kann aus dem neuen Quellcode 6-2 eine erste Baumstruktur aufgebaut werden, wobei diese erste Baumstruktur auf eine den Ausgangs-For comparison of the new source code 6-2 with the output model information 4-1 and the output structure description 8-1, a first tree structure can be constructed from the new source code 6-2, this first tree structure being based on a
Modellinformationen 4-1 und der Ausgangs-Strukturbeschreibung 8-1 entsprechende zweite Baumstruktur abgebildet wird. Der Aufbau der ersten Baumstruktur aus dem neuen Quellcode 6-2 kann mit den üblichen Compilerbautechniken erfolgen.Model information 4-1 and the output structure description 8-1 corresponding second tree structure is displayed. The construction of the first tree structure from the new source code 6-2 can be done with the usual compiler techniques.
Vorzugsweise erfolgt das Erzeugen der neuen Strukturbeschreibung 8-2 und der neuen Modellinformationen 4-2 unter Verwendung der Ausgangs-Modellinformationen 4-1, der Ausgangs-Strukturbeschreibung 8-1 und des neuen Quellcodes 6-2 automatisch. Bei Konstellationen, in welchen der neue Quellcode 6-2 nicht eindeutig auf die neuen Modellinformationen 4-2 und die neue Strukturbeschreibung 8-2 zurückgeführt werden kann, ist vorgesehen, dass eine Benutzerabfrage erfolgt, und somit das Erzeugen der neuen Strukturbeschreibung 8-2 und der neuen Modellinformationen 4-2 unter Verwendung der Ausgangs-Modellinformationen 4-1, der Ausgangs-Strukturbeschreibung 8-1, des neuen Quellcodes 6-2 und einer Benutzerinteraktion erfolgt.Preferably, the generation of the new structure description 8-2 and the new model information 4-2 is performed automatically using the output model information 4-1, the output structure description 8-1, and the new source code 6-2. In constellations in which the new source code 6-2 can not be unequivocally attributed to the new model information 4-2 and the new structure description 8-2, it is provided that a user query takes place, and thus the generation of the new structure description 8-2 and the new model information 4-2 is performed using the output model information 4-1, the output structure description 8-1, the new source code 6-2, and a user interaction.
Das Erzeugen der neuen Strukturbeschreibung 8-2 und der neuen Modellinformationen A- 1 kann in zwei Schritten erfolgen:The generation of the new structure description 8-2 and the new model information A-1 can be done in two steps:
Erstens, Erzeugen der neuen Strukturbeschreibung 8-2 auf Grundlage eines ersten Vergleichs von dem mindestens einen Teil der Komponenten der Ausgangs- Programmkomponentenmenge 2-1 mit dem neuen Quellcode 6-2. Dies ist in Figur 1 ex- emplarisch im Zustand 'C dargestellt. Der Vergleich erfolgt hier durch Vergleich der Ausgangs-Modellinformationen 4-1 und der Ausgangs-Strukturbeschreibung 8-1 mit dem neuen Quellcode 6-2, d. h. der mindestens eine Teil der Komponenten der Ausgangs- Programmkomponentenmenge 2-1 besteht in der dargestellten Ausführungsform aus der Ausgangs-Modellinformationen 4-1 und der Ausgangs-Strukturbeschreibung 8-1. In der in Figur 1 dargestellten Ausführungsform wird an neuen Komponenten nur der neue Quellcode 6-2 zur Bestimmung der neuen Strukturbeschreibung 8-2 herangezogen (Pfeil 13).First, generate the new structure description 8-2 based on a first comparison of the at least a portion of the components of the source program component set 2-1 with the new source code 6-2. This is illustrated in FIG. 1 as an example in the state 'C'. The comparison is made here by comparing the output model information 4-1 and the output structure description 8-1 with the new source code 6-2, d. H. the at least part of the components of the output program component set 2-1 in the illustrated embodiment consists of the output model information 4-1 and the output structure description 8-1. In the embodiment shown in FIG. 1, only the new source code 6-2 for determining the new structure description 8-2 is used on new components (arrow 13).
Zweitens, Erzeugen der neuen Modellinformationen 4-2 auf Grundlage eines zweiten Vergleichs von einem zweiten Teil der Ausgangs- Programmkomponentenmenge 2-1 mit dem neuen Quellcode 6-2 und der neuen Strukturbeschreibung 8-2, wobei die neuen Modellinformationen 4-2 die strukturell nicht darstellbaren Unterschiede zwischen der Aus- gangs-Programmkomponentenmenge 2-1 und dem neuen Quellcode 6-2 umfasst. Dies ist in Figur 1 im Zustand 'D' dargestellt. In der dargestellten Ausführungsform besteht der zweite Teil der Ausgangs-Programmkomponentenmenge 2-1 aus den Ausgangs- Modellinformationen 4-1. In der in Figur 1 dargestellten Ausführungsform wird an neuenSecond, generating the new model information 4-2 based on a second comparison of a second part of the source program component set 2-1 with the new source code 6-2 and the new texture descriptor 8-2, wherein the new model information 4-2 does not structurally represents representable differences between the output program component set 2-1 and the new source code 6-2. This is shown in Figure 1 in the state 'D'. In the illustrated embodiment, the second part of the output program component set 2-1 consists of the output model information 4-1. In the embodiment shown in Figure 1 is on new
Komponenten der neue Quellcode 6-2 (Pfeil 15) und die neue Strukturbeschreibung 8-2 (Pfeil 17) zur Bestimmung der neuen Modellinformationen 4-2 herangezogen.Components of the new source code 6-2 (arrow 15) and the new structure description 8-2 (arrow 17) used to determine the new model information 4-2.
Im Ergebnis führt das erfindungsgemäße Verfahren wieder zu einem konsistenten Zu- stand der neuen Programmkomponentenmenge 2-4, welche die neuen Modellinformationen 4-2, die neue Strukturbeschreibung 8-2 und den neuen Quellcode 6-2 umfasst. Der zeitliche Ablauf gemäß der dargestellten Ausführungsform des Verfahrens ist 'A' -> 'B' -> 'C -> 'D'. Die neue Programmkomponentenmenge 2-4 kann selbst wieder Ausgangs- Programmkomponentenmenge für eine erneute Durchführung des erfindungsgemäßen Verfahrens sein, was in Fig. 1 durch den Pfeil 11 zwischen Zustand 'D' und Zustand 'A' symbolisiert ist. Ferner kann die neue Programmkomponentenmenge 2-4 Ausgangspunkt für eine Änderung in den neuen Modellinformationen 4-2 und/oder in der Strukturbeschreibung 8-2 sein, wobei die vorher im Quellcode 6-1 durchgeführten Änderungen (die zum neuen Quellcode 6-2 geführt haben) bewahrt werden, da diese Änderungen im Quellcode erfindungsgemäß auf die Modellebene 4 und die Strukturebene 8 angehoben wurden.As a result, the inventive method again leads to a consistent state of the new program component set 2-4, which includes the new model information 4-2, the new structure description 8-2 and the new source code 6-2. The timing according to the illustrated embodiment of the method is 'A'->'B'-> 'C ->' D '. The new program component quantity 2-4 can itself be output program component quantity for a renewed execution of the method according to the invention, which is symbolized in FIG. 1 by the arrow 11 between state 'D' and state 'A'. Furthermore, the new program component set 2-4 may be the starting point for a change in the new model information 4-2 and / or in the structural description 8-2, with the changes previously made in the source code 6-1 (leading to the new source code 6-2 ), since these changes in the source code were raised according to the invention to the model level 4 and the structural level 8.
Nach dem Erzeugen einer der neuen Strukturbeschreibung 8-2 und der neuen Modellinformationen 4-2 kann der neue Quellcode 6-2 aus den neuen Modellinformationen 4-2 gemäß der neuen Strukturbeschreibung 8-2 automatisch erzeugt werden.After generating one of the new structure description 8-2 and the new model information 4-2, the new source code 6-2 can be automatically generated from the new model information 4-2 according to the new structure description 8-2.
Die Modellinformationen 4, die Strukturbeschreibung 8 und der Quellcode 6 können in einer einzigen Datei gespeichert sein.The model information 4, the structure description 8 and the source code 6 can be stored in a single file.
Insbesondere können die Modellinformationen 4, die Strukturbeschreibung 8 und der Quellcode 6 in jeweils verschiedenen Teilbäumen 10 einer einzigen XML-Datei 12 gespeichert sein, wie in Figur 2 dargestellt.In particular, the model information 4, the structural description 8 and the source code 6 can be stored in different sub-trees 10 of a single XML file 12, as shown in FIG.
Alternativ können die Modellinformationen 4, die Strukturbeschreibung 8 und der Quellcode 6 in jeweils einer eigenen Datei 14 gespeichert sein, wie in Figur 3 dargestellt.Alternatively, the model information 4, the structure description 8 and the source code 6 may each be stored in a separate file 14, as shown in FIG.
Die Datei 12 bzw. die Dateien 14 können in üblicher Weise auf einem Speichermedium 16, beispielsweise einem zusammenhängenden Speichermedium, wie beispielsweise einer CD (Figur 2) oder auf einem verteilten Speichermedium, wie beispielsweise einem Netzwerk (Figur 3) gespeichert sein. Insbesondere umfasst die Erfindung ein Speichermedium 16 mit mindestens einer darauf gespeicherten Programmkomponentenmenge 2. Die Darstellung in den Zeichnungen ist hier lediglich beispielhaft. Beliebige andere Arten der Speicherung auf Speichermedien sind möglich.The file 12 or the files 14 may be stored in a conventional manner on a storage medium 16, for example a contiguous storage medium such as a CD (Figure 2) or on a distributed storage medium such as a network (Figure 3). In particular, the invention includes a storage medium 16 having at least one program component set 2 stored thereon. The illustration in the drawings is merely exemplary here. Any other types of storage on storage media are possible.
Ein Verfahren zum Speichern einer erfindungsgemäßen Programmkomponentenmenge 2 kann den Schritt des Speicherns der Strukturbeschreibung 8 umfassen und kann ferner den Schritt des Speicherns der Modellinformationen enthalten und/oder den Schritt des Speicherns des Quellcodes enthalten. Die Verarbeitung einer erfindungsgemäßen Programmkomponentenmenge 2 kann gemäß einem Verfahren erfolgen, welches den Schritt des Aufnehmens der Strukturbeschreibung 8 als variable Eingabegröße umfasst. Das Programm kann ferner das Aufnehmen von mindestens einer weiteren der übrigen Komponenten der Programmkomponentenmenge 2, insbesondere 'Modellinformationen 4' und 'Quellcode 6' umfassen.A method of storing a program component set 2 according to the invention may include the step of storing the texture description 8, and may further include the step of storing the model information and / or including the step of storing the source code. The processing of a program component quantity 2 according to the invention can be carried out according to a method which comprises the step of recording the structure description 8 as a variable input quantity. The program may further comprise the inclusion of at least one other of the remaining components of the program component set 2, in particular 'model information 4' and 'source code 6'.
Ein Verfahren zum Verarbeiten einer erfindungsgemäßen Programmkomponentenmenge 2 eines Computerprogramms kann beispielsweise ein Verfahren zum automatischen Erzeugen eines Quellcodes des Computerprogramms sein, wobei das Verfahren in diesem Fall die folgenden Schritte umfasst:A method for processing a program component quantity 2 of a computer program according to the invention can, for example, be a method for automatically generating a source code of the computer program, the method in this case comprising the following steps:
Aufnehmen von Modellinformationen 4 des dem Computerprogramm zugrunde liegenden Modells als variable Eingabegröße;Taking model information 4 of the model underlying the computer program as a variable input variable;
Aufnehmen der Strukturbeschreibung 8 als variable Eingabegröße; undRecording the structure description 8 as a variable input size; and
automatisches Erzeugen des Quellcodes 6 aus den Modellinformationen 4 gemäß der Strukturbeschreibung 8 mittels eines Codegenerators.automatically generating the source code 6 from the model information 4 according to the structural description 8 by means of a code generator.
'Aufnehmen' in diesem Sinne kann beispielsweise ein 'Einlesen von einem Speichermedium' sein.'Recording' in this sense can be for example a 'reading in from a storage medium'.
Die Erfindung ist nicht auf die in den Zeichnungen dargestellten Ausführungsformen beschränkt. Sie ergibt sich vielmehr aus einer fachmännischen Gesamtbetrachtung der Be- Schreibung, der Zeichnungen und der Patentansprüche. The invention is not limited to the embodiments shown in the drawings. Rather, it results from a general expert consideration of the description, the drawings and the claims.

Claims

Patentansprüche claims
1. Verfahren zum Herstellen eines konsistenten Zustands einer Programmkomponen- tenmenge (2, 2-1, 2-2, 2-3, 2-4) eines Computerprogramms, wobei die Programmkomponentenmenge (2, 2-1, 2-2) Modellinformationen (4, 4-1, 4-2) des dem Compu- terprogramm zugrunde liegenden Modells, einen Quellcode (6, 6-1, 6-2) und eine1. A method for establishing a consistent state of a program component set (2, 2-1, 2-2, 2-3, 2-4) of a computer program, wherein the program component set (2, 2-1, 2-2) contains model information ( 4, 4-1, 4-2) of the model underlying the computer program, a source code (6, 6-1, 6-2) and a
Strukturbeschreibung (8, 8-1, 8-2) enthält und in einem konsistenten Zustand der Programmkomponentenmenge (2, 2-1, 2-4) der Quellcode (6, 6-1, 6-2) aus den Modellinformationen (4, 4-1, 4-2) gemäß der Strukturbeschreibung (8, 8-1, 8-2) automatisch erzeugbar ist, und wobei das Verfahren die folgenden Schritte enthält:Structure description (8, 8-1, 8-2) contains and in a consistent state of the program component set (2, 2-1, 2-4) of the source code (6, 6-1, 6-2) from the model information (4, 4-1, 4-2) according to the structural description (8, 8-1, 8-2) is automatically generated, and wherein the method comprises the following steps:
Bereitstellen eines neuen Quellcodes (6-2), der gegenüber einem Ausgangs- Quellcode (6-1) einer konsistenten Ausgangs-Programmkomponentenmenge (2-1) Änderungen aufweist;Providing a new source code (6-2) having changes to an output source code (6-1) of a consistent output program component set (2-1);
Durchführen eines Vergleichs von mindestens einem Teil der Komponenten derPerforming a comparison of at least a part of the components of
Ausgangs-Programmkomponentenmenge (2-1) mit dem neuen Quellcode (6-2), undOutput program component set (2-1) with the new source code (6-2), and
Erzeugen einer neuen Strukturbeschreibung (8-2) und neuer Modellinformationen (4-2) auf Grundlage dieses Vergleichs so, dass der neue Quellcode (6-2) aus den neuen Modellinformationen (4-2) gemäß der neuen Strukturbeschreibung (8-2) automatisch erzeugbar ist.Generating a new structure description (8-2) and new model information (4-2) based on this comparison such that the new source code (6-2) is obtained from the new model information (4-2) according to the new structure description (8-2) is automatically generated.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass der Vergleich des neuen Quellcodes (6-2) mit dem betreffenden mindestens einen Teil der Ausgangs- Programmkomponentenmenge (2-1) ein Vergleich des neuen Quellcodes (6-2) mit der Ausgangs- Modellinformationen (4-1) und der Ausgangs-Strukturbeschreibung (8-1) ist.2. The method according to claim 1, characterized in that the comparison of the new source code (6-2) with the relevant at least part of the output program component set (2-1) is a comparison of the new source code (6-2) with the output Model information (4-1) and the output structure description (8-1) is.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass zum Vergleich des neu- en Quellcodes (6-2) mit den Ausgangs- Modellinformationen (4-1) und der Ausgangs-Strukturbeschreibung (8-1) aus dem neuen Quellcode (6-2) eine erste Baumstruktur aufgebaut wird und diese erste Baumstruktur auf eine den Ausgangs- Modellinformationen (4-1) und der Ausgangs-Strukturbeschreibung (8-1) entsprechenden zweiten Baumstruktur abgebildet wird.3. Method according to claim 2, characterized in that for comparison of the new source code (6-2) with the output model information (4-1) and the output structure description (8-1) from the new source code (6-2). 2) a first tree structure is constructed and this first tree structure on a the starting Model information (4-1) and the output structure description (8-1) corresponding second tree structure is mapped.
4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, dass der Schritt des Erzeugens der neuen Strukturbeschreibung (8-2) und der neuen Modellinformationen (4-2) die folgenden Schritte umfasst:A method according to claim 2 or 3, characterized in that the step of generating the new structure description (8-2) and the new model information (4-2) comprises the steps of:
Erzeugen der neuen Strukturbeschreibung (8-2) auf Grundlage eines ersten Vergleichs von dem betreffenden mindestens einen, ersten Teil (4-1, 8-1) der Kompo- nenten der Ausgangs-Programmkomponentenmenge (2-1) mit dem neuen Quellcode (6-2), undGenerating the new structure description (8-2) on the basis of a first comparison of the at least one, first part (4-1, 8-1) of the components of the output program component set (2-1) with the new source code (6 -2), and
Erzeugen der neuen Modellinformationen (4-2) auf Grundlage eines zweiten Vergleichs von einem zweiten Teil (4-1) der Ausgangs-Programmkomponentenmenge (2-1) mit dem neuen Quellcode (6-2) und der neuen Strukturbeschreibung (8-2), wobei die neuen Modellinformationen (4-2) die strukturell nicht darstellbaren Unterschiede zwischen der Ausgangs-Programmkomponentenmenge (2-1) und dem neuen Quellcode (6-2) umfasst.Generating the new model information (4-2) based on a second comparison of a second part (4-1) of the source program component set (2-1) with the new source code (6-2) and the new texture description (8-2) wherein the new model information (4-2) comprises structurally unrepresentable differences between the source program component set (2-1) and the new source code (6-2).
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Erzeugen der neuen Strukturbeschreibung (8-2) und der neuen Modellinformationen (4-2) unter Verwendung der Ausgangs-Modellinformationen (4-1), der Ausgangs-Strukturbeschreibung (8-1) und des neuen Quellcodes (6-2) automatisch erfolgt.5. The method according to claim 1, wherein generating the new structure description (8-2) and the new model information (4-2) using the output model information (4-1), the output structure description (8 -1) and the new source code (6-2) is done automatically.
6. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass das Erzeugen der neuen Strukturbeschreibung (8-2) und der neuen Modellinformationen (4-2) unter Verwendung der Ausgangs-Modellinformationen (4-1), der Ausgangs- Strukturbeschreibung (8-1), des neuen Quellcodes (6-2) und einer Benutzerinterak- tion erfolgt.6. The method according to any one of claims 1 to 4, characterized in that generating the new structure description (8-2) and the new model information (4-2) using the output model information (4-1), the output structure description (8-1), the new source code (6-2) and a user interaction.
7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass nach dem Erzeugen einer der neuen Strukturbeschreibung (8-2) und der neuen Modellinformationen (4-2) der neue Quellcode (6-2) aus den neuen Modellinfor- mationen (4-2) gemäß der neuen Strukturbeschreibung (8-2) automatisch erzeugt wird. 7. The method according to any one of the preceding claims, characterized in that after generating one of the new structure description (8-2) and the new model information (4-2) of the new source code (6-2) from the new model information (4 -2) is generated automatically according to the new structure description (8-2).
PCT/EP2007/057227 2006-07-18 2007-07-13 Method for producing a consistent state of a program component quantity of a computer program WO2008009629A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE200610033143 DE102006033143A1 (en) 2006-07-18 2006-07-18 A method for establishing a consistent state of a program component set of a computer program
DE102006033143.5 2006-07-18

Publications (2)

Publication Number Publication Date
WO2008009629A2 true WO2008009629A2 (en) 2008-01-24
WO2008009629A3 WO2008009629A3 (en) 2008-03-20

Family

ID=38792350

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/057227 WO2008009629A2 (en) 2006-07-18 2007-07-13 Method for producing a consistent state of a program component quantity of a computer program

Country Status (2)

Country Link
DE (1) DE102006033143A1 (en)
WO (1) WO2008009629A2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082067A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for relating data structures and object-oriented elements for distributed computing
WO2001082072A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for generating source code for object-oriented elements
WO2001082068A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
US20030083900A1 (en) * 2001-10-26 2003-05-01 Ismail Khriss Template-based method and system for reverse engineering
CA2406333A1 (en) * 2002-10-01 2004-04-01 Klocwork Solutions Corporation System and method for tracking software development

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082067A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for relating data structures and object-oriented elements for distributed computing
WO2001082072A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for generating source code for object-oriented elements
WO2001082068A1 (en) * 2000-04-21 2001-11-01 Togethersoft Corporation Methods and systems for identifying dependencies between object-oriented elements
US20030083900A1 (en) * 2001-10-26 2003-05-01 Ismail Khriss Template-based method and system for reverse engineering
CA2406333A1 (en) * 2002-10-01 2004-04-01 Klocwork Solutions Corporation System and method for tracking software development

Also Published As

Publication number Publication date
DE102006033143A1 (en) 2008-01-24
WO2008009629A3 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
EP1723513B1 (en) Method for configuring a computer program
EP1176482A1 (en) Method and computer program for generating a regulation or control system
EP2407842B1 (en) Method for operating machines or machines in a machine series and design system
DE102018111930A1 (en) Procedure for editing a software project
WO2007068563A1 (en) Method for processing and creating diagnostic data in a software development process
DE10357831A1 (en) System as well as a procedure for the re-engineering of object model components for the generating of web services
EP3572956A1 (en) Creation of an interdisciplinary simulation model
DE102009033967A1 (en) Method for programming a programmable logic controller with resistant data storage
WO2008009629A2 (en) Method for producing a consistent state of a program component quantity of a computer program
EP2482148A1 (en) Method for projecting and/or programming a multi-functional component of an industrial automation assembly
EP1387260A1 (en) Method and system for software development
DE102008048862A1 (en) Test module and method for testing an O / R imaging middleware
DE102019131613A1 (en) Method for operating an electronic computing device for a product development process using machine learning, as well as electronic computing device
DE10138533A1 (en) Protection of control programs transmitted over the Internet from a developer to a customer using asymmetric encryption of the program code, which is decrypted by the end user after parameter editing
EP1343078B1 (en) Modelling system and generation of software generating systems
DE10233971A1 (en) Software generating method for a software-controlled device uses a software model implemented as data in a computer to derive software program code automatically from the model
DE102004023634B4 (en) Method for checking the completeness and consistency of an information library
WO2023208578A1 (en) Method and computer program for automatically generating communication interfaces in algorithms from the field of artificial intelligence
EP1883013A2 (en) Program component batch, method and storage medium
WO2018206346A1 (en) Method for processing digital production data in a computer-assisted manner in order to produce one or more products
DE102021211620A1 (en) Method and system for automatic generation of an embedded source code for the electronic control unit of an AD/ADAS on-road vehicle
DE102021003842A1 (en) Method for creating a configuration data set for a motor vehicle by means of an electronic computing device and electronic computing device
EP1508867A2 (en) Method for generating at least a project reference model, method for generating a structured configuration information using such a project reference model and apparatus for implementing, managing and organising such methods
EP2757466A1 (en) A computer implemented method for generating computer program code
DE102015210498A1 (en) Method for the computer-aided generation of a graphical modeling language

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07787496

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07787496

Country of ref document: EP

Kind code of ref document: A2