DE10215653A1 - Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated - Google Patents

Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated

Info

Publication number
DE10215653A1
DE10215653A1 DE2002115653 DE10215653A DE10215653A1 DE 10215653 A1 DE10215653 A1 DE 10215653A1 DE 2002115653 DE2002115653 DE 2002115653 DE 10215653 A DE10215653 A DE 10215653A DE 10215653 A1 DE10215653 A1 DE 10215653A1
Authority
DE
Germany
Prior art keywords
masks
data
output
mask
data input
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.)
Ceased
Application number
DE2002115653
Other languages
German (de)
Inventor
Bernhard Voslamber
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to DE2002115653 priority Critical patent/DE10215653A1/en
Publication of DE10215653A1 publication Critical patent/DE10215653A1/en
Ceased legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Method for automatic generation of program code sections, whereby: a GUI is used to provide controls or masks for data input or output; each of the masks has rules for evaluation of the input or output data; the input and output data are used by a data processing system to automatically generate program code sections. The invention also relates to a corresponding data processing arrangement, a computer program product and a data storage medium for the computer program product.

Description

Die Erfindung betrifft ein Verfahren und eine Anordnung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium, welche insbesondere eingesetzt werden können, um flexibel Engineering Workflows zu erstellen, mit denen Aktivitäten definiert werden, die im Zusammenhang mit der Entstehung, der Beschreibung und der Änderung eines Produkts stehen. Das schließt vor allem die Arbeitsschritte innerhalb der Planung, der Konstruktion und der Anpassung im Rahmen der Variantenkonstruktion ein. The invention relates to a method and an arrangement for the automatic generation of program code sections and a corresponding computer program product and an appropriate computer-readable storage medium, which can be used in particular to create flexible engineering workflows with which Activities are defined that are related to the creation, description and modification of a Product. That especially includes that Work steps within the planning, construction and the adaptation as part of the variant construction.

Zur Reduzierung des Konstruktions- und Entwicklungsaufwandes im Maschinenbau wird bei herkömmlichen Verfahren der Versuch unternommen, für auf Kunden zugeschnittene Maschinen gleichen Typs auf standardisierten Komponenten aufzubauen. Man spricht von Serienmaschinen, Typenmaschinen oder Varianten. Diese können aber nie zu 100% aus im Regal befindlichen Komponenten bestehen, so dass ein nicht unerheblicher Restaufwand für die Konstruktion dieser Komponenten verbleibt. Bekannte, als Konfiguratoren bezeichnete, Lösungen ermöglichen die Konfiguration von Maschinenvarianten über die Hinterlegung von Regeln. Dabei greifen Warenwirtschafts- und Produktionsplanungssysteme (Enterprise Resource Planning Systeme bzw. ERP-Systeme) hauptsächlich auf fertig dimensionierte Bauteile eines umfangreichen Bauteilkatalogs zurück. Die Konfigurationslogik beschränkt sich auf die Zusammensetzung der Fertigteile entsprechend der Kundenwünsche. Die Regelhinterlegung erfordert das Erlernen einer speziellen Skriptsprache oder von Prolog. To reduce the construction and Development effort in mechanical engineering is with conventional processes the attempt is made for customized Machines of the same type on standardized Build components. One speaks of series machines, Type machines or variants. But these can never be 100% consist of components on the shelf so that a not inconsiderable remaining effort for the Construction of these components remains. Known as Configurators referred to, solutions enable that Configuration of machine variants via the Filing rules. Merchandising and Production planning systems (Enterprise Resource Planning systems or ERP systems) mainly on finished dimensioned components of an extensive Component catalog. The configuration logic is limited on the composition of the finished parts according to customer requirements. The rule deposit requires learning a special scripting language or by Prolog.

Der aktuelle Focus bei gegenwärtig verfügbaren 3D-CAD Systemen liegt auf der Geometriemodellierung und der parametrischen 3D-Modellierung, welcher rein geometrische Beziehungen zugrunde liegen. 3D-Technologie und parametrisch arbeitende 2D-CAD-Systeme eröffnen aber völlig neue Möglichkeiten und Ziele. Der Trend geht zur Integration des Wissens in die Modelle. Bisher sind bei der Realisierung dieses Ansatzes jedoch Systeme entstanden, die immer noch wesentliche Nachteile aufweisen. Mit den bestehenden Systemen ist es darüber hinaus nicht möglich, das intellektuelle Wissen und die Erfahrung der Konstrukteure zu erfassen; sie bleiben bei rein geometrischen Beziehungen stehen. The current focus with currently available 3D CAD Systems is based on geometry modeling and parametric 3D modeling, which is pure underlying geometric relationships. 3D technology and however, parametric 2D CAD systems open up completely new opportunities and goals. The trend is going to Integration of knowledge in the models. So far are at the implementation of this approach, however, systems emerged, the still significant disadvantages exhibit. It is beyond that with the existing systems not possible the intellectual knowledge and the Capture designer's experience; they stay with are purely geometric relationships.

Die herkömmlichen Lösungen für flexible CAD-Systeme weisen mehrere Nachteile auf. Die wichtigsten lassen sich folgendermaßen charakterisieren The conventional solutions for flexible CAD systems have several disadvantages. Let the most important are characterized as follows

Die bestehenden CAD-Systeme sind, sofern eine Engineering-Komponente erforderlich ist, nicht als Standardsoftware einsetzbar. Es sind in der Regel umfangreiche Anpassungen in Form von Programmierarbeiten notwendig. The existing CAD systems are, if one Engineering component is required, not as Standard software can be used. They are usually extensive Adjustments in the form of programming work necessary.

Die Bedienung dieser CAD-Systeme erfordert somit, daß der das Konstruktionsverfahren abbildende Ingenieur über zusätzliche Programmierkenntnisse verfügen muß. The operation of these CAD systems therefore requires that the engineer mapping the construction process must have additional programming knowledge.

Diese Programmierarbeiten zur Anpassung der Systeme führen in der Folge zu proprietären Systemen, deren Wartung aufwendig und teuer sind. Die Wiederverwendbarkeit der proprietären Knowledge Based Engineering Systeme (KBE-Systeme) für andere Anwendungen und Maschinen ist nicht oder nur sehr eingeschränkt gegeben. This programming work to adapt the systems subsequently lead to proprietary systems whose Maintenance is complex and expensive. The Reusability of proprietary knowledge based engineering Systems (KBE systems) for other applications and Machine is not or only very limited given.

Die Basis der Regeleingabe bilden fertige Bauteile, die entsprechend den Regeln nur zusammengesetzt aber nicht vollständig neu dimensioniert werden können. Ready-made components that form the basis of the rule input only composed according to the rules but not can be completely redimensioned.

Darüber hinaus ist die Konfiguration herkömmlicher Systeme merkmalorientiert, d. h.: die Systeme sind nicht darauf ausgerichtet, technische Randbedingungen (wie z. B. Drehmoment, Leistung, Drehzahl oder Massedurchsatz) zu berücksichtigen. In addition, the configuration is more conventional Systems feature-oriented, d. h .: the systems are not geared to technical constraints (such as torque, power, speed or Mass flow rate).

Der Erfindung liegt deshalb die Aufgabe zugrunde, ein Verfahren und eine Anordnung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium zu entwickeln, durch welche die erwähnten Nachteile der bekannten Lösungen überwunden werden, indem ein flexibel einsetzbares System bereitgestellt wird, welches zur Konstruktion, Modellierung oder Prozeßsimulation von dem Fachmann eines solchen Gebietes ohne weitere Spezialkenntnisse (insbesondere Programmierkenntnisse) bedient werden kann. Darüber hinaus soll ein System geschaffen werden, welches vorhandene Lösungen für die Weiterbearbeitung verfügbar macht sowie die Entwicklung von Varianten durch die Daten früherer Berechnungen oder Konfigurationen automatisch durch Bereitstellung einer Wissensbasis (Material, Berechnung, Vorgehensweise, Erfahrung) unterstützt. The invention is therefore based on the object Method and arrangement for automatic Generation of program code sections as well corresponding computer program product and a corresponding one to develop computer-readable storage medium which the mentioned disadvantages of the known solutions be overcome by using a flexible System is provided which is used for construction, Modeling or process simulation by a specialist of such an area without further special knowledge (especially programming knowledge) can. In addition, a system is to be created which existing solutions for further processing makes available as well as the development of variants through the data of previous calculations or Configurations automatically by providing a Knowledge base (material, calculation, procedure, experience) supported.

Diese Aufgabe wird erfindungsgemäß gelöst durch die Merkmale im kennzeichnenden Teil der Ansprüche 1, 21, 22 und 23 im Zusammenwirken mit den Merkmalen im Oberbegriff. Zweckmäßige Ausgestaltungen der Erfindung sind in den Unteransprüchen enthalten. This object is achieved by the Features in the characterizing part of claims 1, 21, 22 and 23 in cooperation with the features in Generic term. Useful embodiments of the invention are contained in the subclaims.

