[go: up one dir, main page]

DE10215653A1 - Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium - Google Patents

Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium

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
English (en)
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/de
Publication of DE10215653A1 publication Critical patent/DE10215653A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Es wird ein Verfahren und eine Anordnung zur automatischen Erzeugung von Programmcodeabschnitten beschrieben sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium, welche insbesondere eingesetzt werden können, um flexibel Engineering Workflows zu erstellen. Das schließt vor allem die Arbeitsschritte innerhalb der Planung, der Konstruktion und der Anpassung im Rahmen der Variantenkonstruktion ein. DOLLAR A Hierbei wird vorgeschlagen, über eine graphische Benutzerschnittstelle eines Datenverarbeitungssystems Masken zur Datenein- oder -ausgabe mit zusätzlichen Mitteln zur Konfiguration dieser Masken bereitzustellen, wobei 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 sind. Gemäß den über die Masken ein- oder ausgegebenen Daten und gemäß der vorgenommenen Maskenkonfiguration wird anschließend von dem Datenverarbeitungssystem automatisch durch Abarbeitung der den Masken zugeordneten Regeln ein Programmcodeabschnitt erzeugt und bereitgestellt.

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.
  • 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.
  • 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.
  • Die herkömmlichen Lösungen für flexible CAD-Systeme weisen mehrere Nachteile auf. Die wichtigsten lassen sich folgendermaßen charakterisieren
  • 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.
  • Die Bedienung dieser CAD-Systeme erfordert somit, daß der das Konstruktionsverfahren abbildende Ingenieur über zusätzliche Programmierkenntnisse verfügen muß.
  • 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.
  • Die Basis der Regeleingabe bilden fertige Bauteile, die entsprechend den Regeln nur zusammengesetzt aber nicht vollständig neu dimensioniert werden können.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Darüber hinaus ist es von Vorteil, daß diese Schnittstellen in XML realisiert sind.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Die Entwicklung von Varianten bzw. Typenmaschinen wird durch die Erfindung unterstützt, indem dem Konstrukteur klare Vorgehensweisen, Verwendungshinweise und/oder Konstruktionselemente automatisch angeboten werden.
  • Die Verwendung von XML (= eXtensible Markup Language) als Kommunikationssprache erlaubt den extrem einfachen Zugriff auf verschiedenartigste Datenquellen.
  • 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.
  • Die erfinderische Anordnung ist vorteilhafterweise mit einem graphischen Interface versehen. Dadurch verringert sich die Einarbeitungszeiten in das System, insbesondere durch intuitive Bedienbarkeit.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Es zeigen:
  • Fig. 1 schematische Darstellung des modularen Aufbaus der Architektur der erfindungsgemäßen Anordnung;
  • Fig. 2 Darstellung der am Gesamtprozeß beteiligten Komponenten und deren Zusammenwirkens.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Die Summe aller untereinander verbundenen Shapes ergibt den Berechnungs- und Konfigurations-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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • Damit steht der Berechnungsablauf nun für die weitere Verwendung zur Verfügung.
  • 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.
  • 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

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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
12. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß diese Schnittstellen in XML realisiert sind.
13. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß jedem Masken-Typen ein Icon (Shape) zugeordnet ist.
14. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß zur Darstellung des Workflows die den Masken zugeordneten Icons (Shapes) genutzt werden.
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.
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.
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.
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.
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.
20. Verfahren nach einem der vorangehenden Ansprüche, dadurch gekennzeichnet, daß die erzeugten Programmcodeabschnitte als dynamische SQL-stored Procedures bereitgestellt werden.
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.
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.
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
DE2002115653 2002-04-09 2002-04-09 Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium Ceased DE10215653A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002115653 DE10215653A1 (de) 2002-04-09 2002-04-09 Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002115653 DE10215653A1 (de) 2002-04-09 2002-04-09 Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium

Publications (1)

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

Family

