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 SpeichermediumInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation 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.
ü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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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)
| 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 |
-
2002
- 2002-04-09 DE DE2002115653 patent/DE10215653A1/de not_active Ceased
Cited By (10)
| 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 |