Ein besonderer Vorteil der Erfindung liegt darin, daß bei dem Verfahren zur automatischen Erzeugung von Programmcodeabschnitten über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt, jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet, den über (eine) Maske(n) zur Datenein- und/oder -ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird. A particular advantage of the invention is that in the method for automatically generating Program code sections via a graphic User interface (GUI) of a data processing system Masks (controls) for data input and / or output or Masks for data input and / or output with additional Provided means for configuring these masks, each of the masks rules for evaluating the over this mask input and / or output data and for the evaluation of the configurations made assigned, via (a) mask (s) for data input and / or - Output of input and / or output data and / or according to at least part of the mask configuration automatically by the data processing system Processing of the (s) for input and / or output rules assigned to the mask (s) used Program code section is generated and provided.

Eine Anordnung zur automatischen Erzeugung von Programmcodeabschnitten zeichnet sich dadurch aus, daß sie mindestens einen Prozessor umfaßt, der (die) derart eingerichtet ist (sind), daß ein Verfahren zur automatischen Erzeugung von Programmcodeabschnitten durchführbar ist, wobei über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt, jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet, den über (eine) Maske(n) zur Datenein- und/oder -ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird. An arrangement for the automatic generation of Program code sections are characterized in that they comprises at least one processor such is (are) set up that a method for automatic generation of program code sections is feasible, with a graphic User interface (GUI) of a Data processing system masks (controls) for data input and / or output or masks for data input and / or - Output with additional means for configuring this Masks provided, each of the masks rules for that Evaluation of the input and / or via this mask output data and for the evaluation of the made Assigned configurations, which via (a) mask (s) for data input and / or output input and / or output data and / or at least part of the Mask configuration automatically according to that Data processing system by processing the for the Assign input and / or output mask (s) used Rules creates at least one program code section and provided.

Ein Computerprogramm-Erzeugnis zur automatischen Erzeugung von Programmcodeabschnitten ist dadurch ausgezeichnet, daß es ein computerlesbares Speichermedium umfaßt, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur automatischen Erzeugung von Programmcodeabschnitten durchzuführen, wobei über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt, jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet, den über (eine) Maske(n) zur Datenein- und/oder -ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird. A computer program product for automatic This creates generation of program code sections excellent that it is a computer readable storage medium includes on which a program is stored that it allows a computer after it is in memory the computer has been loaded, a method for automatic generation of program code sections perform, using a graphic User interface (GUI) of a data processing system Masks (controls) for data input and / or output or Masks for data input and / or output with additional Provided means for configuring these masks, each of the masks rules for evaluating the over this mask input and / or output data and for the evaluation of the configurations made assigned, via (a) mask (s) for data input and / or - Output of input and / or output data and / or according to at least part of the mask configuration automatically by the data processing system Processing of the (the) for input and / or output rules assigned to the mask (s) used Program code section is generated and provided.

Auf einem computerlesbaren Speichermedium zur automatischen Erzeugung von Programmcodeabschnitten ist ein Programm gespeichert, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur automatischen Erzeugung von Programmcodeabschnitten durchzuführen, wobei über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt, jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet, den über (eine) Maske(n) zur Datenein- und/oder -ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird. On a computer readable storage medium for automatic generation of program code sections is a Program saved that allows a computer to after it has been loaded into the computer's memory is a method for the automatic generation of Perform program code sections, using a graphical user interface (GUI) of a Data processing system masks (controls) for data input and / or output or masks for data input and / or - Output with additional means for configuring this Masks provided, each of the masks rules for that Evaluation of the input and / or via this mask output data and for the evaluation of the made Assigned configurations, which via (a) mask (s) for data input and / or output input and / or output data and / or at least part of the Mask configuration automatically according to that Data processing system by processing the for the Assign input and / or output mask (s) used Rules creates at least one program code section and provided.

Darüber hinaus erweist es sich bei dem erfindungsgemäßen Verfahren als vorteilhaft, daß die den Masken zur Datenein- und/oder -ausgabe zugeordneten Regeln Programmanweisungen umfassen, welche die Übernahme von Eingabedaten und/oder die Erzeugung von Ausgabedaten steuern. It also turns out to be the case inventive method as advantageous that the masks rules assigned to data input and / or output Program instructions include the takeover of Input data and / or the generation of output data Taxes.

Vorzugsweise geschieht dies dadurch, daß die einer Maske zugeordneten Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten aus diesen Daten Programmabarbeitungsanweisungen erstellen, wobei die Daten als Parameter oder Variablen einer Formel und/oder als Adressen für Lese/Schreib-Zugriffe auf Speicherbereiche und/oder als Adressen für Lese/Schreib-Zugriffe auf Tabellen und/oder als Adressen für Lese/Schreib-Zugriffe auf Dateien interpretiert werden. Das kann beispielsweise erreicht werden, indem man den Masken jeweils Informationen zuordnet, wie z. B.: spezielle Formelsätze, spezifische Zugriffe auf vorher definierte Tabellen oder Booleansche Ausdrücke. This is preferably done in that the one Rules assigned to the mask for the evaluation of the this mask input and / or output data from this Create data processing instructions, where the data as parameters or variables of a formula and / or as addresses for read / write access Memory areas and / or as addresses for Read / write access to tables and / or as addresses for Read / write access to files can be interpreted. This can be achieved, for example, by using the Assigns information to masks, such as B .: special formula sets, specific access to before defined tables or boolean expressions.

In bevorzugter Ausgestaltung des erfindungsgemäßen Verfahrens ist weiter vorgesehen, daß durch die einer Masken zugeordneten Regeln für die Auswertung der vorgenommenen Konfigurationen dieser Maske ein oder mehrere Vorgänger-Masken und/oder Nachfolger-Masken zugeordnet werden. Insbesondere werden durch diese Regeln die über die graphische Benutzerschnittstelle vorgenommenen Verknüpfungen der Masken untereinander ausgewertet und die zwischen den miteinander verknüpften Masken auszutauschenden Daten ermittelt. In a preferred embodiment of the invention The method is further envisaged by the one Rules assigned to masks for the evaluation of the made configurations of this mask several predecessor masks and / or successor masks be assigned. In particular, these rules via the graphical user interface the masks are linked to one another evaluated and those between the linked Data to be exchanged masks determined.

Als vorteilhaft erweist es sich, daß die Erzeugung der Programmcodeabschnitte derart erfolgt, daß in einem ersten Schritt einer jeden (einem Teil) der eine Maskenkonfiguration bildenden Masken zur Datenein- und/oder -ausgabe ein individuelles Zwischen-Codefragment zugeordnet und in einem zweiten Schritt aus den Zwischen-Codefragmenten dieser Masken ein End-Codeabschnitt (Teil-Codeabschnitt) erzeugt wird. Die automatisch generierten (Zwischen-)Codefragmente (die z. B. als SQL-(Zwischen-)Codefragmente generiert werden) oder die Eingabedaten selbst können dazu in einer Datei gespeichert werden. Somit ist jedes Shape mit seinen Eingabedaten verknüpft und als Einzelinformation abrufbar gespeichert. It proves to be advantageous that the generation of the Program code sections such that in one first step of each (a part) of the one Mask configuration forming masks for data input and / or issue an individual Assigned intermediate code fragment and in a second step from the Intermediate code fragments of these masks End code section (partial code section) is generated. The automatically generated (intermediate) code fragments (e.g. generated as SQL (intermediate) code fragments) or the input data itself can be stored in a file get saved. So every shape is with its Input data linked and as individual information available stored.

Darüber hinaus ist in bevorzugter Ausgestaltung des erfindungsgemäßen Verfahrens vorgesehen, daß die Masken-Konfiguration wenigstens einen Teil eines einen Produktplanungsprozeß und/oder einen Konstruktionsprozeß und/oder einen Produktanpassungsprozeß (Variantenkonstruktion) definierenden Flußdiagramms (Workflow) abbildet. In addition, in a preferred embodiment of the inventive method provided that the Mask configuration at least part of one Product planning process and / or one Design process and / or a product customization process (Variant construction) defining flowchart (workflow) maps.

Zur automatischen Erzeugung von Programmcodeabschnitten kann es sich als vorteilhaft erweisen, daß verschiedene Typen von Masken zur Datenein- und/oder -ausgabe bereitgestellt werden, welche jeweils Strukturelemente des Workflows abbilden, wie: Workflow-Anfang, Tabellenzugriff, Definition einer Formel, Meldungen an den Nutzer, Entscheidung, Aufruf externer Programme, Abruf externer Daten, Stop der Berechnung, die Möglichkeit, SQL-Code direkt einzugeben, Zusammenführung und/oder Workflow-Ende. For the automatic generation of program code sections it may prove advantageous that different Types of masks for data input and / or output are provided, each of which structural elements map the workflow, such as: workflow start, Table access, definition of a formula, messages to the User, decision, calling external programs, access external data, stop the calculation, the possibility Enter SQL code directly, merge and / or Workflow end.