ID=28798334

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002115653 Ceased DE10215653A1 (de) 2002-04-09 2002-04-09 Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium

Country Status (1)

Country Link
DE (1) DE10215653A1 (de)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1643435A1 (de) * 2004-10-01 2006-04-05 Microsoft Corporation Ein erweiterbares Rahmenwerk zum Entwerfen von Arbeitsabläufen
DE102005049657A1 (de) * 2005-10-18 2007-04-19 Zf Lenksysteme Gmbh Verfahren zur automatischen Generierung eines Computerprogramms
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 (de) * 2004-10-01 2006-04-05 Microsoft Corporation Ein erweiterbares Rahmenwerk zum Entwerfen von Arbeitsabläufen
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 (de) * 2005-10-18 2007-04-19 Zf Lenksysteme Gmbh Verfahren zur automatischen Generierung eines Computerprogramms

Similar Documents

Publication Publication Date Title
DE69723489T2 (de) Verfahren und System zur Verwaltung von Bau- und Produktionsinformation
DE102011001460A1 (de) Verfahren und Gerät für eine datengesteuerte Schnittstelle basierend auf Relationen zwischen Prozesssteuerungsetiketten
DE102007040823A1 (de) Editier- und Berichts-Tool für Grafische Programmiersprachenobjekte
DE10206902A1 (de) Engineeringverfahren und Engineeringsystem für industrielle Automatisierungssysteme
WO2015044374A1 (de) Verfahren und einrichtung zur automatisierten erzeugung und bereitstellung wenigstens einer softwareanwendung
DE102010038146A1 (de) Verfahren zum Auswählen von Formen in einer Grafikanzeige
DE112005001031T5 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
DE102015100024A1 (de) Wiederverwendbare Grafikelemente mit schnell bearbeitungsfähigen Merkmalen zur Verwendung in Benutzeranzeigen von Anlagenüberwachungssystemen
EP1061422A1 (de) Informationstechnisches System zur Definition, Optimierung und Steuerung von Prozessen
WO2010124853A2 (de) Verfahren zur erzeugung mindestens einer anwendungsbeschreibung
WO2007020231A2 (de) System für den maschinengestützten entwurf technischer vorrichtungen
EP3446185A1 (de) Verfahren und vorrichtung zur gestaltung eines produktionsprozesses zum produzieren eines aus mehreren teilprodukten zusammengesetzten produkts
EP1516250A2 (de) Softwareapplikation, softwarearchitektur und verfahren zur erstellung von softwareapplikationen, insbesondere für mes-systeme
EP3572956A1 (de) Erstellung eines interdisziplinären simulationsmodells
DE102012001406A1 (de) Automatische Konfiguration eines Produktdatenmanagementsystems
DE10215653A1 (de) Verfahren und Anordung zur automatischen Erzeugung von Programmcodeabschnitten sowie ein entsprechendes Computerprogrammprodukt und ein entsprechendes computerlesbares Speichermedium
DE102010004192A1 (de) Verfahren zur Konstruktion industrieller Anlagen
DE69921305T2 (de) Prozessteuerung mit activex
WO2000031597A2 (de) Automatisierungssystem zur lösung einer prozesstechnischen aufgabenstellung und verfahren hierzu
WO2011023589A1 (de) Verfahren zur unterstützung einer planung einer technischen anlage
EP2642359A1 (de) Entwicklungseinrichtung und Verfahren zum Erstellen eines Steuergeräteprogramms
EP3364257A1 (de) Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm
EP1402326B1 (de) Verfahren und datenverarbeitungseinrichtung zur inbetriebsetzung von manufacturing execution systems (mes) - komponenten
EP3709188A1 (de) Rechnerarchitektur für eine schnittstelle zur aggregation von datenobjekten in einem verteilten system
EP3771979A1 (de) Verfahren und vorrichtung zur optimalen konfiguration eines geräts einer geräteklasse

Legal Events

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