In weiterer bevorzugter Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, daß die Mittel zur Konfiguration mindestens ein Computerprogramm umfassen, welches den Datenaustausch zwischen den Elementen der Maskenkonfiguration steuert, indem es Signale von Mitteln zur Dateneingabe auswertet. Als vorteilhaft erweist es sich, daß die Signale der Mittel zur Dateneingabe erzeugt werden durch mindestens einen Maus- Klick und/oder durch Bewegung eines Cursors und/oder einer Maus und/oder durch Berührung eines Touch-Screen und/oder durch Betätigung der Tastatur eines Keyboards. Darüber hinaus erweist es sich als vorteilhaft, daß die Ergebnisse der Auswertung der Signale der Mittel zur Dateneingabe visualisiert werden, indem die durch diese Signale definierten Elementen der Maskenkonfiguration durch graphische Elemente miteinander verbunden werden. Besonders praktisch ist es, wenn dies auf graphischem Wege erfolgt, indem beispielsweise die zu konfigurierenden Masken durch "Mausklick" markiert werden. Ebensogut können die Masken konfiguriert werden, indem ein Pfeil aus einer Schablone auf die Arbeitsoberfläche gezogen wird, und Pfeilende bzw. Pfeilspitze mit den entsprechenden Masken verbunden werden; die Richtung des Pfeils kann dabei beispielsweise die Richtung angeben, in der die Abarbeitung oder eine Berechnung erfolgen soll. In a further preferred embodiment of the The method according to the invention provides that the means for Configuration include at least one computer program, which is the data exchange between the elements of the Controls mask configuration by sending signals from Evaluates means for data entry. As beneficial it turns out that the signals of the means for Data input are generated by at least one mouse Click and / or by moving a cursor and / or a mouse and / or by touching a touch screen and / or by operating the keyboard of a keyboard. In addition, it proves advantageous that the Results of the evaluation of the signals of the means for Data entry can be visualized by the through this Signals defined elements of the mask configuration are connected with each other by graphic elements. It is particularly practical if this is done on a graphic Paths are made by, for example, the to configuration masks can be marked with a "mouse click". The masks can also be configured by an arrow from a template onto the work surface is pulled, and arrow end or arrowhead with the corresponding masks are connected; the direction The arrow can indicate the direction, for example specify in the processing or a calculation should be done.

Vorteilhaft ist es ebenfalls, daß Schnittstellen zu externen Programmen wie Enterprise Resource Planning Programmen und/oder Produktionsplanungs- und Steuerungssystemen und/oder Product Data Management Systemen und/oder Programmen zum Computer Aided Design bereitgestellt werden. It is also advantageous that interfaces to external programs such as Enterprise Resource Planning Programs and / or production planning and Control systems and / or product data management systems and / or programs for computer aided design to be provided.

Darüber hinaus ist es von Vorteil, daß diese Schnittstellen in XML realisiert sind. In addition, it is advantageous that this Interfaces are implemented in XML.

In weiterer bevorzugter Ausgestaltung des erfindungsgemäßen Verfahrens ist vorgesehen, daß jedem Masken- Typen ein Icon (Shape) zugeordnet ist. Dadurch wird das Arbeiten mit den Masken bzw. Shapes erleichtert, insbesondere wird der Gefahr vorgebeugt, Masken bzw. Shapes miteinander zu verwechseln und falsche Konfigurationen vorzunehmen. In bevorzugter Ausgestaltung des erfindungsgemäßen Verfahrens ist deshalb auch vorgesehen, daß zur Darstellung des Workflows die den Masken zugeordneten Icons (Shapes) genutzt werden. Dies kann vorteilhafterweise derart geschehen, daß die Icons auf einem ersten speziellen Bereich des GUI - der Vorlage - bereitgestellt werden und die den Icons zugeordneten Masken auf einem zweiten Bereich des GUI - der Zeichnungsoberfläche - erzeugt werden, indem die Icons per Drag-and-Drop von der Vorlage auf die Zeichnungsoberfläche gezogen werden. In a further preferred embodiment of the The method according to the invention provides that each mask An icon (shape) is assigned to types. This will make it Working with the masks or shapes is easier, in particular, the danger is prevented, masks or Confuse shapes with each other and wrong ones Make configurations. In a preferred embodiment of the method according to the invention is therefore also provided that to display the workflow the Icons (shapes) assigned to masks can be used. This can advantageously be such that the icons on a first special area of the GUI - the Template - to be provided and the icons assigned masks on a second area of the GUI - the Drawing surface - generated by the icons via drag-and-drop from the template to the Drawing surface.

Ein weiterer Vorteil besteht darin, daß die Masken zur Datenein- und/oder -ausgabe nutzbar gemacht werden, indem durch Mittel zur Dateneingabe vorgebbare Signale an die Icons (Shapes) gesendet werden. Dabei erweist es sich als praktisch, daß die durch die Mittel zur Dateneingabe gesendeten Signale durch mindestens einen Maus-Klick und/oder durch Berühren eines Touch-Screen in der Dateneingabe dienenden Bereichen des GUI und/oder durch Betätigung der Tastatut eines Keyboards erzeugt werden. Another advantage is that the masks for Data input and / or output are made usable, by signals which can be predetermined by means of data input to be sent to the icons (shapes). It proves to be practical in that the means of Data input sent signals by at least one Mouse click and / or by touching a touch screen areas of the GUI used for data entry and / or by pressing the keyboard of a keyboard be generated.

Darüber hinaus ist in bevorzugter Ausgestaltung des erfindungsgemäßen Verfahrens vorgesehen, daß von den Masken zur Datenein- und/oder -ausgabe mindestens ein frei beschreibbares Eingabefeld und/oder ein Pull-down- Menü und/oder ein Slider (Schieber) zur Dateneingabe oder -änderung und/oder ein Schalter und/oder ein Eingabe-Button und/oder eine Combo-Box und/oder eine Check-Box und/oder ein Optionsfeld (Radio Button) und/oder ein Hyperlink bereitgestellt wird. In addition, in a preferred embodiment of the inventive method provided that of the Masks for data input and / or output at least one freely writable input field and / or a pull-down Menu and / or a slider for data entry or change and / or a switch and / or a Enter button and / or a combo box and / or one Check box and / or an option field (radio button) and / or a hyperlink is provided.

Von Vorteil erweist es sich weiterhin, daß die erzeugten Programmcodeabschnitte als interpretierbarer Code oder als compilierbarer Code oder als ausführbarer Programmcode bereitgestellt werden. Besonders vorteilhaft ist es, daß die erzeugten Programmcodeabschnitte als dynamische SQL-stored Procedures bereitgestellt werden. It is also advantageous that the generated program code sections as interpretable code or as compilable code or as executable Program code will be provided. Particularly advantageous it is that the generated program code sections as dynamic SQL stored procedures are provided.

Insbesondere auf dem Gebiet der Konstruktion bzw. Produktentwicklung erweist es sich als vorteilhaft, daß es durch die Erfindung ermöglicht wird, parametrisierbare Elemente in den Konstruktionsprozeß einzubeziehen. Die geometrieorientierte Konstruktion weicht so einer modulorientierten Denkweise, die variable und intelligente Komponenten beinhaltet. So kann beispielsweise die Anzahl von Bohrungen durch den Elementen (Shapes) hinterlegte Regeln automatisch aus den vom Konstrukteur vorgegebenen Abmessungen ermittelt werden. Das bringt den Vorteil mit sich, daß man bei der Konstruktion - insbesondere von Varianten - nicht auf Fertigteile eines Bauteilkatalogs angewiesen ist, sondern beispielsweise über Schnittstellen zu CAD-Programmen parametrisierbare Elemente zur Verfügung hat. Especially in the field of construction or Product development it proves advantageous that it is made possible by the invention Include parameterizable elements in the design process. The geometry-oriented construction gives way to one module oriented mindset that is variable and includes intelligent components. For example the number of holes through the elements (shapes) Rules stored automatically from those of the designer predetermined dimensions can be determined. That brings the advantage of having the design - especially of variants - not on finished parts a component catalog, but for example via interfaces to CAD programs has parameterizable elements available.

Ein weiterer Vorteil der Erfindung besteht darin, daß durch ihren Einsatz die iterative Produktentwicklung unterstützt wird, indem durch die Speicherung der Workflows bzw. Variantenbäume bei Bedarf auf diese zurückgegriffen und aufgebaut werden kann. Das führt zu einem sukzessiven Wissensanstieg, da die Daten früherer Berechnungen oder Konfigurationen automatisch zur Unterstützung der Konstruktion neuer Varianten zur Verfügung stehen. Die Wissensbasis (Material, Berechnung, Vorgehensweise, Erfahrung) wird mit dem Modell gekoppelt. Sie kann vom Konstrukteur sukzessive erweitert werden. Another advantage of the invention is that through the use of iterative product development is supported by storing the Workflows or variant trees on this if necessary can be used and built. That leads to one successive increase in knowledge as the data is earlier Calculations or configurations automatically Support in the construction of new variants is available stand. The knowledge base (material, calculation, Approach, experience) is coupled with the model. It can be successively expanded by the designer.

Die Entwicklung von Varianten bzw. Typenmaschinen wird durch die Erfindung unterstützt, indem dem Konstrukteur klare Vorgehensweisen, Verwendungshinweise und/oder Konstruktionselemente automatisch angeboten werden. The development of variants or type machines supported by the invention by the designer clear procedures, instructions for use and / or Construction elements are offered automatically.

Die Verwendung von XML (= eXtensible Markup Language) als Kommunikationssprache erlaubt den extrem einfachen Zugriff auf verschiedenartigste Datenquellen. The use of XML (= eXtensible Markup Language) as a communication language allows the extremely simple Access to various data sources.

Als vorteilhaft erweist sich auch die servergestützte Architektur der Erfindung, da dadurch die Anwendung des erfindungsgemäßen Verfahrens in großen Gruppen und auf Weboberflächen ermöglicht wird. Server-based also proves to be advantageous Architecture of the invention, as a result of which the application of the Method according to the invention in large groups and on Web interfaces is made possible.

Die erfinderische Anordnung ist vorteilhafterweise mit einem graphischen Interface versehen. Dadurch verringert sich die Einarbeitungszeiten in das System, insbesondere durch intuitive Bedienbarkeit. The inventive arrangement is advantageously with provided with a graphical interface. Thereby the familiarization times in the system are reduced, especially through intuitive usability.

Das graphische Interface erleichtert die Konstruktion außerdem dadurch, daß die Erfassung der Berechnungsvorschriften des assoziierten Ingenieurwissens ohne Programmierkenntnisse ermöglicht wird, da diese Berechnungsvorschriften bereits den Shapes bzw. den Masken zur Datenein- und/oder -ausgabe (Controls) hinterlegt sind. Um diese Berechnungsvorschriften zu nutzen, müssen die Shapes nur - z. B. per Drag & Drop - zu einem Workflow hinzugefügt werden. The graphic interface makes construction easier also in that the detection of the Calculation rules of associated engineering knowledge without Programming knowledge is made possible because of this Calculation rules already the shapes or masks for data input and / or output (controls) are. To use these calculation rules, all the shapes have to do - e.g. B. via drag & drop - to one Workflow to be added.

Die Möglichkeit, Varianten und Berechungswege zu hinterlegen, stellt einen weiteren Vorteil dar, denn dadurch ist eine Historie jeder Variante verfügbar. Darüber hinaus kann an jeder Stelle der Berechnung eine neue Variante durch Änderung der Randbedingungen eingepflegt werden. The possibility of variants and calculation methods too deposit is another advantage, because this makes a history of each variant available. In addition, a calculation can be made at any point in the calculation new variant by changing the boundary conditions be maintained.

Von Vorteil ist ebenfalls, daß durch die Erfindung außerdem die Verwaltung und Bereitstellung aller für den Konstrukteur wesentlichen Konstruktionselemente und Objekte (Wissensspeicher) erfolgt. Das stellt eine Vereinfachung, Vereinheitlichung und Optimierung des kompletten Konstruktionsprozesses dar, wodurch für jeden Beteiligten die Transparenz des jeweiligen Konstruktionsvorgangs erhöht wird. It is also advantageous that the invention also manage and deploy everyone for the design elements essential to the designer and Objects (knowledge storage) takes place. That represents one Simplification, unification and optimization of the complete construction process, which means for each participant the transparency of the respective Construction process is increased.

Die Anwendung des erfinderischen Verfahrens bringt als weitere Vorteile eine drastische Kostensenkung im Konstruktions- und Vertriebsbereich mit sich. Lieferzeiten werden reduziert und die Liefertermintreue erhöht. The application of the inventive method brings as further advantages of a drastic cost reduction in Construction and sales area with itself. delivery times are reduced and delivery reliability is increased.

Mit dem Einsatz der Erfindung wird vorteilhaft eine drastische Reduzierung der Markteinführungszeit von Produkten erreicht, und durch die Möglichkeit einer schnelleren Variantensimulation das Produktentwicklungsrisiko ganz erheblich reduziert. Änderungen, Iterationen und Optimierungen des Produktentwicklungsprozesses bedürfen keiner kostenintensiven Umkonstruktion oder Umprogrammierung mehr. With the use of the invention, a drastically reduce time to market from Products achieved, and through the possibility of a faster variant simulation that Product development risk significantly reduced. changes, Iterations and optimizations of the Product development processes do not require costly redesign or reprogramming more.

Des weiteren wirkt sich der Einsatz des erfinderischen Verfahrens vorteilhaft auf die Attraktivität der Produktpalette aus. Diese kann in einfacher Weise erweitert werden, darüber hinaus können individuelle Kundenwünsche ohne großen Aufwand berücksichtigt werden. Furthermore, the use of the inventive Process beneficial to the attractiveness of the Product range. This can be done in a simple manner can be expanded, moreover, individual Customer requests can be taken into account with little effort.

Ein weiterer wichtiger Vorteil besteht darin, daß über die Automatisierung der einzelnen Prozesse die Fehlerrate reduziert und damit eine erhebliche Qualitätsverbesserung des Konstruktions- und Konfigurationsprozesses erreicht wird. Another important advantage is that over the automation of the individual processes Error rate reduced and therefore a significant one Quality improvement of the design and Configuration process is achieved.

Eine bevorzugte Ausführungsform der Erfindung sieht die Verwendung von XML vor. Dies führt zu einer großen Systemoffenheit. Durch die sehr offene Schnittstellenarchitektur ist ein allmählicher Umstieg auf KBE-Software möglich. Es sind keine Dateninkonsistenzen zu befürchten. Durch diese Eigenschaften wird ein hoher Investitionsschutz gewährleistet. A preferred embodiment of the invention provides Use of XML before. This leads to a big one System openness. Because of the very open Interface architecture is a gradual switch to KBE software possible. There are no data inconsistencies fear. These properties make a high one Protection of investment guaranteed.

Der Einsatz der Erfindung hat den zusätzlichen Vorteil, daß die Bereitstellung von Automatisierungswerkzeugen für die Konstruktion nicht mehr mit Einzellösungen stattfinden muß. Das Wissen einzelner Mitarbeiter einer Firma wird so zentral verankert. The use of the invention has the additional advantage that the provision of automation tools for construction no longer with individual solutions must take place. The knowledge of individual employees The company is anchored centrally.

Die Erfindung soll nachstehend anhand von einem zumindest teilweise in den Figuren dargestellten Ausführungsbeispiel näher erläutert werden, welches sich speziell auf den Konstruktionsprozeß bzw. Die Variantenkonstruktion bezieht. The invention is based on one at least partially shown in the figures Embodiment to be explained, which is specifically on the construction process or die Variant construction relates.

Es zeigen: Show it:

Fig. 1 schematische Darstellung des modularen Aufbaus der Architektur der erfindungsgemäßen Anordnung; Fig. 1 shows a schematic representation of the modular design of the architecture of the inventive arrangement;

Fig. 2 Darstellung der am Gesamtprozeß beteiligten Komponenten und deren Zusammenwirkens. Fig. 2 representation of the components involved in the overall process and their interaction.

Der Hauptaspekt bei dieser speziellen Ausführungsform der Erfindung liegt in der automatischen Erzeugung eines Satzes dynamischer SQL-stored Procedures 27 auf einer SQL-Datenbank 3, die einen graphisch erzeugten Workflow abbilden, durch den bspw. Aktivitäten definiert werden, die im Zusammenhang mit der Entstehung, der Beschreibung und der Änderung eines Produkts stehen, insbesondere Arbeitsschritte innerhalb der Planung, Konstruktion und der Anpassung im Rahmen der Variantenkonstruktion, und ihn somit für Datenein- und -ausgaben sowie Datenverarbeitung verwendbar machen. The main aspect in this special embodiment of the invention lies in the automatic generation of a set of dynamic SQL stored procedures 27 on an SQL database 3 , which depict a graphically generated workflow by which, for example, activities are defined which are associated with the creation, the description and the change of a product, in particular work steps within the planning, construction and adaptation within the scope of the variant construction, and thus make it usable for data input and output as well as data processing.

Bei der Planung bzw. Entwicklung eines neuen Produkts wird der Konstrukteur zu Beginn dem zu erstellenden Workflow eine eindeutige Bezeichnung geben, unter der er abgespeichert wird und zur Bearbeitung aufgerufen werden kann. Einzelne Komponenten des Workflows oder Subworkflows können auch einzeln unter dieser Bezeichnung bspw. mit entsprechenden Erweiterungen abgespeichert werden, so daß sie auch einzeln für andere Produkte zur Verfügung stehen, jedoch der Zusammenhang zu dem Ausgangsworkflow - sinnvoll etwa bei der Konstruktion einer Variante - nicht verloren geht. When planning or developing a new product the designer will start with the one to be created Give workflow a unique name under which it is saved and called up for editing can be. Individual components of the workflow or Subworkflows can also be used individually under this Name, for example, with corresponding extensions be saved so that they can also be used individually for others Products are available, however, related to the initial workflow - useful for example at Construction of a variant - not lost.

Für die Erstellung des Workflows wird der sog. Workflow-Designer (WFDesigner 31) genutzt. Dieser stellt dem Konstrukteur zum Entwurf eine graphische Eingabeoberfläche zur Verfügung, bei der sogenannte "Shapes" per Drag & Drop von einer Vorlage auf die Zeichnungsoberfläche gezogen werden. Diese auf der Zeichnungsoberfläche angeordneten Shapes stellen Elemente eines Workflows dar. Es gibt verschiedene Shape-Typen, mit denen Formeln, Tabellenzugriffe, Entscheidungen, Workflow-Anfang und -Ende, Zusammenführung, Meldungen an den Benutzer und Sub-Workflows definiert werden können. Diese Shapes unterscheiden sich durch die ihnen hinterlegten Regeln, die erforderlichen Eingabeparameter und dementsprechend auch durch die ihnen zugeordneten Ein- und/ oder Ausgabemasken (Controls). Diese Shapes können nun vom Konstrukteur spezifiziert werden. Entsprechend den Anforderungen an das zu entwerfende Produkt und entsprechend dem Shape-Typ können nun vom Konstrukteur hinter jedem Shape individuelle Informationen, wie: spezielle Formelsätze, spezifische Zugriffe auf vorher definierte Tabellen und Booleansche Ausdrücke hinterlegt werden. Als User-Interface zur Definition dieser Regeln dienen sogenannte Controls, die dem Shape-Typ entsprechende Masken zur Datenein- und/oder -ausgabe als Eingabeoberflächen zur Verfügung stellen. Diese Controls reichen anschließend, nach Beendigung der Eingabe, für jedes einzelne Shape die eingegebenen Daten direkt an eine auf der Clientfestplatte befindliche XML-Datei durch. Im Falle des Ausführungsbeispiels werden hier, in dieser (lokalen) XML-Datei, die Eingabedaten als SQL-(Zwischen-)Codefragmente abgelegt, die den individuellen Regeln (individuellen Informationen), die dem jeweiligen Shape hinterlegt sind, entsprechend automatisch generiert wurden. Jedes Shape ist so mit seinen Eingabedaten verknüpft, die als Einzelinformationen (in SQL-Code) hinter dem jeweiligen Shape, welches durch seine Position innerhalb der den Workflow definierenden Konfiguration der Shapes (allgemein: Maskenkonfiguration) wohldefiniert ist, (hier noch lokal) abrufbar gespeichert sind. Anschließend, in der Regel wenn der Workflow fertiggestellt wurde, können die in der XML-Datei gespeicherten einzelnen, individuellen SQL-Zwischen-Codefragmente, die zu diesem Workflow gehören, - oder nur Teile davon z. B. Sub-Workflows - noch einmal verarbeitet werden, um einen End- bzw. Teil-SQL-Code für den gesamten Workflow bzw. einen Teil-Workflow zu erzeugen. Dabei werden insbesondere die Variablen-Definitionen, die in den jeweiligen SQL- Zwischen-Codefragmente enthalten sind, aufeinander abgestimmt und konsistent gemacht und die durch die Konfiguration der Shapes vorgegebene Reihenfolge der Abarbeitung der SQL-Zwischen-Codefragmente hergestellt. Alle in der lokalen XML-Datei abgelegten SQL-Codeabschnitte werden dann an eine zentrale XML-Datei 20 gesendet. Alternativ können auch nur ausgewählte SQL- Codeabschnitte an die zentrale XML-Datei 20 übertragen werden. Ein globaler Speicherplatz ist nützlich, weil dann die Einzelinformationen hinter jedem Shape global z. B. für Validierungszwecke zur Verfügung stehen. The so-called workflow designer (WFDesigner 31 ) is used to create the workflow. This provides the designer with a graphic input surface for the design, in which so-called "shapes" are dragged and dropped from a template onto the drawing surface. These shapes, which are arranged on the drawing surface, represent elements of a workflow. There are various shape types that can be used to define formulas, table accesses, decisions, workflow start and end, merge, messages to the user and sub-workflows. These shapes differ in the rules stored for them, the required input parameters and, accordingly, the input and / or output masks (controls) assigned to them. These shapes can now be specified by the designer. According to the requirements of the product to be designed and the shape type, the designer can now store individual information behind each shape, such as: special formula sets, specific access to previously defined tables and Boolean expressions. So-called controls serve as the user interface for the definition of these rules, which provide masks corresponding to the shape type for data input and / or output as input interfaces. After completing the input, these controls then pass the data entered for each individual shape directly to an XML file on the client hard disk. In the case of the exemplary embodiment, the input data are stored here in this (local) XML file as SQL (intermediate) code fragments which were generated automatically in accordance with the individual rules (individual information) which are stored for the respective shape. Each shape is linked to its input data, which can be called up as individual information (in SQL code) behind the respective shape, which is well defined by its position within the configuration of the shapes (generally: mask configuration) that defines the workflow (here still locally) are. Then, usually when the workflow has been completed, the individual, individual SQL intermediate code fragments stored in the XML file that belong to this workflow can be used - or only parts thereof. B. Sub-workflows - processed again to generate an end or partial SQL code for the entire workflow or a partial workflow. In particular, the variable definitions contained in the respective SQL intermediate code fragments are coordinated with one another and made consistent, and the sequence of processing the SQL intermediate code fragments specified by the configuration of the shapes is established. All SQL code sections stored in the local XML file are then sent to a central XML file 20 . Alternatively, only selected SQL code sections can also be transferred to the central XML file 20 . A global storage space is useful because then the individual information behind each shape is global, e.g. B. are available for validation purposes.

Entsprechend dem Herstellungs- und Berechnungsprozeß werden diese Shapes vom Konstrukteur untereinander verbunden. Besonders praktisch ist es, wenn dies auf graphischem Wege erfolgen kann. Das kann beispielsweise dadurch geschehen, daß die miteinander zu verbindenden Elemente markiert werden, indem sie nacheinander mit der Maus "angeklickt" werden oder der Cursor ggf. mit zusätzlich gedrückter Maustaste oder einer gedrückten Taste des Keyboards von einem Element zum anderen gezogen wird. According to the manufacturing and calculation process these shapes are created by the designer connected. It is particularly convenient when this is on can be done graphically. For example happen that the to be connected Elements are marked by using them one after the other "clicked" with the mouse or the cursor with additionally pressed mouse button or a pressed Keyboard key from one element to another is pulled.

Ebensogut können die Elemente miteinander verbunden werden, indem ein Pfeil aus der Schablone auf die Arbeitsoberfläche gezogen wird, und Pfeilende bzw. Pfeilspitze mit den entsprechenden Shapes verbunden werden; die Richtung des Pfeils gibt die Richtung an, in der die Berechnung erfolgt. The elements can be connected with each other just as well by moving an arrow from the template onto the Work surface is pulled, and arrow end or Arrowhead are connected to the corresponding shapes; the direction of the arrow indicates the direction in which the calculation is done.

Alternativ können hier natürlich alle verfügbaren Eingabegeräte wie z. B. Eye-tracker zum Einsatz kommen. Denkbar wäre auch eine automatische Auswertung von akustischer, natürlichsprachlicher Eingabe über Mikrophon, um die gewünschte Konfiguration vorzunehmen. Alternatively, of course, all available here Input devices such as B. Eye trackers are used. An automatic evaluation of acoustic, natural language input via Microphone to make the desired configuration.

Die Summe aller untereinander verbundenen Shapes ergibt den Berechnungs- und Konfigurations-Workflow. The sum of all interconnected shapes results the calculation and configuration workflow.

Die an die zentrale XML-Datei übertragenen Informationen werden nun von einem Compiler in SQL übersetzt und auf der zentralen SQL-Datenbank 3 des Datenbank-Servers 2 in Form von dynamischen Stored Procedures 27 abgelegt. Diese durch den Workflow definierten dynamischen Stored Procedures 27 werden als dynamisch bezeichnet, da sie nach den Vorgaben des vom Konstrukteur erstellten Workflows erzeugt werden - und wieder verändert werden können, im Gegensatz zu einem Satz von statischen Stored Procedures 26, die auf der SQL-Datenbank 3 abgelegt sind und für die Verwaltung und den korrekten Ablauf der Berechnung sorgen, z. B. indem sie die korrekte Reihenfolge der Abarbeitung der dynamischen Stored Procedures 27 garantieren. The information transmitted to the central XML file is now translated into SQL by a compiler and stored in the central SQL database 3 of the database server 2 in the form of dynamic stored procedures 27 . These dynamic stored procedures 27 defined by the workflow are referred to as dynamic, since they are generated according to the specifications of the workflow created by the designer - and can be changed again, in contrast to a set of static stored procedures 26 which are in the SQL database 3 are stored and take care of the administration and the correct execution of the calculation, e.g. B. by guaranteeing the correct order of processing of the dynamic stored procedures 27 .

Für jedes Element (Shape) des Workflows wird jeweils eine SQL-Einzelprozedur erzeugt. In diesen "Element- Einzelprozeduren" sind entsprechend der im Workflow verwendbaren Elemente "Formel", "Tabellenzugriff" und "Entscheidung" SQL-Codeelemente hinterlegt. Dadurch, daß durch die Konfiguration jedes einzelne Shape seinen Nachfolger "kennt" wird das Durchlaufen der einzelnen Elemente entsprechend der graphisch im Workflow- Designer (WFDesigner 31) hinterlegten Ablauflogik gesteuert. A SQL single procedure is generated for each element (shape) of the workflow. SQL element elements are stored in these "element single procedures" according to the elements "formula", "table access" and "decision" that can be used in the workflow. The fact that the configuration of each individual shape "knows" its successor controls the passage of the individual elements in accordance with the flow logic stored graphically in the workflow designer (WFDesigner 31 ).

Die Nutzung eines vorhandenen, durch das eben beschriebene Verfahren erstellten Workflows für die Konstruktion bzw. Konfiguration einer neuen Variante wird durch den sog. Workflow-Solver (WFSolver 32) ermöglicht. Dieser stellt eine browsergestützte Oberfläche zur Verfügung. Nach Auswahl eines Workflows, der dem Produkttyp der zu konstruieren bzw. zu konfigurieren ist, entspricht oder nahekommt, wird das in kompilierter Form hinterlegte SQL-Programm des vorhandenen Workflows gestartet. Die dynamischen Stored Procedures 27 werden bis zu jenem Punkt im Workflow abgearbeitet, an dem laut vorheriger Definition Meldungen an den User ausgegeben werden müssen. Die Meldungen dienen zur Ausgabe von Werten z. B. zur Überprüfung eines Berechnungsstandes und zur Eingabe weiterer Werte für den weiteren Berechnungs- bzw. Konfigurationsverlauf. The so-called workflow solver (WFSolver 32 ) enables the use of an existing workflow created by the process just described for the construction or configuration of a new variant. This provides a browser-based interface. After selecting a workflow that corresponds to or comes close to the product type that is to be constructed or configured, the compiled form of the SQL program of the existing workflow is started. The dynamic stored procedures 27 are processed up to the point in the workflow at which, according to the previous definition, messages have to be output to the user. The messages are used to output values e.g. B. to check a calculation status and to enter further values for the further calculation or configuration process.

Meldungen an den User stellen des weiteren Scheidepunkte auf dem Weg zum fertigen zu konstruierenden bzw. zu konfigurierenden Produkt dar. Die neuen Eingaben des Users beeinflussen die Ausprägung des Endproduktes und dienen somit als Ausgangspunkt für neue Varianten desselben. Beispielsweise kann die Wahl eines neuen Werkstoffes eine Änderung des Durchmesser von Rohren oder eine Änderung der Wandstärke von Behältern zur Folge haben. Der so entstehende Variantenbaum ist ein Abbild der Historie der Berechnung bzw. Konfiguration des Endproduktes und kann zur Rückverfolgung und zur Hinterlegung weiterer Varianten verwendet werden. Submit messages to the user Crossing points on the way to the finished to be constructed or product to be configured. The new entries of the Users influence the characteristics of the end product and thus serve as a starting point for new variants thereof. For example, choosing a new one Material a change in the diameter of pipes or a change in the wall thickness of containers to have. The resulting variant tree is an image the history of the calculation or configuration of the End product and can be used for traceability and Additional variants can be used.

Die Applikation bei der beispielhaften Ausführungsform der Erfindung ist in vier Schichten (Graphisches Frontend 4 und Webfrontend 5, Internetserver 3, Transaktionserver 6, Datenbankserver 2) implementiert (siehe Fig. 1). Diese Vier-Schichtenarchitektur gewährleistet Transaktionssicherheit und eine starke Entkoppelung vom User-Interface. Die Schnittstellen zu anderen Programmen, wie Enterprise Resource Planning (ERP 30), Produktionsplanungs- und Steuerungssystemen (PPS 30), Product Data Management (PDM) und Computer Aided Design (CAD 29) sind in der beschriebenen Ausführung durchweg in XML realisiert. The application in the exemplary embodiment of the invention is implemented in four layers (graphic front end 4 and web front end 5 , internet server 3 , transaction server 6 , database server 2 ) (see FIG. 1). This four-tier architecture ensures transaction security and strong decoupling from the user interface. The interfaces to other programs such as Enterprise Resource Planning (ERP 30 ), production planning and control systems (PPS 30 ), Product Data Management (PDM) and Computer Aided Design (CAD 29 ) are all implemented in XML as described.

Zusammenfassend kann man sagen, daß der Knowledge Engineer im ersten Schritt den WFDesigner 31 zur Aufbereitung der Wissensbasis, d. h. Verwaltung und Pflege der Varianten (Merkmale, Optionen) sowie der Regeln und Formeln, verwendet. Es wird dabei beispielsweise eine unter MS-Visio laufende Oberfläche verwendet. Dabei kann z. B. die linke Seite der Oberfläche als "Vorlage" die Shapes beinhalten. Diese symbolisieren etwa die Elemente "Formel", "Entscheidung", "Tabellenzugriff", "Meldung an den Benutzer", "Zusammenführung", "externe Daten", "externe Programme" und andere. Durch Drag & Drop können nun die Elemente auf die Zeichnungsoberfläche gezogen werden. Dabei wird jeweils ein Editor geladen, der es dem Ingenieur ermöglicht, auf Basis zuvor aus CAD-Systemen 29 importierter und selbstdefinierter Parametrik, Formeln, Tabellenzugriffe, Entscheidungen und Benutzermeldungen einzugeben. In summary, it can be said that in the first step the knowledge engineer uses the WFDesigner 31 to prepare the knowledge base, ie administration and maintenance of the variants (features, options) as well as the rules and formulas. For example, a surface running under MS Visio is used. Here, for. B. the left side of the surface contains the shapes as a "template". These symbolize the elements "formula", "decision", "table access", "message to user", "merge", "external data", "external programs" and others. The elements can now be dragged and dropped onto the drawing surface. Here, an editor will be loaded is enabling the engineer to enter based on previously from CAD systems 29 imported and self-defined parametrics, formulas, table accesses, decisions and user messages.

Dieser die Regeln abarbeitende Ablaufplan wird nun validiert und in SQL-Prozeduren auf einem Datenbankserver 2 umgesetzt, also kompiliert. Dabei erfolgt die Validierung auf der Schicht des Frontends, die Kompilation wird in allen vier Schichten durchgeführt. This schedule, which processes the rules, is now validated and implemented, ie compiled, in SQL procedures on a database server 2 . The validation takes place on the layer of the frontend, the compilation is carried out in all four layers.

Damit steht der Berechnungsablauf nun für die weitere Verwendung zur Verfügung. The calculation process now stands for the rest Use available.

Im zweiten Schritt kann der WFSolver 32 verwendet werden, um entsprechend den Vorgaben eines zu bearbeitenden, im ersten Schritt erstellten Ablaufplanes in den zuvor definierten Eingabeaufforderungen Daten einzugeben und diese durch die SQL-Prozeduren verarbeiten zu lassen. Im Ergebnis entsteht dann eine Variante eines bestimmten zu konstruierenden bzw. zu konfigurierenden Produkttyps, der jeweils ganz speziellen Ansprüchen gerecht wird. Die Ergebnisse bedienen dann die Parametrik eines CAD-Modell oder eine Stückliste, die an die Fertigung durchgereicht werden kann. Der zweite Teil der Applikation - der WFSolver 32 - ist für Vertrieb und Konstrukteur gedacht, die Aufträge durch Automatisierung der Vorgänge mit erheblicher Zeitersparnis abarbeiten können. In the second step, the WFSolver 32 can be used to enter data in the previously defined input prompts in accordance with the specifications of a flowchart to be processed and created in the first step and to have these processed by the SQL procedures. The result is a variant of a specific product type to be designed or configured, which meets very specific requirements. The results then serve the parametrics of a CAD model or a parts list that can be passed on to production. The second part of the application - the WFSolver 32 - is intended for sales and design engineers who can process orders with considerable time savings by automating the processes.

Die Erfindung ist nicht beschränkt auf die hier dargestellten Ausführungsbeispiele. Vielmehr ist es möglich, durch Kombination und Modifikation der genannten Mittel und Merkmale weitere Ausführungsvarianten zu realisieren, ohne den Rahmen der Erfindung zu verlassen. Bezugszeichenliste 1 Client-System
2 Datenbank-Server
3 SQL-Datenbank
4 Internet-Server
5 Graphisches Frontend (z. B. MS-Visio)
6 Webfrontend, Schnittstelle zu externen Netzwerken (z. B. Internet-Browser)
7 Transaktionsserver, Schnittstelle zu externen Programmen (z. B. CAD-Programmen wie Pro/E, Import/Export-Module für PPS/ERP/CAD)
8 administrative Komponente
9 Modul zur Ablaufdefinition
10 Formeleditor
11 Visualisierungs-Modul für Strukturbäume der CAD- Parametrik
12 Tabellenverwaltung
13 Entscheidungseditor
14 Tabellenzugriffseditor
15 Komponente für die allgemeine Administration
16 Auftragsverwaltung
17 Modul für die allgemeine Verwaltung
18 Berechnungs- und Konfigurationsmodul
19 Import/Export-Stücklisten zu CAD/PPS/ERP
20 zentrale XML-Datei zur Speicherung des Berechnungs- und Konfigurationsablaufs
21 XML-Datei als Schnittstelle zu PPS/ERP
22 XML-Datei als Schnittstelle zu CAD
23 Internet Informations-Server
24 Mittelschichtkomponenten
25 Javascript für die Internetvalidierung
26 statische Stored Procedures
27 dynamische Stored Procedures
28 Komponenten-Server
29 CAD-System
30 PPS/ERP
31 WFDesigner
32 WFSolver
The invention is not restricted to the exemplary embodiments shown here. Rather, it is possible to implement and implement further embodiment variants by combining and modifying the means and features mentioned, without leaving the scope of the invention. LIST OF REFERENCES 1 client system
2 database servers
3 SQL database
4 internet servers
5 Graphical front end (e.g. MS-Visio)
6 Web front end, interface to external networks (e.g. Internet browser)
7 transaction server, interface to external programs (e.g. CAD programs such as Pro / E, import / export modules for PPS / ERP / CAD)
8 administrative component
9 module for process definition
10 formula editor
11 Visualization module for CAD parametric structure trees
12 Table management
13 decision editor
14 Table access editor
15 General administration component
16 Order management
17 General administration module
18 Calculation and configuration module
19 Import / export parts lists for CAD / PPS / ERP
20 central XML files for storing the calculation and configuration process
21 XML file as an interface to PPS / ERP
22 XML file as an interface to CAD
23 Internet information server
24 middle class components
25 Javascript for internet validation
26 static stored procedures
27 dynamic stored procedures
28 component server
29 CAD system
30 PPS / ERP
31 WFDesigner
32 WFSolver

Claims (23)

1. Verfahren zur automatischen Erzeugung von Programmcodeabschnitten, dadurch gekennzeichnet, daß
über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt,
jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet,
den über (eine) Maske(n) zur Datenein- und/oder ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird.
1. A method for the automatic generation of program code sections, characterized in that
via a graphical user interface (GUI) of a data processing system, masks (controls) for data input and / or output or masks for data input and / or output are provided with additional means for configuring these masks,
assigned to each of the masks rules for evaluating the data input and / or output via this mask and for evaluating the configurations made,
the data input and / or output via and / or output data and / or at least part of the mask configuration according to automatically by the data processing system by processing the data for the input and / or Output associated mask (s) associated rules at least one program code section is generated and provided.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß
die den Masken zur Datenein- und/oder -ausgabe zugeordneten Regeln Programmanweisungen umfassen, welche
die Übernahme von Eingabedaten und/oder
die Erzeugung von Ausgabedaten
steuern.
2. The method according to claim 1, characterized in that
the rules assigned to the masks for data input and / or output include program instructions which
the transfer of input data and / or
the generation of output data
Taxes.
3. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
die einer Maske zugeordneten Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten aus diesen Daten Programmabarbeitungsanweisungen erstellen, wobei die Daten
als Parameter oder Variablen einer Formel und/oder
als Adressen für Lese/Schreib-Zugriffe auf Speicherbereiche und/oder
als Adressen für Lese/Schreib-Zugriffe auf Tabellen und/oder
als Adressen für Lese/Schreib-Zugriffe auf Dateien
interpretiert werden.
3. The method according to any one of the preceding claims, characterized in that
The rules assigned to a mask for the evaluation of the data input and / or output via this mask from this data create program processing instructions, the data
as parameters or variables of a formula and / or
as addresses for read / write access to memory areas and / or
as addresses for read / write access to tables and / or
as addresses for read / write access to files
be interpreted.
4. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß durch die einer Masken zugeordneten Regeln für die Auswertung der vorgenommenen Konfigurationen dieser Maske ein oder mehrere Vorgänger-Masken und/oder Nachfolger-Masken zugeordnet werden. 4. The method according to any one of the preceding claims, characterized in that by the rules assigned to a mask for the Evaluation of the configurations made this mask one or more previous masks and / or successor masks can be assigned. 5. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Erzeugung der Programmcodeabschnitte derart erfolgt, daß in einem ersten Schritt einer jeden (einem Teil) der eine Maskenkonfiguration bildenden Masken zur Datenein- und/oder -ausgabe ein individuelles Zwischen-Codefragment zugeordnet und in einem zweiten Schritt aus den Zwischen-Codefragmenten dieser Masken ein End-Codeabschnitt (Teil-Codeabschnitt) erzeugt wird. 5. The method according to any one of the preceding claims, characterized in that the generation of the program code sections in this way takes place in a first step of each (part) of a mask configuration masks for data input and / or output assigned individual intermediate code fragment and in a second step from the An end code section between code fragments of these masks (Partial code section) is generated. 6. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
die Masken-Konfiguration wenigstens einen Teil eines
einen Produktplanungsprozeß und/oder
einen Konstruktionsprozeß und/oder
einen Produktanpassungsprozeß (Variantenkonstruktion)
definierenden Flußdiagramms (Workflow) abbildet.
6. The method according to any one of the preceding claims, characterized in that
the mask configuration at least part of one
a product planning process and / or
a construction process and / or
a product adaptation process (variant construction)
defining flowchart (workflow).
7. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
verschiedene Typen von Masken zur Datenein- und/oder -ausgabe bereitgestellt werden, welche jeweils Strukturelemente des Workflows abbilden, wie
Workflow-Anfang,
Tabellenzugriff,
Definition einer Formel,
Meldungen an den Nutzer,
Entscheidung,
Aufruf externer Programme,
Abruf externer Daten,
Stop der Berechnung,
die Möglichkeit, SQL-Code direkt einzugeben,
Zusammenführung und/oder
Workflow-Ende.
7. The method according to any one of the preceding claims, characterized in that
Different types of masks for data input and / or output are provided, each of which depict structural elements of the workflow, such as
Workflow start,
Table access,
Definition of a formula,
Messages to the user,
Decision,
Calling external programs,
Retrieval of external data,
Stop the calculation,
the possibility of entering SQL code directly,
Merge and / or
Workflow end.
8. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Mittel zur Konfiguration mindestens ein Computerprogramm umfassen, welches den Datenaustausch zwischen den Elementen der Maskenkonfiguration steuert, indem es Signale von Mitteln zur Dateneingabe auswertet. 8. The method according to any one of the preceding claims, characterized in that the means of configuration at least one Computer program which includes the data exchange between the elements of the mask configuration controls by sending signals from means to Evaluates data entry. 9. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
die Signale der Mittel zur Dateneingabe erzeugt werden
durch mindestens einen Maus-Klick und/oder
durch Bewegung eines Cursors und/oder einer Maus und/oder
durch Berührung eines Touch-Screen und/oder
durch Betätigung der Tastatur eines Keyboards.
9. The method according to any one of the preceding claims, characterized in that
the signals of the data input means are generated
by at least one mouse click and / or
by moving a cursor and / or a mouse and / or
by touching a touch screen and / or
by pressing the keyboard of a keyboard.
10. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Ergebnisse der Auswertung der Signale der Mittel zur Dateneingabe visualisiert werden, indem die durch diese Signale definierten Elementen der Maskenkonfiguration durch graphische Elemente miteinander verbunden werden. 10. The method according to any one of the preceding claims, characterized in that the results of the evaluation of the signals of the Means of data entry can be visualized by the elements defined by these signals Mask configuration using graphic elements be connected to each other. 11. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
Schnittstellen zu externen Programmen wie
Enterprise Resource Planning Programmen und/oder
Produktionsplanungs- und Steuerungssystemen und/oder
Product Data Management Systemen und/oder
Programmen zum Computer Aided Design
bereitgestellt werden.
11. The method according to any one of the preceding claims, characterized in that
Interfaces to external programs such as
Enterprise Resource Planning programs and / or
Production planning and control systems and / or
Product data management systems and / or
Computer aided design programs
to be provided.
12. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß diese Schnittstellen in XML realisiert sind. 12. The method according to any one of the preceding claims, characterized in that these interfaces are implemented in XML. 13. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß jedem Masken-Typen ein Icon (Shape) zugeordnet ist. 13. The method according to any one of the preceding claims, characterized in that an icon (shape) is assigned to each mask type is. 14. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß zur Darstellung des Workflows die den Masken zugeordneten Icons (Shapes) genutzt werden. 14. The method according to any one of the preceding claims, characterized in that to display the workflow of the masks assigned icons (shapes) can be used. 15. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Icons auf einem ersten speziellen Bereich des GUI - der Vorlage - bereitgestellt werden und die den Icons zugeordneten Masken auf einem zweiten Bereich des GUI - der Zeichnungsoberfläche - erzeugt werden, indem die Icons per Drag-and-Drop von der Vorlage auf die Zeichnungsoberfläche gezogen werden. 15. The method according to any one of the preceding claims, characterized in that the icons on a first special area of the GUI - the template - and the masks assigned to the icons on a second Area of the GUI - the drawing interface - generated by dragging and dropping the icons from the template to the drawing surface to be pulled. 16. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die Masken zur Datenein- und/oder -ausgabe nutzbar gemacht werden, indem durch Mittel zur Dateneingabe vorgebbare Signale an die Icons (Shapes) gesendet werden. 16. The method according to any one of the preceding claims, characterized in that the masks can be used for data input and / or output be made by means of Data inputable signals to the icons (shapes) be sent. 17. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
die durch die Mittel zur Dateneingabe gesendeten Signale
durch mindestens einen Maus-Klick und/oder durch Berühren eines Touch-Screen in der Dateneingabe dienenden Bereichen des GUI und/oder
durch Betätigung der Tastatut eines Keyboards
erzeugt werden.
17. The method according to any one of the preceding claims, characterized in that
the signals sent by the data entry means
by at least one mouse click and / or by touching a touch screen in the data input areas of the GUI and / or
by pressing the keyboard of a keyboard
be generated.
18. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
von den Masken zur Datenein- und/oder -ausgabe mindestens
ein frei beschreibbares Eingabefeld und/oder
ein Pull-down-Menü und/oder
ein Slider (Schieber) zur Dateneingabe oder -änderung und/oder
ein Schalter und/oder
ein Eingabe-Button und/oder
eine Combo-Box und/oder
eine Check-Box und/oder
ein Optionsfeld (Radio Button) und/oder
ein Hyperlink
bereitgestellt wird.
18. The method according to any one of the preceding claims, characterized in that
at least from the masks for data input and / or output
a freely writable input field and / or
a pull-down menu and / or
a slider for entering or changing data and / or
a switch and / or
an enter button and / or
a combo box and / or
a check box and / or
an radio button and / or
a hyperlink
provided.
19. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß
die erzeugten Programmcodeabschnitte
als interpretierbarer Code oder
als compilierbarer Code oder
als ausführbarer Programmcode
bereitgestellt werden.
19. The method according to any one of the preceding claims, characterized in that
the generated program code sections
as interpretable code or
as compilable code or
as executable program code
to be provided.
20. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die erzeugten Programmcodeabschnitte als dynamische SQL-stored Procedures bereitgestellt werden. 20. The method according to any one of the preceding claims, characterized in that the generated program code sections as dynamic SQL stored procedures provided become. 21. Anordnung mit mindestens einem Prozessor, der (die) derart eingerichtet ist (sind), daß ein Verfahren zur automatischen Erzeugung von Programmcodeabschnitten durchführbar ist, wobei über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt,
jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet,
den über (eine) Maske(n) zur Datenein- und/oder -ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird.
21. Arrangement with at least one processor, which is (are) set up in such a way that a method for automatically generating program code sections can be carried out, masks (controls) for data input and / or. Via a graphic user interface (GUI) of a data processing system output or masks for data input and / or output with additional means for configuring these masks,
assigned to each of the masks rules for evaluating the data input and / or output via this mask and for evaluating the configurations made,
The data input and / or output via / a mask (s) for data input and / or output and / or at least part of the mask configuration according to automatically by the data processing system by processing the data for the input and / or At least one program code section is generated and made available to rules associated with the mask (s) or output used.
22. Computerprogramm-Erzeugnis, das ein computerlesbares Speichermedium umfaßt, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur automatischen Erzeugung von Programmcodeabschnitten durchzuführen, wobei über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt,
jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet,
den über (eine) Maske(n) zur Datenein- und/oder -ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird.
22. A computer program product comprising a computer readable storage medium on which is stored a program which, after being loaded into the computer's memory, enables a computer to carry out a method for the automatic generation of program code sections, via a graphical user interface (GUI) of a data processing system, masks (controls) for data input and / or output or masks for data input and / or output are provided with additional means for configuring these masks,
assigned to each of the masks rules for evaluating the data input and / or output via this mask and for evaluating the configurations made,
The data input and / or output via / a mask (s) for data input and / or output and / or at least part of the mask configuration according to automatically by the data processing system by processing the data for the input and / or At least one program code section is generated and made available to rules associated with the mask (s) or output used.
23. Computerlesbares Speichermedium, auf dem ein Programm gespeichert ist, das es einem Computer ermöglicht, nachdem es in den Speicher des Computers geladen worden ist, ein Verfahren zur automatischen Erzeugung von Programmcodeabschnitten durchzuführen, wobei über eine graphische Benutzerschnittstelle (GUI) eines Datenverarbeitungssystems Masken (Controls) zur Datenein- und/oder -ausgabe oder Masken zur Datenein- und/oder -ausgabe mit zusätzlich Mitteln zur Konfiguration dieser Masken bereitgestellt,
jeder der Masken Regeln für die Auswertung der über diese Maske ein- und/oder ausgegebenen Daten und für die Auswertung der vorgenommenen Konfigurationen zugeordnet,
den über (eine) Maske(n) zur Datenein- und/oder ausgabe ein- und/oder ausgegebenen Daten und/oder wenigstens einem Teil der Maskenkonfiguration gemäß automatisch von dem Datenverarbeitungssystem durch Abarbeitung der den (der) für die Ein- und/oder Ausgabe genutzten Maske(n) zugeordneten Regeln mindestens ein Programmcodeabschnitt erzeugt und bereitgestellt wird
23. Computer-readable storage medium, on which a program is stored, which, after it has been loaded into the memory of the computer, enables a computer to carry out a method for the automatic generation of program code sections, masks (via a graphical user interface (GUI) of a data processing system). Controls) for data input and / or output or masks for data input and / or output with additional means for configuring these masks,
assigned to each of the masks rules for evaluating the data input and / or output via this mask and for evaluating the configurations made,
the data input and / or output via and / or output data and / or at least part of the mask configuration according to automatically by the data processing system by processing the data for the input and / or Output associated mask (s) associated rules at least one program code section is generated and provided
DE2002115653 2002-04-09 2002-04-09 Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated Ceased DE10215653A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002115653 DE10215653A1 (en) 2002-04-09 2002-04-09 Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002115653 DE10215653A1 (en) 2002-04-09 2002-04-09 Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated

Publications (1)

Publication Number Publication Date
DE10215653A1 true DE10215653A1 (en) 2003-11-06

Family

ID=28798334

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002115653 Ceased DE10215653A1 (en) 2002-04-09 2002-04-09 Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated

Country Status (1)

Country Link
DE (1) DE10215653A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1643435A1 (en) * 2004-10-01 2006-04-05 Microsoft Corporation An extensible framework for designing workflows
DE102005049657A1 (en) * 2005-10-18 2007-04-19 Zf Lenksysteme Gmbh Automatic generation of a computer program for monitoring a main program to provide operational safety
US7363628B2 (en) 2005-06-27 2008-04-22 Microsoft Corporation Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
US7451432B2 (en) 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US7464366B2 (en) 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US7565640B2 (en) 2004-10-01 2009-07-21 Microsoft Corporation Framework for seamlessly authoring and editing workflows at design and runtime
US7631291B2 (en) 2004-10-01 2009-12-08 Microsoft Corporation Declarative representation for an extensible workflow model
US7805324B2 (en) 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1643435A1 (en) * 2004-10-01 2006-04-05 Microsoft Corporation An extensible framework for designing workflows
US7451432B2 (en) 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US7464366B2 (en) 2004-10-01 2008-12-09 Microsoft Corporation Programming interface for a componentized and extensible workflow model
US7565640B2 (en) 2004-10-01 2009-07-21 Microsoft Corporation Framework for seamlessly authoring and editing workflows at design and runtime
US7631291B2 (en) 2004-10-01 2009-12-08 Microsoft Corporation Declarative representation for an extensible workflow model
US7805324B2 (en) 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8103536B2 (en) 2004-10-01 2012-01-24 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US8170901B2 (en) 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US7363628B2 (en) 2005-06-27 2008-04-22 Microsoft Corporation Data centric and protocol agnostic workflows for exchanging data between a workflow instance and a workflow host
DE102005049657A1 (en) * 2005-10-18 2007-04-19 Zf Lenksysteme Gmbh Automatic generation of a computer program for monitoring a main program to provide operational safety

Similar Documents

Publication Publication Date Title
DE60311805T2 (en) Acquisition, compilation and / or visualization of structural features of architectures
DE69723489T2 (en) Process and system for managing construction and production information
EP1061422B1 (en) Computer system for the definition, optimisation and control of processes
DE102011001460A1 (en) Method and device for a data-driven interface based on relations between process control labels
EP1917611A2 (en) System for the computer-aided design of technical devices
DE102015100024A1 (en) Reusable graphics elements with fast editable features for use in plant monitor system user displays
DE10206902A1 (en) Engineering process and engineering system for industrial automation systems
EP3049920A1 (en) Method and device for the automated production and provision of at least one software application
DE112005001031T5 (en) Graphic display configuration framework for unified process control system interface
WO2010124853A2 (en) Method for producing at least one application guide
WO2018001650A1 (en) Method and apparatus for shaping a production process for producing a product made up of multiple subproducts
DE102010004192A1 (en) Process for the construction of industrial plants
DE10215653A1 (en) Program code automatic generation method in which program code sections are generated using input and output controls or masks so that flexible engineering workflows can be gernated
DE69921305T2 (en) PROCESS CONTROL WITH ACTIVEX
WO2000031597A2 (en) Automation system for solving a technical-process task and corresponding method
WO2019223970A1 (en) Creating of an interdisciplinary simulation model
WO2011023589A1 (en) Method of assistance in the planning of a technical system
EP3364257A1 (en) Method for operating an engineering system for an industrial process automation system and control program
EP2642359A1 (en) Device for developing and method for creating a programm for an electronical control unit
DE102019008598A1 (en) Identification and visualization of associations between code generated by a model and sources that influence code generation
EP3771979A1 (en) Method and device for optimal configuration of a device of a device class
EP2479664A1 (en) System and method for generating a source code for a computer program
EP3862822A1 (en) Method and system for validating a control program
EP3702907A1 (en) Method of providing augmented-reality data, computing device, system and computer program
DE102004023634B4 (en) Method for checking the completeness and consistency of an information library

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection