DE19712946A1 - Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells - Google Patents

Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells

Info

Publication number
DE19712946A1
DE19712946A1 DE19712946A DE19712946A DE19712946A1 DE 19712946 A1 DE19712946 A1 DE 19712946A1 DE 19712946 A DE19712946 A DE 19712946A DE 19712946 A DE19712946 A DE 19712946A DE 19712946 A1 DE19712946 A1 DE 19712946A1
Authority
DE
Germany
Prior art keywords
container
reuse part
mapping
input
output
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
DE19712946A
Other languages
English (en)
Inventor
Frank Dr Leymann
Dieter Roller
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE19712946A1 publication Critical patent/DE19712946A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/961Operator interface with visual structure or function dictated by intended use
    • Y10S715/965Operator interface with visual structure or function dictated by intended use for process control and configuration
    • Y10S715/966Computer process, e.g. operation of computer
    • Y10S715/967Visual or iconic programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)

Description

1. Hintergrund der Erfindung 1.1 Gebiet der Erfindung
Die vorliegende Erfindung bezieht sich auf das technische Gebiet des Prozeßmamagements einer Workflow-Umgebung auf Computersystemen. Genauer bezieht sich die vorliegende Erfindung auf eine Erweiterung einer Workflow-Umgebung und ihr Kombinieren mit einer Umgebung von wiederverwendbaren Teilen, wobei beide Umgebungen in einem Computersystem residieren und durch es ausführbar sind.
1.2 Beschreibung und Nachteile des Standes der Technik
Der Prozeß des Entwerfens, Entwickelns und Herstellens eines neuen Produktes und der Prozeß des Änderns oder Anpassens eines existierenden Produktes bietet viele Herausforderungen für Produktmanager und Ingenieure, um das Produkt zu den geringsten Kosten und innerhalb eines Zeitplans auf den Markt zu bringen, während die Produktqualität beibehalten oder sogar erhöht wird. Viele Firmen erkennen, daß der übliche Produktentwurfsprozeß nicht befriedigend ist, um diesen Notwendigkeiten zu entsprechen. Sie erfordern frühes Einbeziehen der Arbeitsplanung, der Kostenplanung, der logistischen Planung, der Beschaffung, der Produktion, des Service und der Unterstützung in die Entwurfsbemühung. Darüberhinaus erfordern sie Planung und Steuerung von Produktdaten während des Entwurfs, der Freigabe und der Produktion.
Die richtige und rationelle Ausführung von Geschäftsprozessen, z. B. Entwicklungs- oder Produktionsprozessen, innerhalb einer Firma ist von enormer Wichtigkeit für eine Firma und hat einen bedeutenden Einfluß auf den Gesamterfolg der Firma am Markt. Daher müssen diese Prozesse ähnlich betrachtet werden wie Technologieprozesse und müssen getestet, optimiert und überwacht werden. Das Management solcher Prozesse wird gewöhnlich durchgeführt und unterstützt von einem auf einem Computer basierenden Prozeß- oder Workflow-Managementsystem.
In D. J. Spohn: "Project Management Environment", IBM Technical Disclosure Bulletin, Vol. 32, Nr. 9A, Februar 1990, Seiten 250 bis 254 ist eine Prozeßmanagementumgebung beschrieben, die eine Arbeitsumgebung, Datenelemente und Anwendungsfunktionen und -prozesse einschließt.
In R.T. Marshak: "IBM′s FlowMark, Object-Oriented Workflow für Mission-Critical Applications", Workgroup Computing Report (USA), Vol. 17, Nr. 5, 1994, Seiten 3 bis 13 ist der Objektcharakter des IBM FlowMark als eines Client/Serverproduktes beschrieben, das auf einem genauen Objektmodell aufgebaut ist, das auf die Anwendungsentwicklung und Entfaltung eines für den Auftrag kritischen Produktionsprozesses zielt.
In H. A. Inniss and J. H. Sheridan: "Workflow Management Based on an Object-Oriented Paradigm", IBM Technical Disclosure Bulletin, Vol. 37, No. 3, March 1994, Seite 185, sind andere Aspekte des objektorientierten Modellierens bei Kundenanpassung und Änderungen beschrieben.
In F. Leymann and D. Roller: "Business Process Management with FlowMark", Digest of papers, Cat. No. 94CH3414-0, Spring COMPCON 94, 1994, Seiten 230 bis 234, ist das zum Stand der Technik gehörende Computerwerkzeug IBM FlowMark für das Prozeßmanagement beschrieben. Das Metamodell von IBM FlowMark ist dargestellt wie auch die Implementierung von IBM FlowMark. Die Möglichkeiten von IBM FlowMark zum Modellieren von Geschäftsprozessen wie auch ihrer Ausführung werden diskutiert. Das Produkt IBM FlowMark ist für verschiedene Computerplattformen verfügbar, und die Dokumentation für IBM FlowMark ist in jeder IBM Geschäftsstelle verfügbar.
In F. Leymann: "A meta model to support the modelling and execution of processes", Proceedings of the 11th European Meeting on Cybernetics and System Research EMCR92, Vienna, Austria, April 21 to24, 1992, World Scientific 1992, Seiten 287 bis 294, wird ein Metamodell zum Steuern von Geschäftsprozessen vorgestellt und im einzelnen diskutiert.
Die Veröffentlichung "IBM FlowMark for OS/2", document number GH 19-8215-01, IBM Corporation, 1994, die in jedem IBM Verkaufsbüro erhältlich ist, stellt ein typisch modernes, kompliziertes und mächtiges System für das Workflow-Management dar. Es unterstützt das Modellieren von Geschäftsprozessen als ein Netzwerk von Aktivitäten. Dieses Netzwerk von Aktivitäten ist als ein gerichteter, azyklischer, gewichteter, kolorierter Graph aufgebaut. Die Knoten des Graphen stellen die Aktivitäten dar, die ausgeführt werden. Die Kanten des Graphen, die Steuerverbinder, beschreiben die mögliche Folge der Ausführung der Aktivitäten. Die Definition des Prozeßgraphen erfolgt über die IBM FlowMark-Definitionssprache, abgekürzt als (FDL=FlowMark Definition Language) oder den eingebauten graphischen Editor. Die Bearbeitungszeitkomponente des Workflow-Managers interpretiert den Prozeßgraphen und verteilt die Ausführung von Aktivitäten an die richtige Person am richtigen Platz, z. B. durch Zuweisen von Aufgaben zu einer Arbeitsliste entsprechend der betreffenden Person, wobei die Arbeitsliste als digitale Daten in dem Computersystem für den Workflow oder das Prozeßmanagement gespeichert ist.
In F. Leymann und W. Altenhuber: "Managing business processes as an information resource", IBM Systems Journal, Vol. 32(2), 1994 ist die dem IBM FlowMark-Produkt zugrunde liegende mathematische Theorie beschrieben.
In D. Roller: "Verifikation von Workflows in IBM FlowMark", in J. Becker und G. Vossen (Hrsg.): "Geschäftsprozeßmodellierung und Workflows", International Thompson Publishing, 1995, sind das Erfordernis und die Möglichkeit der Verifikation von Workflows beschrieben. Darüberhinaus ist das Merkmal der graphischen Belebung für die Verifikation der Prozeßlogik dargelegt, wie sie in dem IBM FlowMark-Produkt implementiert ist.
Für das Implementieren eines auf dem Computer basierenden Prozeßmanagementsystems müssen zuerst die Geschäftsprozesse analysiert werden, und als Ergebnis dieser Analyse muß ein Prozeßmodell als ein Netzwerk von Aktivitäten aufgebaut werden, die dem Geschäftsprozeß entsprechen. In dem IBM FlowMark-Produkt werden die Prozeßmodelle nicht in ein ausführbares Produkt transformiert. Während der Bearbeitungszeit wird eine Instanz des Prozesses aus dem Prozeßmodell erstellt, die Prozeßinstanz genannt wird. Diese Prozeßinstanz wird dann dynamisch durch das IBM-FlowMark-Produkt interpretiert.
Eine frühere Patentanmeldung der gleichen Anmelderin, Anmeldungsnummer PCT/EP 95/03345, mit dem Titel "Method and Computer System For Generating Process Management Computer Programs From Process Models", lehrt, wie ein Prozeßgraph in ein C++-Programm transformiert werden kann, wenn der Prozeß durch einen Benutzer zu einem Zeitpunkt an einer Stelle nacheinander ausgeführt wird.
Eine weitere Patentanmeldung der gleichen Anmelderin mit der Anmeldungsnummer EP 96 105 010.1, mit dem Titel "Methode zum Generieren einer Implementierung eines Workflow-Prozeßmodells in einer Objektumgebung" lehrt, wie eine neue Art der Erweiterung eines Prozeßmodells innerhalb einer Workflow-Umgebung bereitgestellt wird, die eine automatische und computerisierte Generierung einer Implementierung des Prozeßmodells innerhalb einer Objektumgebung auslöst und die Implementierung des Prozeßmodells auf einem Computersystem ausführbar ist.
Das technologische Gebiet der Umgebungen mit wiederverwendbaren Teilen, die auch als Wiederverwendungs-Parts bezeichnet werden, ist zum Beispiel bekannt geworden durch die Produktfamilie VisualAge, die von IBM angeboten wird. Genauere Informationen zu den Prinzipien und Konzepten von VisualAge finden sich in folgenden Veröffentlichungen, die in IBM-Geschäftsstellen erhältlich sind. Beispiele sind:
"VISUALAGE: CONCEPTS AND FEATURES", document number GG24-3946- 00, "VISUALAGE PROGRAMMER′S GUIDE TO BUILDING PARTS FOR FUN AND PROFIT", document number SC34-4496-01, "VISUALAGE C++ FOR OS/2 V3.0", document number GC09-2234-00 und viele andere. Umgebungen mit wiederverwendbaren Teilen unterstützen das Aufbauen neuer Software aus Komponenten. Gemäß dem Komponentenparadigma können neue, zusammengesetzte Komponenten durch andere Komponenten gebildet werden, was es erlaubt, Bausteine von wachsender Kompliziertheit und Abstraktion zu erstellen. Das visuelle Programmierwerkzeug VisualAge erlaubt es, kundenindividuelle Teile zusammenzusetzen und Anwendungen in einer visuellen Weise durch Benutzen eines graphischen Editors umzuwandeln. Durch das Ermöglichen, Teile visuell zu kombinieren, ohne prozedualen Code zu schreiben, nehmen die visuellen Werkzeuge viele der langwierigen und fehlerträchtigen Details von der Anwendungsprogrammierung weg, insbesondere das Programmieren von Benutzungsschnittstellen, was es erlaubt, sich auf die wesentlichen Fähigkeiten einer Anwendung zu konzentrieren.
Der Aufbau aus Teilen bezieht sich auf die Fähigkeit, Anwendungsprogramme durch Kombinieren vorhandener Softwarekomponenten zu erstellen anstatt die Logik der Anwendung von Grund auf zu erstellen.
Gegenwärtige Workflow-Prozeßumgebungen, wie FlowMark, sind separate Umgebungen ohne irgendeine Beziehung zu Umgebungen mit wiederverwendbaren Teilen, wie VisualAge. Ebenso sind die visuellen Programmierungsmöglichkeiten, die in Umgebungen mit wiederverwendbaren Teilen verfügbar sind, nicht für die Workflow-Prozeßumgebungen verfügbar.
1.3 Aufgabe der Erfindung
Die Erfindung beruht auf der Aufgabe, eine neue Art der Erweiterung eines Prozeßmodells in einer Workflow-Umgebung bereitzustellen, die für die Eingabe- und Ausgabe-Container des Prozeßmodells eine automatische und computerisierte Generierung einer Implementierung der Eingabe- und Ausgabe-Container als wiederverwendbarer Teile in einer Umgebung für wiederverwendbare Teile auslöst, wobei die Implementierung des wiederverwendbaren Teiles des Eingabe-Containers und des wiederverwendbaren Teiles des Ausgabe-Containers auf einem Computersystem ausführbar sind.
Es ist eine andere Aufgabe der Erfindung, die Eingabe- und Ausgabe-Container mit visuellen Programmiermöglichkeiten auszustatten.
2. Zusammenfassung und Vorteile der Erfindung
Die Aufgabe der Erfindung wird nach den unabhängigen Ansprüchen 1 und 4 gelöst. Weitere-Ausführungsbeispiele der Erfindung werden in den entsprechenden abhängigen Ansprüchen offenbart.
Gemäß Anspruch 1 lehrt die Erfindung eine Methode zum Erweitern der Spezifikationen eines Prozeßmodells in einer Workflow-Prozeßumgebung, in der das Prozeßmodell eine Prozeßaktivität definiert, die durch mindestens ein Computersystem verwaltet und ausgeführt wird. Die Methode zum Erweitern verbindet das Prozeßmodell mit einer Umgebung mit wiederverwendbaren Teilen, innerhalb der Eingangs- und Ausgangs-Container der Prozeßaktivität als wiederverwendbare Teile zu implementieren sind. Diese Verbindung wird verwirklicht durch einen Schritt des Zuordnens des Prozeßmodells zu einem wiederverwendbaren Teil des Eingabe-Containers und einem wiederverwendbaren Teil des Ausgabe- Containers, die innerhalb der Umgebung mit wiederverwendbaren Teilen residieren und die Eingabe- und Ausgabe-Container implementieren.
Aufgrund dieser Erweiterungen der Spezifikationen eines Prozeßmodells wird die Lücke zwischen zwei verschiedenen und getrennten Umgebungen, einer Workflow-Prozeßumgebung auf der einen Seite und einer Umgebung mit wiederverwendbaren Teilen auf der anderen Seite geschlossen. Gemäß der vorliegenden Erfindung ist ein nahtloser Übergang jetzt möglich.
Als einen weiteren Vorteil stellen die erweiterten Spezifikationen eine vereinheitlichte Modellumgebung von Prozeßmodellen unabhängig von den tatsächlichen Implementierungen des Prozeßmodells dar. Daher ermöglichen die erweiterten Spezifikationen es, sich auf die höchstwichtige Aufgabe, die Spezifikation der Workflow-Prozeßmodelle unabhängig von ihrer tatsächlichen Implementierung, zu konzentrieren, die gemäß der vorliegenden Erfindung in einer Umgebung mit wiederverwendbaren Teilen realisiert werden kann.
Zusätzliche Vorteile werden nach den Ansprüchen 2 und 3 erreicht.
Gemäß einem weiteren Ausführungsbeispiel der vorgeschlagenen Erfindung ordnet die Methode zum Erweitern auch die Namen wiederverwendbarer Teile zu, beschreibende Informationen, Namen von Kopfzeilen- und Implementierungsdateien, Namen von Dateien mit Informationen über wiederverwendbare Teile und Optimierungsziele für die wiederverwendbaren Teile des Eingabe- und Ausgabe-Containers.
Aufgrund dieser Lösung werden alle relevanten Informationen, auch die Informationen, die sich auf eine Umgebung außerhalb der Workflow-Prozeßumgebung beziehen, an einem einzigen Platz festgehalten und gewartet, was das Problem der Verwaltung von Informationen, die über verschiedene Umgebungen verstreut sind, vermeidet. Auch wird es aufgrund dieser Lösung möglich, diese umfassenden Informationen auszunutzen, um die zugeordneten wiederverwendbaren Teile des Eingabe- und Ausgabe-Containers aufgrund dieser Informationen zu generieren.
Gemäß Anspruch 4 lehrt die vorliegende Erfindung auch eine computerisierte Methode zum automatischen Generieren einer Implementierung von wiederverwendbaren Teilen eines Eingabe- und Ausgabe-Containers für ein Prozeßmodell, das durch mindestens ein Computersystem verwaltet und ausgeführt wird. Die Methode zum Generieren benutzt die Spezifikationen eines Prozeßmodells, die durch Spezifikationen erweitert werden, die das Prozeßmodell einer Umgebung mit wiederverwendbaren Teilen außerhalb der Workflow-Prozeßumgebung zuordnen und generiert eine Implementierung der Eingabe- und Ausgabe-Container als wiederverwendbare Teile, die innerhalb der Umgebung für wiederverwendbare Teile residieren. Die Methode zum Generieren umfaßt einen Analyseschritt der Spezifikationen des Prozeßmodells. Aufgrund dieser Analyse generiert die Methode die zugeordneten wiederverwendbaren Teile des Eingabe-Containers und die zugeordneten wiederverwendbaren Teile des Ausgabe-Containers als Implementierungen der Eingabe- und Ausgabe-Container.
Es ist vorteilhaft, daß alle die Spezifikationen, die in der Workflow-Prozeßumgebung verfügbar sind, ausgenutzt werden können und für das automatische Generieren der Implementierungsstrukturen genügen, die außerhalb der Prozeßumgebung lokalisiert sind. Keine fehlerträchtige menschliche Intervention ist mehr erforderlich, um die wiederverwendbaren Teile der Eingabe- und Ausgabe-Container zu erstellen.
Darüberhinaus ist aufgrund des Automatismus der Methode keine weitere Kenntnis über die Besonderheiten der Umgebung mit wiederverwendbaren Teilen mehr erforderlich für das Erstellen der wiederverwendbaren Teile. Als Folge stellt die Prozeßmodellierung in der Workflow-Prozeßumgebung eine vereinheitlichte Modellumgebung unabhängig von den tatsächlichen Implementierungen des Prozeßmodells dar. Die Benutzer dieser Erfindung können sich auf die höchstwichtige Aufgabe konzentrieren, die Spezifikation des Workflow-Prozeßmodells, unabhängig von seiner tatsächlichen Implementierung, die gemäß der vorliegenden Erfindung automatisch generiert werden kann.
Zusätzliche Vorteile werden nach Anspruch 5 erreicht. Gemäß einem weiteren Ausführungsbeispiel der vorgeschlagenen Erfindung ist die Methode zum Generieren in der Lage, die wiederverwendbaren Teile der Eingabe- und Ausgabe-Container in optimierten Realisierungen zu generieren. Abhängig davon, was wichtiger ist, Speicherbenutzung oder Verarbeitungsgeschwindigkeit der generierten, wiederverwendbaren Teile können unterschiedliche Implementierungen generiert werden.
Zusätzliche Vorteile werden nach Anspruch 6 erreicht. Gemäß einem weiteren Ausführungsbeispiel der vorgeschlagenen Erfindung generiert die Methode in einem weiteren Schritt die Attributnamen und die Attribute selbst der wiederverwendbaren Teile der Eingabe- und Ausgabe-Container.
Es ist sehr zeitaufwendig, diese Variablen ohne Unterstützung durch einen automatischen Prozeß zu erstellen. Auch ist diese Aufgabe üblicherweise sehr fehlerträchtig, wenn sie nicht durch solch eine Art von Automatismus ausgeführt wird.
Zusätzliche Vorteile werden nach den Ansprüchen 7 und 8 erreicht.
Gemäß diesem weiteren Ausführungsbeispiel der vorgeschlagenen Erfindung generiert die Methode in einem weiteren Schritt auch die Hol- und Setzmethoden für alle generierten Attribute der wiederverwendbaren Teile der Eingabe- bzw. Ausgabe-Container. Darüberhinaus können Konstruktor- und Destruktormethoden automatisch generiert werden, um Objektinstanzen der wiederverwendbaren Teile der Eingabe- und Ausgabe-Container zu erstellen/zu löschen.
Zusätzlich dazu, daß sie in der Lage ist, die Konstruktor- und Destruktormethoden zu generieren, ist die vorgeschlagene Lehre in der Lage, wiederverwendbare Teile gebrauchsfertig zu liefern, die keine weitere menschliche Intervention erfordern. Da die Konstruktor- und Destruktormethoden automatisch und transparent aktiviert werden, um die Attributwerte zwischen den generierten wiederverwendbaren Teilen der Eingabe-Container bzw. den wiederverwendbaren Teilen der Ausgabe-Container und den Eingabe-Containern bzw. den Ausgabe-Containern, die in der Workflow-Umgebung residieren, übertragen werden, ist eine nahtlose Integration der Umgebung für wiederverwendbare Teile und der Workflow-Prozeßumgebung erreicht worden.
Zusätzliche Vorteile werden nach Anspruch 9 erzielt.
Gemäß einem weiteren Ausführungsbeispiel der vorgeschlagenen Erfindung wird der Automatismus der Generierungsmethode zur Perfektion getrieben, da auch die verschiedenen Dateinamen, die von Wichtigkeit für die Implementierungen der wiederverwendbaren Teile der Eingabe- und Ausgabe-Container sind, wie beispielsweise die Dateinamen der Dateien mit Informationen über die wiederverwendbaren Teile, die Kopfzeilendateien, die Implementierungsdateien usw. von den Spezifikationen des Prozeßmodells abgeleitet werden und die entsprechenden Dateien erstellt werden. In einem letzten Schritt werden die auch generierten Dateien mit Informationen über wiederverwendbare Teile der generierten wiederverwendbaren Teile der Eingabe- und Ausgabe-Container in die Umgebung mit wiederverwendbaren Teilen importiert, wodurch die wiederverwendbaren Teile der Umgebung mit wiederverwendbaren Teilen bekannt gemacht werden und es damit ermöglicht wird, die generierten wiederverwendbaren Teile direkt nach dem Generierungsschritt ohne irgendwelche Aktivitäten oder Konfigurationsschritte auszunutzen.
3. Kurze Beschreibung der Zeichnungen
Fig. 1 ist ein Diagramm, das die Spezifikation von Datenstrukturen vergegenwärtigt, die einen Eingabe-Container und einen Ausgabe-Container zusammen mit der Zuordnung zu entsprechenden verwendbaren Teilen definieren, die den Eingabe-Container und den Ausgabe-Container in der Umgebung der wiederverwendbaren Teile implementieren.
Fig. 2 ist ein Diagramm, das die Gesamtschritte beim Generieren der wiederverwendbaren Teile des Eingabe-Containers und der wiederverwendbaren Teile des Ausgabe-Containers darstellt.
Fig. 3 zeigt ein Prozeßmodell-Beispiel, das ein Modell eines Kredit-Anwendungsprozesses darstellt.
Fig. 4 vergegenwärtigt die Informationsdatei eines generierten Teiles für ein generiertes, wiederverwendbares Teil des Eingabe-Containers für das Kredit-Anwendungsbeispiel.
Fig. 5 vergegenwärtigt eine Informationsdatei eines generierten Teiles für ein wiederverwendbares Teil des Ausgabe-Containers für das Kredit-Anwendungsbeispiel.
Fig. 6 zeigt die generierte Kopfzeilendatei eines generierten, wiederverwendbaren Teiles des Eingabe-Containers aufgrund einer Analyse einer FlowMark-Definitionsdatei für das Prozeßmodell der Kredit-Anwendung.
Fig. 7 zeigt die generierte Kopfzeilendatei eines generierten, wiederverwendbaren Teiles des Ausgabe-Containers aufgrund einer Analyse einer Flowmark-Definitionsdatei für das Prozeßmodell der Kredit­ anwendung.
Fig. 8a/b zeigen die generierte C++-Implementierungsdatei eines generierten, wiederverwendbaren Teiles des Eingabe-Containers aufgrund einer Analyse einer Flowmark-Definitionsdatei für das Prozeßmodell der Kredit-Anwendung.
Fig. 9a/b/c zeigen die generierte C++-Implementierungs­ datei eines generierten, wiederverwendbaren Teiles des Ausgabe-Containers aufgrund einer Analyse einer FlowMark-Definitionsdatei für das Prozeßmodell der Kredit-Anwendung.
Beschreibung des bevorzugten Ausführungsbeispieles 4.1 Einleitung
Die folgende Beschreibung der Erfindung beruht auf dem FlowMark Workflow-Manager von IBM. Ohne irgendeine Beschränkung des Schutzumfangs der Erfindung kann statt dessen irgendein anderer Workflow-Manager für eine Implementierung der Erfindung benutzt werden.
In ähnlicher Weise ist das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung auf die Produktfamilie VisualAge von IBM als Umgebung für wiederverwendbare Teile gerichtet, für die die Implementierungen wiederverwendbarer Teile generiert werden. Wieder begrenzt diese Wahl einer Umgebung für wiederverwendbare Teile nicht den Schutzumfang der Erfindung. Die vorgeschlagenen Methoden sind auf irgendeine andere mögliche Umgebung für wiederverwendbare Teile anwendbar. Ein anderes Beispiel einer Umgebung für wiederverwendbare Teile könnte beispielsweise VisualBasic sein. Im Folgenden werden die Ausdrücke "wiederverwendbarer Teil" und "Teil" austauschbar benutzt.
Obgleich die wiederverwendbaren Teile als eine oder mehrere interaktive Objektstrukturen in einer der bekannten objektorientierten Programmiersprachen generiert werden, können die gleichen Ergebnisse erzielt werden, wenn die wiederverwendbaren Teile in irgendeiner prozeduralen Programmiersprache generiert würden.
Auf dem technischen Gebiet der Objektorientierung wird der Ausdruck "Objekt" bisweilen in einem weiteren Sinn verwendet, der tatsächlich eine Objektklasse bezeichnet, und bisweilen wird er in einem engen Sinn benutzt, der eine Instanz einer Objektklasse bezeichnet. Ebenso kann der Ausdruck "Objekt" so benutzt werden, daß er tatsächlich eine Instanz eines Klassenobjektes bezeichnet. Abhängig von dem Zusammenhang, in dem der Ausdruck benutzt wird, ist es offensichtlich, auf welche der verschiedenen Bedeutungen sich der Ausdruck bezieht.
Die vorliegende Erfindung generiert wiederverwendbare Teile als Objektstrukturen in der Umgebung VisualAge für wiederverwendbare Teile als C++-Programme. Die Lehre der vorliegenden Erfindung ist von allgemeiner Art, und daher kann der Generierungsprozeß diese wiederverwendbaren Teile in irgendeiner anderen Programmiersprache erstellen; ein Beispiel könnte die Programmiersprache Smalltalk sein, die auch durch VisualAge unterstützt wird.
Wenn in der vorliegenden Anmeldung die Bezeichnung einer Datei mit einem Dateinamen benutzt wird, bezieht er sich nicht notwendigerweise auf eine einzige benannte Datenmenge in einem Dateisystem eines Computersystems. Die Bezeichnung einer Datei mit einem Dateinamen kann sich auch auf einen mit einem Namen versehenen, eindeutigen und identifizierbaren Teil einer größeren Datenmenge beziehen.
Die vorliegende Erfindung lehrt zwei Methodologien, eine Methode zum Erweitern der Spezifikationen eines Prozeßmodells durch Zuordnen von wiederverwendbaren Teilen von Eingabe- und Ausgabe-Containern und eine Methode zum Generieren einer Implementierung der wiederverwendbaren Teile der genannten Eingabe- und Ausgabe-Container. Jede dieser Methoden kann alleine oder in Kombination mit der anderen angewandt werden.
Das bevorzugte Ausführungsbeispiel der vorliegenden Erfindung besteht darin, die Lösung zum Erweitern der Spezifikationen eines Prozeßmodells in einer Workflow-Umgebung zu wählen, die das Prozeßmodell mit einer Umgebung mit wiederverwendbaren Teilen verbindet und diese Spezifikationen für das Generieren von Eingabe- und/oder Ausgabe-Containern als wiederverwendbare Teile zu benutzen, die innerhalb der Umgebung für wiederverwendbare Teile residieren. Natürlich kann die Rolle der Workflow-Umgebung und der Umgebung für wiederverwendbare Teile insoweit umgekehrt sein als Spezifikationen, die innerhalb der Umgebung für wiederverwendbare Teile residieren, erweitert werden können, indem ein Prozeßmodell, das innerhalb einer Workflow-Umgebung residiert, ihnen zugeordnet wird. Aufgrund dieser Art der Erweiterungen von Spezifikationen können dann Eingabe- und/oder Ausgabe-Container als wiederverwendbare Teile generiert werden, die in der Umgebung für wiederverwendbare Teile residieren.
Darüberhinaus unterscheidet die vorliegende Beschreibung zwischen Eingabe- und Ausgabe-Containern. Natürlich ist die gesamte Lehre der vorliegenden Erfindung auch auf den Fall anwendbar, in dem nur ein Eingabe-Container oder nur ein Ausgabe-Container oder sogar nur ein kombinierter Eingabe- /Ausgabe-Container in der Workflow-Umgebung bekannt ist. Die vorliegende Erfindung ist auch auf Workflow-Umgebungen anwendbar unabhängig von der Granularität der Aktivität, der die Container zugeordnet sind. Zum Beispiel können diese Container einer Prozeßaktivität oder einem ganzen Prozeß oder anderen Arten von Granularität zugeordnet sein.
4.2 KONZEPTE
Die IBM FlowMark-Familie implementiert einen Workflow-Manager. Sie unterstützt das Modellieren von Geschäftsprozessen als ein Netzwerk von Aktivitäten. Dieses Netzwerk von Aktivitäten ist aufgebaut als ein gerichteter, azyklischer, gewichteter, gefärbter Graph. Die Knoten des Graphen stellen die Aktivitäten dar, die ausgeführt werden. Die Kanten des Graphen beschreiben die mögliche Ausführungsfolge der Aktivitäten. Die Definition des Prozeßgraphen geschieht über die IBM FlowMark- Definitionssprache, abgekürzt als (FDL = FlowMark Definition Language) oder den eingebauten graphischen Editor. Die Komponente der Bearbeitungszeit des Workflow-Managers interpretiert den Prozeßgraphen und verteilt die Ausführung der Aktivitäten auf die richtige Person am richtigen Platz.
IBM FlowMark implementiert das Konstrukt einer Programmaktivität. Die Programmaktivität nimmt Bezug auf ein Programmobjekt, das die Informationen über das Programm liefert, wie beispielsweise einen Aufrufmechanismus, einen durch das Programm aktivierbaren Namen, Eingabe- und Ausgabe-Datenstrukturen und eine Ausführungsumgebung. Diese Informationen werden benutzt, um das Programm aufzurufen, das der Programmaktivität zugeordnet ist. Daher ist das Programmobjekt das Verbindungsglied zwischen der Definition der Programmaktivität, d. h. dem Prozeßmodell, und dem ausführbaren Programm, das diese Aktivität implementiert. Natürlich kann die Aktivität in einem besonderen Prozeß oder Teilprozeß ausgeführt werden. Solch eine Aktivität kann in irgendeiner der Programmiersprachen implementiert werden; einige gut bekannte und weit verbreitete Beispiele sind: VisualBasic, C, C++, REXX, Smalltalk.
Jede Aktivität kann vom Standpunkt der Workflow-Umgebung sogenannten Eingabe- und/oder Ausgabe-Containern zugeordnet sein. Der Eingabe-Container enthält die Kontextinformationen für die Implementierung der Aktivität. Auf sie kann durch das zugeordnete Programm über die von der Workflow-Umgebung gelieferte Schnittstelle der Anwendungsprogrammierung zugegriffen werden. Der Ausgabe-Container ermöglicht dem Programm, prozeßrelevante Informationen zu speichern; Zugriff auf den Ausgabe-Container ist ebenso über die Schnittstelle für die Anwendungsprogrammierung möglich.
Der Visuelle Gestalter (Visual Builder) der Produktfamilie VisualAge ermöglicht den Aufbau von Anwendungen aus vorhandenen wiederverwendbaren Softwarekomponenten, die wiederverwendbare Teile oder kurz Teile genannt werden. Das visuelle Programmierwerkzeug VisualAge ermöglicht es, kundenindividuelle Teile zusammenzusetzten und Anwendungen in visueller Weise durch Benutzen eines graphischen Editors umzuwandeln. Durch das Ermöglichen, Teile visuell zu kombinieren, ohne prozeduralen Code zu schreiben, nehmen die visuellen Werkzeuge viele der langwierigen und fehlerträchtigen Einzelheiten von der Anwendungsprogrammierung weg, insbesondere das Programmieren der Benutzungsschnittstellen, was es ermöglicht, sich auf die wesentlichen Fähigkeiten einer Anwendung zu konzentrieren. Daher bezieht sich der Aufbau aus Teilen auf die Fähigkeit, Anwendungsprogramme durch Kombinieren vorhandener Softwarekomponenten zu erstellen anstatt die Logik der Anwendung von Grund auf zu erstellen.
Um in der Lage zu sein, für die oben erwähnten Zwecke nützlich zu sein, implementieren die Teile nicht nur die Funktion und Dienstleistungen, die für die spätere Gesamtanwendung zu liefern sind. Um an der Umgebung für wiederverwendbare Teile teilzuhaben und die visuellen Programmiermöglichkeiten zu unterstützen, sind die Teile zusätzlich mit den erforderlichen Entwicklungs-Zubehörteilen ausgestattet.
Teile sind entweder visuell oder nichtvisuell. Visuelle Teile erlauben es dem Anwendungsentwickler, hochentwickelte graphische Endbenutzungsoberflächen einfach zu konstruieren; nichtvisuelle Teile liefern Programmierkonstrukte für jede Art von Grundfunktionen wie das Zugreifen auf eine Datenbank oder das Warten einer Liste von Textfolgen usw.
Die beschriebenen Methoden der Erfindung lehren, wie das FlowMark-Prozeßmodell erweitert werden kann, um die Generierung der Implementierung wiederverwendbarer Teile der Eingabe- und Ausgabe-Container zu unterstützen. Diese generierten, wiederverwendbaren Teile für Eingabe- und Ausgabe-Container ermöglichen es dann, auf Containerfelder einfach durch Herstellen von Verbindungen zuzugreifen und sie zu speichern. Das tatsächliche Lesen und Schreiben der Containerinformationen wird in transparenter Weise durch den Teil durchgeführt. Dies ermöglicht es Anwendungsentwicklern, auf Workflow basierende Anwendungen unter Benutzung von VisualAge als dem Programmentwicklungswerkzeug leicht zu erstellen.
4.2.1 Das FlowMark-Containerkonzept
Die folgende kurze Beschreibung von FlowMark-Containern, Datenstrukturen und ihre Zuordnung zu Aktivitäten sollte dazu verhelfen, das Verständnis der vorgeschlagenen Lehre der vorliegenden Anmeldung zu verbessern. Die geeignete IBM FlowMark-Literatur sollte für Einzelheiten herangezogen werden; zum Beispiel: "FLOWMARK PROGRAMMING GUIDE", document number SH19-8177-00.
Wie bereits aufgezeigt, kann jeder Programmaktivität ein Eingabe-Container und ein Ausgabe-Container zugeordnet werden. Jeder Container besteht aus drei Grundmengen von vordefinierten Datenstrukturen und der durch den Prozeßmodellierer ausgewählten Datenstruktur, die dem Container zuzuordnen ist.
Datenstrukturen bestehen aus Datengliedern. Ein Datenglied ist eines der drei Grundarten ZEICHENFOLGE (STRING), LANG (LONG), DOPPELT (DOUBLE) oder eine andere Datenstruktur. Ein Datenglied kann auch ein Feld sein.
Ein Beispiel, das diese Aspekte widerspiegelt, findet sich in Fig. 1.
4.2.2 Das VisualAge-Teile-Konzept
Die folgende kurze Beschreibung der VisualAge-Teile sollte dazu verhelfen, zusätzlich zu den oben gegebenen Informationen die vorgeschlagene Lehre der vorliegenden Anmeldung besser zu verstehen. Die geeignete IMB VisualAge-Literatur sollte für Einzelheiten herangezogen werden; zum Beispiel "IBM VISUALAGE VISUAL BUILDER USER′S GUIDE", document number S25H-6950-00 oder "IBM VISUALAGE C++ VISUAL BUILDER PARTS FOR FUN AND PROFIT", document number S25H-6968-00.
In VisualAge ist ein wiederverwendbarer Teil oder kurz ein Teil eine Klasse mit einer gut definierten, öffentlichen Schnittstelle, die ein einfaches und strukturiertes Nachrichtenprotokoll unterstützt. Der Teil kann aus anderen Teilen zusammengesetzt sein, die sogenannte zusammengesetzte Teile bilden. Teile können sehr einfach oder hochentwickelt sein, um einen breiten Bereich von Funktionen vorzusehen. Teile können zum Beispiel so einfach wie ein Texteingabefeld oder ein Vorgabefenster sein. Oft sind Teile aus mehrfachen, interaktiven Unterteilen zusammengesetzt. Daher können sie etwas komplizierter sein, wie beispielsweise ein Personenüberblick, der mehrfache Texteingabefelder einschließen kann für Namen und Telefonnummern und möglicherweise Adressenzusammenfassungen. Darüberhinaus können sie so kompliziert sein wie ein Postsystem oder wie eine protokollunabhängige Client/Server-Komponente. Teile können auch (Adapter-) Programme darstellen, die in COBOL oder der Sprache C geschrieben sind, wodurch die Wiederverwendung von vorhandenem Code in einem Paradigma des Aufbaus aus Teilen ermöglicht wird.
Ein VisualAge-Teil in VisualAge C++ ist ein Softwareobjekt, das als eine C++-Klasse implementiert ist, die ein einfaches, genormtes Protokoll unterstützt. Dieses Protokoll unterstützt die Verbindung von Teilen, um Teile mit höherer Funktion zu bilden oder ganze Anwendungen. Die Teil-Schnittstelle ist aus drei verschiedenen Merkmalen zusammengesetzt: Attributen, Aktionen und Ereignissen. Diese Merkmale entsprechen einer natürlichen Art, Teile (und allgemein Objekte) im Sinne der Eigenschaften (Attribute) anzusehen, die sie haben, welche Verhaltensweisen (Aktionen) sie ausführen können und über welche unerwarteten Informationen (Ereignisse) sie andere Teile informieren können. Daher führt die öffentliche Schnittstelle der Teile eine natürliche Art des Betrachtens von Teilen und Objekten im allgemeinen ein und drückt die möglichen Interaktionen unter den Objekten aus.
Attribute
Attribute sind die logischen Eigenschaften von Teilen. Auf einer begrifflichen Ebene sind Attribute ein wichtiger und integraler Aspekt der semantischen Definitionen des Objektes. Attribute sind Objekte, die der Teil auf Anforderung zurückschicken oder setzen kann. Der Teil kann auch anderen Teilen signalisieren müssen, daß das Attribut geändert wurde.
Aktionen
Aktionen sind die Verhaltensweisen der Teile, was die Dienstleistungen oder Operationen bedeutet, die der Teil auszuführen aufgefordert werden kann.
Ereignisse
Ergeignisse sorgen für einen Benachrichtigungsmechanismus. Sie werden benutzt, um zu signalisieren, daß irgendetwas mit dem Teil geschehen ist. Für Teile einer Benutzungsschnittstelle, abgekürzt als (UI = User Interface) sind sie häufig auf eine Benutzerinteraktion bezogen, wie z. B. das Klicken der Steuerkugel auf einem Druckschalter, die Auswahl eines Auswahlfeldes, das Öffnen eines Fensters usw. Ereignisse werden benutzt, um irgendeine Maßnahme auszulösen. Als Beispiel könnte ein Detailfenster immer dann angezeigt werden, wenn der Benutzer ein Element in einem Listenschreibfeld auswählt.
Ein Teil besteht aus einer Kopfzeilendatei und einer Codedatei für eine C++-Klasse, die die Architektur der Teile unterstützt. Die Schnittstelle des Teils muß dem Visuellen Gestalter (Visual Builder) bekanntgegeben werden entweder über den eingebauten Editor für den Teil oder über eine Informationsdatei für den Teil oder eine.vbe-Datei. Diese Datei muß in den Visuellen Gestalter importiert werden.
4.3 Die Grundideen des bevorzugten Ausführungsbeispiels
Gemäß der Lehre der vorliegenden Erfindung wird ein wiederverwendbarer Teil eines Eingabe-Containers und/oder ein wiederverwendbarer Teil eines Ausgabe-Containers für jede Datenstruktur erstellt, die innerhalb der FlowMark-Definition eines bestimmten Prozeßmodells definiert ist. Zu diesem Zweck muß durch zusätzliche Spezifikationen ein neuer Zuordnungsmechanismus für das Zuordnen einer Datenstruktur zu einem wiederverwendbaren Teil zu der FlowMark- Definitionssprache als eine Menge hinzugefügt werden. In Fig. 1 zeigen die Zeilen 7-13 und die Zeilen 18-24 solch eine Erweiterung. Insbesondere werden die Informationen der Datenstruktur durch die vordefinierten Feldinformationen vermehrt, die hinzugefügt werden, um die Informationen der Datenstruktur im Hinblick auf wiederverwendbare Teile zu erweitern, und hinzugefügt, um den Generierungsprozeß für wiederverwendbare Teile des Eingabe- und Ausgabe-Containers zu steuern.
Aufgrund dieser Informationen, die in den FlowMark- Definitionsdateien eingeschlossen sind, werden wiederverwendbare Teile für die Eingabe und Ausgabe gemäß der Lehre der vorliegenden Erfindung generiert. In einem Gesamtüberblick umfaßt diese Generierung eines Teiles für jeden Teil
  • - Generierung einer .hpp-Datei für die Kopfzeileninformationen,
  • - Generierung einer .cpp-Datei für die Implementierung des Teiles,
  • - Generierung einer .vbe-Datei für die Informationsdatei des Teiles,
  • - und das Importieren der Informationsdatei des Teiles in die Umgebung für wiederverwendbare Teile, um den unlängst generierten Teil dem System bekanntzugeben und ihm verfügbar zu machen.
Fig. 2 zeigt die Gesamtschritte, die in dem Erstellen eines VisualAge-Teiles gemäß der Erfindung eingeschlossen sind.
Beim Erstellen eines wiederverwendbaren Teiles des Eingabe-Containers werden die folgenden detaillierten Schritte ausgeführt. Jeder dieser Schritte kann Definitionen zu irgendeiner der oben erwähnten Dateien beitragen:
  • - Für jedes Feld in der Datenstruktur, die sich in der FlowMark-Definitionsdatei befindet, wird ein Attributname erstellt. Der Name des Attributes ist der Name des Feldes. In dem Fall geschachtelter Datenstrukturen wird der Name aufgebaut durch Vorsetzen der Namen der Datenstrukturen in dem Pfad vor den Feldnamen. Die Feldart und -länge werden den Feldinformationen in der Datenstruktur entnommen.
  • - Für jedes Feld in den vordefinierten Datenstrukturen, die in dem Eingabe-Container enthalten sind, wird ein Attribut erstellt zum Speichern des Attributwertes.
  • - Eine Hol-Methode wird für jedes Attribut erstellt. Keine Setz-Methode wird für die Attribute erstellt, da es keine Anforderung gibt, die Werte der Felder in dem Eingabe-Container zu setzen. Natürlich könnte eine ähnliche Setz-Methode auch generiert werden, falls nötig.
Der Generierungsprozeß kann darauf gerichtet sein, Methoden zu erstellen, die verschiedene Verarbeitungsziele realisieren. Gemäß der vorliegenden Implementierung kann die generierte Methode "hinsichtlich des Speicherverbrauchs optimiert werden" oder kann "hinsichtlich der Verarbeitsgeschwindigkeit optimiert werden". Wenn der Teil hinsichtlich der Geschwindigkeit optimiert wird, ruft die Hol-Methode den geeigneten Feldwert über die Schnittstelle für die Anwendungsprogrammierung ab und speichert sie in dem Attribut. Wenn das Feld keinen Wert besitzt, wird das Attribut mit einem Vorgabewert besiedelt.
  • - Ein Konstruktor (in dem Sinne von 00-Prinzipien) wird für den Teil erstellt. Er ruft den Container (die Containerinstanz, die innerhalb der Workflow-Prozeßumgebung residiert,) über die geeigneten Aufrufe der Programmierschnittstelle auf. Wenn er hinsichtlich des Speichers optimiert ist, dann ruft er alle die Feldwerte über die Schnittstelle des Anwendungsprogramms auf und speichert die Werte in den Attributen so, daß auf sie unter Benutzung der Hol-Methoden zugegriffen werden kann. Wenn das Feld keinen Wert besitzt, wird das Attribut mit einem Vorgabewert besiedelt.
Wenn ein wiederverwendbarer Teil des Ausgabe-Containers erstellt wird, werden die folgenden detaillierten Schritte ausgeführt. Jeder dieser Schritte kann Definitionen für irgendeine der oben erwähnten Dateien beitragen:
  • - Für jedes Feld in der Datenstruktur, die in der FlowMark-Definitionsdatei gefunden wird, wird ein Attributname erstellt. Der Name des Attributes ist der Name des Feldes. In dem Fall verschachtelter Datenstrukturen wird der Name aufgebaut durch Vorsetzen der Namen der Datenstrukturen in dem Pfad vor den Feldnamen. Feldart und -länge werden den Feldinformationen in der Datenstruktur entnommen.
  • - Für jedes Feld in den vordefinierten Datenstrukturen, die in dem Ausgabe-Container enthalten sind, wird ein Attribut erstellt.
  • - Eine Setz-Methode wird für jedes Attribut erstellt. Für die Attribute wird keine Abrufmethode erstellt, da es keine Notwendigkeit gibt, die Werte aus dem Ausgabe-Container abzurufen. Natürlich könnte, falls nötig, eine ähnliche Abrufmethode ebenfalls generiert werden. Eine Benachrichtigung wird ausgesandt, wenn der Wert eines Attributes gesetzt wird, um andere Teile, die an diesem neuen Wert interessiert sind, von dem Modifikationsereignis zu informieren.
  • - Ein Konstruktor (in dem Sinne von 00-Prinzipien) wird für den Teil erstellt. Der Zweck besteht darin, einen Steuerindikator für jedes Attribut zu setzen, das benutzt wird, um zu bestimmen, ob ein Wert für das Attribut über die Setz-Methode des Attributes geliefert wurde.
  • - Ein Destruktor (in dem Sinne 00-Prinzipien) wird für den Teil erstellt. Er speichert die Werte all der Attribute in dem Ausgabe-Container (die Container-Instanz, die in der Workflow-Prozeßumgebung residiert,) über die Schnittstelle der FlowMark-Anwendungsprogrammierung. Nur diejenigen Attribute werden in der Instanz des Ausgabe-Containers gespeichert, die in der Workflow-Prozeßumgebung residieren, für welche ein Wert gesetzt wurde.
4.4 Zusätze des Prozeßmodells und Implementierung
Dieser Abschnitt beschreibt im einzelnen
  • - die Erweiterungen der FlowMark-Definitionssprache, d. h. die Erweiterungen, die den FlowMark-Definitionsdateien hinzugefügt werden, die den Prozeß der Generierung der wiederverwendbaren Teile steuern;
  • - die Spezifikationen und Definitionen, die zu generieren und einer Informationsdatei .vbe des Teiles (siehe Fig. 2) hinzuzufügen sind, wobei die .vbe-Datei es ermöglicht, daß der generierte Teil der Umgebung für wiederverwendbare Teile hinzugefügt wird;
  • - die Spezifikationen und Definitionen, die generiert und einer Kopfzeilendatei .hpp (siehe Fig. 2) hinzugefügt werden müssen, wobei die .hpp-Datei es anderen Nutzern ermöglicht, von dem generierten, wiederverwendbaren Teil Gebrauch zu machen;
  • - die Spezifikationen und Definitionen, die generiert und einer Implementierungsdatei .cpp (siehe Fig. 2) hinzugefügt werden müssen, wobei die .cpp-Datei den generierten, wiederverwendbaren Teil implementiert.
Die nachfolgende Beschreibung beruht auf einem Beispiel eines bestimmten, in Fig. 3 dargestellten Prozeßmodells. Das Beispiel-Prozeßmodell stellt ein Modell eines Kredit-Anwendungsprozesses dar. Fig. 3 zeigt verschiedene Prozeßschritte 301-305 zusammen mit verschiedenen Bedingungen als Voraussetzung, die erfüllt sein müssen, bevor FlowMark den nächsten Schritt in dem Prozeßmodell startet.
4.4.1 Erweiterungen des Prozeßmodells
Das vorliegende Kapitel diskutiert die Erweiterungs- und Zuordnungsmethode der FlowMark-Definitionssprache, die es dem Prozeß der Generierung wiederverwendbarer Teile erlauben, die wiederverwendbaren Teile der Eingabe- und Ausgabe-Container zu generieren.
Die Methode erfordert wahlweise zusätzliche Informationen, um die Informationen richtig zu generieren, die von VisualAge gefordert werden. Die Daten könnten auf mehreren Wegen gewonnen werden. Erstens könnten sie durch das Computersystem gesammelt werden, das die Methode implementiert. Zweitens könnte das Prozeßmetamodell erweitert werden, um die Daten unterzubringen. Beide Lösungen haben ihre Vor- und Nachteile. Von einer Gesamtintegration aus ist die Erweiterung des Prozeßmodells die gewünschte Lösung, da die Daten an einer Stelle gespeichert werden und über die FlowMark- Definitionssprache leicht ausgetauscht werden können. Folglich werden die erforderlichen Erweiterungen als Erweiterungen der FlowMark-Definitionssprache beschrieben.
Die folgenden Spezifikationen beziehen sich auf die Fig. 1, die Datenstrukturen zeigt, die durch die Prozeßaktivität des Beispiel-Prozeßmodells benutzt werden. Die PersonInfo stellen den Eingabe-Container dar; die CreditInfo stellen den Ausgabe-Container dar.
Die Informationen des Teils innerhalb der FlowMark- Definitionssprache werden in dem Abschnitt STRUKTUR (STRUCTURE) (siehe Zeilen 1 und 15 von Fig. 1) angegeben. Der Anfang der Teil-Informationen wird durch das Schlüsselwort TEIL (PART) (siehe Zeilen 7 und 18 von Fig. 1) signalisiert. Das nachfolgende Schlüsselwort TYP EIN (TYPE IN) gibt an, daß die folgenden Informationen für den Eingabe-Container (siehe Zeile 18 von Fig. 1) bestimmt sind; TYP AUS (TYPE OUT) gibt an, daß die folgenden Informationen für den Ausgabe-Container bestimmt sind (siehe Zeile 7 von Fig. 1). Wenn keine Spezifikation dieser Art festgestellt wird, wird TYP EIN (TYPE IN) angenommen.
Ob der generierte Teil hinsichtlich des Speicherverbrauchs oder hinsichtlich der Verarbeitungsgeschwindigkeit optimiert werden sollte, wird durch die Schlüsselworte SPEICHEROPTIMIERUNG (MEMORY OPTIMIZATION) oder GESCHWINDIGKEITSOPTIMIERUNG (SPEED OPTIMIZATION) angegeben (siehe Zeilen 8 und 19 von Fig. 1). Wenn nichts angegeben ist, erfolgt die Optimierung hinsichtlich der Geschwindigkeit.
TEIL-NAME (PART NAME) ermöglicht es, den Namen des zu generierenden, wiederverwendbaren Teiles anzugeben. Wenn nichts angegeben ist, wird der Teil-Name aufgebaut durch Anhängen des Namens der Datenstruktur mit Ein (In) für Teile des Eingabe-Containers und Aus (Out) für Teile des Ausgabe-Containers.
TEIL-BESCHREIBUNG (PART DESCRIPTION) (siehe Zeilen 9 und 20 von Fig. 1) ermöglicht es, eine Beschreibung des Teiles zu liefern.
KLASSENDATEI (CLASS FILE) ermöglicht es, den Namen der Kopfzeilen (.hpp)- und Implementierungs (.cpp)-Dateien für den Teil anzugeben. Wenn nicht angegeben, wird der Name des Teiles benutzt. Wenn in diesem Fall der Dateiname zu lang für ein FAT-Dateisystem ist, wird er wie folgt generiert. Wenn es ein Eingabe-Container ist, werden die ersten sechs Zeichen genommen und mit der Zeichenfolge Ein (In) angehängt; wenn es ein Ausgabe-Container ist, werden die ersten fünf Zeichen genommen und mit der Zeichenfolge Aus (Out) angehängt. Die Dateierweiterung ist stets .hpp für die Kopfzeilendatei und .cpp für die Implementierungsdatei.
Der Name der zu generierenden Teil-Datei kann über das Schlüsselwort TEIL-DATEI (PART FILE) angegeben werden (siehe Zeilen 11 und 22 der Fig. 1). Wenn er nicht angegeben ist, wird der gleiche Name wie für die Klassen-Datei benutzt. Die Erweiterung ist stets .vbe.
Es ist auch möglich, anzugeben, daß ein Piktogramm dem Teil zugeordnet ist. Dies ermöglicht es, das Piktogramm auf der Teilepalette zu identifizieren (siehe die Dokumentation VisualAge für Einzelheiten der Palette). Eine geeignete Bibliothek für dynamische Verbindungen, abgekürzt als (DLL = Dynamik Link Library), muß auch vorgesehen werden. Die geeignete DLL kann über das Schlüsselwort DLL NAME zusammen mit dem Schlüsselwort PIKTOGRAMM ID (ICON ID) angegeben werden. Wegen eines Beispiels siehe Zeilen 12, 13, 23 und 24 der Fig. 1.
BESCHREIBUNG (DESCRIPTION) ermöglicht es, eine Beschreibung für jedes Feld anzugeben. Diese Informationen werden durch den Visuellen Gestalter (Visual Builder) benutzt.
Im Hinblick auf die Zeilen 15 bis 25 des speziellen Beispiels in Fig. 1 gilt das folgende: die Informationen über die Teile in diesem Beispiel der FlowMark Definitionsdatei gelten für einen wiederverwendbaren Teil des Eingabe-Containers, wie das durch das Schlüsselwort TYP EIN (TYPE IN) angegeben wird. Wie das durch das Schlüsselwort SPEICHEROPTIMIERUNG (MEMORY OPTIMIZATION) angegeben wird, wird er auf Speicherverbrauch des zu generierenden, wiederverwendbaren Teiles optimiert, d. h. alle Felder werden in der Konstruktormethode wiederaufgefunden. Der Name des Teils wird nicht über TEIL-NAME (PART NAME) angegeben, er wird daher vorgegeben als PersonInfoIn, dem Namen der Datenstruktur mit angefügtem In für Input (Eingabe). Die Beschreibung des Teils ist Person Info In. Die Dateien für die Klassen-Kopfzeile und die Implementierung sind peinfin.hpp und peinfin.cpp. Der Teil wird gespeichert in persinfo.Vbb. Das geeignete Piktogramm hat die Id 4711, das Piktogramm selbst ist in der DLL gespeichert als persicon.dll.
4.4.2 Generierung der .vbe Datei
Aufgrund der Zuordnungen, die in der FlowMark-Definitionsdatei festgestellt wurden, die das Prozeßmodell den wiederverwendbaren Teilen einer Umgebung für wiederverwendbare Teile zuordnet, werden die Dateien für Teil-Informationen (mit der Dateinamenerweiterung .vbe) für die wiederverwendbaren Teile des generierten Eingabe-Containers und die generierten wiederverwendbaren Teile des Ausgabe-Containers generiert. Im Hinblick auf das Beispiel der Kredit-Anwendung spiegeln die Fig. 4 und die Fig. 5 die Informationsdatei des generierten Teiles für den generierten, wiederverwendbaren Teil des Eingabe-Containers bzw. den generierten, wiederverwendbaren Teil des Ausgabe-Containers wider.
Durch Vergleichen des Inhalts der Datei für Teil-Informationen der Fig. 4 und 5 mit der FlowMark-Definitionsdatei ist es offensichtlich, wie die Informationen der FlowMark-Definitionsdatei benutzt werden, um die Dateien mit Teil-Informationen zu generieren.
Durch Vergleichen der Informationen in der FlowMark-Definitionsdatei der Fig. 1 und der Informationsdatei eines generierten Teiles für einen wiederverwendbaren Teil des Eingabe-Containers der Fig. 4 kann die folgende Beobachtung gemacht werden:
  • - Die Hauptinformation des geeigneten Teiles im Format der VisualAge-Importdatei der Fig. 4 wird in einer Datei mit dem Dateinamen von PERSINFO.vbe (siehe Zeile 21 der Fig. 1) gespeichert. Solch eine Datei wird für jede Datenstruktur generiert, die in einer FlowMark-Definitionsdatei festgestellt wird.
  • - Der Name des generierten, wiederverwendbaren Teiles ist PersonInfoIn (vergleiche Zeile 15 in Fig. 1 mit der Zeile 1 in Fig. 4). Der Teil erbt als irgendein nichtvisueller Teil vom IStandardNotifier (siehe Zeile 2 der Fig. 4).
  • - Die geeignete Kopfzeilendatei für die generierte Klasse des wiederverwendbaren Teiles findet sich in peinfin.hpp (vergleiche Zeile 21 in Fig. 1 mit Zeile 3 in Fig. 4). Diese Datei wird später in VisualAge importiert, um VisualAge mit den richtigen Teil-Informationen zu versorgen.
  • - Für jedes Feld in der Datenstruktur, das in der FlowMark-Definitionsdatei der Fig. 1 festgestellt wird, wird ein Attribut erstellt, wie das in Fig. 4 gezeigt ist. VorName (FirstName) ist der Name des Attributes, Vorname (First Name) ist die Beschreibung des Attributes wie sie über das Schlüsselwort BESCHREIBUNG (DESCRIPTION) spezifiziert ist (vergleiche Zeile 16 in Fig. 1 mit Zeilen 7, 8 in Fig. 4).
  • - VorName (FirstName) ist die Methode, um den Attributwert zu erhalten (nach den Benennungsstandards der IBM Open Class Library); siehe Zeile 10 der Fig. 4.
  • - Für Felder in einem generierten Teil des Ausgabe-Containers wird auch ein Attribut für jedes Feld erstellt. Jedoch besitzt das Attribut nicht, wie das in Fig. 5 dargestellt ist, eine Hol-Methode, sondern eine Setz-Methode setzeVorNamen (setFirstName) und ihm ist ein Melder (notifier) VorNamenId (FirstNameId) (vergleiche Zeile 2 in Fig. 1 mit Zeilen 10, 12 in Fig. 4) zugeordnet.
  • Die Liste bevorzugter Merkmale wird automatisch für alle durch den Benutzer spezifizierten Attribute generiert, wie das in Fig. 4 gezeigt ist. Diese Attribute werden unmittelbar gezeigt, wenn Verbindungen mit dem Teil während des Prozesses der visuellen Programmierung in dem Visuellen Gestalter (Visual Builder) von VisualAge hergestellt werden. Die systemdefinierten Attribute der Datenstruktur werden nicht als bevorzugte Merkmale definiert. Siehe Fig. 4. Zeile 23.
4.4.3 hpp Dateigenerierung
Aufgrund der Zuordnungen, die in der FlowMark-Definitionsdatei festgestellt wurden, die dem Prozeßmodell wiederverwendbare Teile einer Umgebung für wiederverwendbare Teile zuordnen, werden die Kopfzeilendateien (mit der Dateinamenerweiterung .hpp) für die generierten, wiederverwendbaren Teile des Eingabe-Containers und die generierten, wiederverwendbaren Teile des Ausgabe-Containers generiert. Im Hinblick auf das Beispiel der Kredit-Anwendung spiegeln Fig. 6 und Fig. 7 die generierten Kopfzeilendateien bzw. den generierten, wiederverwendbaren Teil des Ausgabe-Containers wider.
Durch Vergleichen der Inhalte der Kopfzeilendatei der Fig. 6 und 7 mit der FlowMark-Definitionsdatei ist es offensichtlich, wie die Informationen der FlowMark-Definitionsdatei verwendet werden, um die Kopfzeilendateien zu generieren.
Durch Vergleichen der Informationen in der FlowMark-Definitionsdatei der Fig. 1 und der generierten Kopfzeilendateien kann die folgende Beobachtung gemacht werden:
  • - Für jeden generierten Teil wird eine Kopfzeilendatei erstellt. Fig. 6 zeigt die erstellte Kopfzeilendatei für den wiederverwendbaren Container des Eingabe-Containers der Datenstruktur PersonInfo, wie sie in Fig. 1, Zeilen 15 bis 25 gezeigt ist. Fig. 7 zeigt die generierte Kopfzeilendatei für den wiederverwendbaren Container des Ausgabe-Containers der Datenstruktur CreditInfo, wie sie in Fig. 1, Zeilen 1 bis 14 gezeigt ist.
  • - istring.hpp ist eingeschlossen, da einige der Attribute von der Art ISTRING sind (vergleiche Zeilen 16, 17 in Fig. 1 und Zeilen 3 bis 5 in Fig. 6); istdntfy.hpp ist eingeschlossen, da die erstellte Klasse von dem IStandardNotifier (siehe Zeilen 6 bis 8 in Fig. 6) erbt.
  • - Für jedes Attribut wird ein Attribut mit der zugeordneten Hol-Methode erstellt. Die Methoden sind als virtuell (virtual) definiert, so daß sie überschrieben werden können, und als const, da es nicht beabsichtigt ist, daß die Methoden Daten modifizieren (siehe Zeilen 15 bis 18 in Fig. 6).
4.4.4. cpp Dateigenerierung
Aufgrund der Zuordnungen, die in der FlowMark-Definitionsdatei festgestellt wurden, die das Prozeßmodell wiederverwendbaren Teilen einer Umgebung für wiederverwendbare Teile zuordnen, werden die Implementierungsdateien in der C++-Programmiersprache (mit der Dateinamenerweiterung .hpp) für die generierten, wiederverwendbaren Teile des Eingabe-Containers und die generierten, wiederverwendbaren Teile des Ausgabe-Containers generiert. Im Hinblick auf das Beispiel der Kredit-Anwendung spiegeln die Fig. 8a und 8b und die Fig. 9a, 9b und 9c die generierten Implementierungsdateien für den generierten, wiederverwendbaren Teil des Eingabe-Containers bzw. den generierten, wiederverwendbaren Teil des Ausgabe-Containers wider. Durch Vergleichen der Inhalte der Implementierungsdateien der Fig. 8 und 9 mit der FlowMark-Definitionsdatei ist es offensichtlich, wie die Informationen der FlowMark-Definitionsdatei benutzt werden, um die Kopfzeilendateien zu generieren.
Beim Vergleichen der Informationen in der FlowMark-Definitionsdatei nach Fig. 1 und den generierten Implementierungsdateien kann die folgende Beobachtung gemacht werden:
  • - Die Fig. 8a/b zeigen die Implementierungsdatei für einen wiederverwendbaren Teil des Eingabe-Containers. exmpiapc.h ist die Kopfzeilendatei für die Schnittstelle zur FlowMark-Anwendungsprogrammierung (siehe Fig. 8a, Zeile 7); exmvap.hpp enthält die Vereinbarungen und Definitionen, die in allen Klassenimplementierungsdateien zu benutzen sind (siehe Fig. 8a Zeile 8).
  • - Der Konstruktor PersonInfoIn() (siehe Fig. 8a, Zeile 9 bis Fig. 8b, Zeile 27) ruft den Eingabe-Container über zwei Aufrufe an FlowMark ab. Der erste Aufruf ruft die Länge des Eingabe-Containers ab (siehe Fig. 8a, Zeilen 11-15), so daß die geeignete Variable, die den Eingabe-Container enthält, in der richtigen Größe zugeordnet werden kann. Bei dem zweiten Aufruf (siehe Fig. 8a, Zeilen 17-21) wird der Eingabe-Container zu der Variablen für weitere Benutzung übertragen.
  • - Wenn der Code hinsichtlich des Speichers optimiert ist, wird jedes Feld in dem Eingabe-Container aufgerufen und in dem richtigen Attribut gespeichert. Dann wird der Container freigegeben.
  • - Für jedes Attribut wird eine Hol-Methode erstellt, wie das in Fig. 8b Zeilen 31-38 dargestellt ist.
  • - Für ein Beispiel einer Implementierungsdatei für einen wiederverwendbaren Teil des Ausgabe-Containers siehe Fig. 9a, 9b, 9c.
  • - Für jedes Attribut wird die Hinweisgabe der Identifizierung mit den richtigen Informationen gefüllt (siehe Fig. 9a, Zeilen 12-23).
  • - Die generierte Setz-Methode (siehe Fig. 9b, Zeile 8 bis Fig. 9c, Zeile 30) für das Attribut prüft, ob der Feldwert der gleiche ist, und wenn das nicht der Fall ist, speichert sie ihn in dem Attribut und benachrichtigt irgendwelche Beobachter.
  • - Das tatsächliche Schreiben in den Ausgabe-Container wird in dem Destruktor durchgeführt, aber nur für diejenigen Attribute, für die ein Feldwert gesetzt worden ist; siehe Fig. 9a, Zeile 33 bis Fig. 9b, Zeile 7.
4.5 Benutzung eines generierten, wiederverwendbaren Teiles des Eingabe-/Ausgabe-Containers
Fig. 10 zeigt den Visuellen Gestalter (Visual Builder) von VisualAge mit zwei generierten Teilen, dem Teil 1001 PersonInfo und dem Teil 1002 CreditInfo, die den Prozeß der visuellen Programmierung widerspiegeln. In Fig. 10 werden die generierten Teile benutzt, um eine neue Benutzungsoberfläche 1003 nur durch graphisches Inbeziehungssetzen (siehe die Pfeile in Fig. 10) der einzelnen Felder der Benutzungsoberfläche zu den einzelnen Attributen der generierten wiederverwendbaren Teile des Eingabe- und Ausgabe-Containers zu bilden.
5 Akronyme
DLL Dynamical Link Library (Dynamische Verbindungsbibliothek)
FDL FlowMark Definition Language (FlowMark- Definitionssprache)
OO Object-Oriented (objektorientiert)

Claims (14)

1. Computerisierte Methode zum automatischen Erweitern der Spezifikationen eines Prozeßmodells in einer Workflow-Prozeßumgebung, bei der das Prozeßmodell eine Prozeßaktivität definiert, die durch mindestens ein Computersystem verwaltet und ausgeführt wird, und der Prozeßaktivität ein oder mehrere Eingabe-Container und/oder ein oder mehrere Ausgabe-Container zugeordnet sind,
die Methode zum Erweitern das Prozeßmodell mit einer Umgebung für wiederverwendbare Teile verbindet, in der der Eingabe-Container und der Ausgabe-Container als Wiederverwendungs-Parts implementiert sind,
die Methode zum Erweitern einen Eingabe-Container-Zuordnungsschritt umfaßt, der dem Prozeßmodell einen Eingabe-Container-Wiederverwendungs-Part zuordnet, der den Eingabe-Container implementiert und in der Umgebung für Wiederverwendungs-Parts residiert, und der Eingabe- Container-Zuordnungsschritt die Zuordnung als eine Eingabe-Container-Zuordnungs-Spezifikation in dem Prozeßmodell speichert,
die Methode zum Erweitern einen Ausgabe-Container-Zuordnungsschritt umfaßt, der dem Prozeßmodell einen Ausgabe-Container-Wiederverwendungs-Part zuordnet, der den Ausgabe-Container implementiert und in der Umgebung für Wiederverwendungs-Parts residiert, und der Ausgabe- Container-Zuordnungsschritt die Zuordnung als eine Ausgabe-Container-Zuordnungs-Spezifikation in dem Prozeßmodell speichert.
2. Methode zum Erweitern nach Anspruch 1,
bei der der Eingabe-Container-Zuordnungsschritt einen Teilschritt des Zuordnens eines Namens des zugeordneten Eingabe-Container-Wiederverwendungs-Parts umfaßt und des Speicherns der Zuordnung als einer Namens-Zuordnungs-Spezifikation des Eingabe-Container-Wiederverwendungs- Parts in der Eingabe-Container-Zuordnungs-Spezifikation in dem Prozeßmodell und/oder
bei der der Eingabe-Container-Zuordnungsschritt einen Teilschritt des Zuordnens einer Beschreibung des zugeordneten Eingabe-Container-Wiederverwendungs-Parts umfaßt und des Speicherns der Beschreibung als einer Zuordnungs-Spezifikation der wiederverwendbaren Beschreibung des Eingabe-Containers in der Zuordnungs-Spezifikation des Eingabe-Container-Wiederverwendungs- Parts in dem Prozeßmodell und/oder
bei der der Eingabe-Container-Zuordnungsschritt einen Teilschritt des Zuordnens eines Namens einer Kopfzeilendatei und/oder eines Namens einer Implementierungsdatei für den zugeordneten Eingabe- Container-Wiederverwendungs-Part umfaßt und des Speicherns der Zuordnung als einer Namens-Zuordnungs-Spezifikation der Kopfzeilendatei und/oder als einer Namens-Zuordnungs-Spezifikation der Implementierungsdatei in der Zuordnungs-Spezifikation des Eingabe-Container- Wiederverwendungs-Parts in dem Prozeßmodell und/oder
bei der der Zuordnungsschritt des Eingabe-Container- Wiederverwendungs-Parts einen Teilschritt des Zuordnens eines Namens einer Informationsdatei für den zugeordneten Eingabe-Container-Wiederverwendungs-Part umfaßt und des Speicherns der Zuordnung als einer Namens-Zuordnungs-Spezifikation der Informationsdatei des Wiederverwendungs-Parts in der Zuordnungs-Spezifikation des Eingabe-Container-Wiederverwendungs-Parts in dem Prozeßmodell und/oder
bei der der Zuordnungsschritt des Eingabe-Container- Wiederverwendungs-Parts einen Teilschritt des Zuordnens einer Piktogramm-Identifizierung und des optionalen Zuordnens einer Piktogramm-DLL für den zugeordneten Eingabe-Container-Wiederverwendungs-Part umfaßt und des Speicherns der Zuordnung als einer Zuordnungs-Spezifikation zur Piktogramm-Identifizierung und als einer Piktogramm-DLL-Zuordnungs-Spezifikation in der Zuordnungs-Spezifikation des Eingabe-Container- Wiederverwendungs-Parts in dem Prozeßmodell und/oder
bei der der Zuordnungsschritt des Eingabe-Container- Wiederverwendungs-Parts einen Teilschritt des Zuordnens eines Optimierungszieles umfaßt, der entweder die Speicherbenutzung oder die Verarbeitungsgeschwindigkeit für den zugeordneten Eingabe-Container-Wiederverwendungs-Part optimiert, und des Speicherns der Zuordnung als einer Zuordnungs-Spezifikation des Optimierungszieles in der Zuordnungs-Spezifikation des Eingabe-Container- Wiederverwendungs-Parts in dem Prozeßmodell.
3. Methode zum Erweitern gemäß Anspruch 1 oder 2,
bei der der Ausgabe-Container-Zuordnungsschritt einen Teilschritt des Zuordnens eines Namens des zugeordneten Ausgabe-Container-Wiederverwendungs-Parts umfaßt und des Speicherns der Zuordnung als einer Namens-Zuordnungs-Spezifikation des Ausgabe-Container-Wiederverwendungs- Parts in der Ausgabe-Container-Zuordnungs-Spezifikation in dem Prozeßmodell und/oder
bei der der Ausgabe-Container-Zuordnungsschritt einen Teilschritt des Zuordnens einer Beschreibung des zugeordneten Ausgabe-Container-Wiederverwendungs-Parts umfaßt und des Speicherns der Beschreibung als einer Zuordnungs-Spezifikation der wiederverwendbaren Beschreibung des Ausgabe-Containers in der Zuordnungs-Spezifikation des Ausgabe-Container-Wiederverwendungs- Parts in dem Prozeßmodell und/oder
bei der der Ausgabe-Container-Zuordnungsschritt einen Teilschritt des Zuordnens eines Namens einer Kopfzeilendatei und/oder eines Namens einer Implementierungsdatei für den zugeordneten Ausgabe- Container-Wiederverwendungs-Part umfaßt und des Speicherns der Zuordnung als einer Namens-Zuordnungs-Spezifikation der Kopfzeilendatei und/oder als einer Namens-Zuordnungs-Spezifikation der Implementierungsdatei in der Zuordnungs-Spezifikation des Ausgabe-Container- Wiederverwendungs-Parts in dem Prozeßmodell und/oder
bei der der Zuordnungsschritt des Ausgabe-Container- Wiederverwendungs-Parts einen Teilschritt des Zuordnens eines Namens einer Informationsdatei für den zugeordneten Ausgabe-Container-Wiederverwendungs-Part umfaßt und des Speicherns der Zuordnung als einer Namens-Zuordnungs-Spezifikation der Informationsdatei des Wiederverwendungs-Parts in der Zuordnungs-Spezifikation des Ausgabe-Container-Wiederverwendungs-Parts in dem Prozeßmodell und/oder
bei der der Zuordnungsschritt des Ausgabe-Container- Wiederverwendungs-Parts einen Teilschritt des Zuordnens einer Piktogramm-Identifizierung und des optionalen Zuordnens einer Piktogramm-DLL für den zugeordneten Ausgabe-Container-Wiederverwendungs-Part umfaßt und des Speicherns der Zuordnung als einer Zuordnungs-Spezifikation zur Piktogramm-Identifizierung und als einer Piktogramm-DLL-Zuordnungs-Spezifikation in der Zuordnungs-Spezifikation des Ausgabe-Container- Wiederverwendungs-Parts in dem Prozeßmodell und/oder
bei der der Zuordnungsschritt des Ausgabe-Container- Wiederverwendungs-Parts einen Teilschritt des Zuordnens eines Optimierungszieles umfaßt, der entweder die Speicherbenutzung oder die Verarbeitungsgeschwindigkeit für den zugeordneten Ausgabe-Container-Wiederverwendungs-Part optimiert, und des Speicherns der Zuordnung als einer Zuordnungs-Spezifikation des Optimierungszieles in der Zuordnungs-Spezifikation des Ausgabe-Container- Wiederverwendungs-Parts in dem Prozeßmodell.
4. Methode zum Erweitern gemäß einem der Ansprüche 1 bis 3, bei der die Wiederverwendungs-Parts implementierende Objektstrukturen darstellen, die durch Entwicklungszubehörteile verbessert sind, wobei die Entwicklungszubehörteile das visuelle Programmieren in einer Umgebung für graphisches Aufbereiten unterstützen.
5. Computersystem, das Spezifikationen eines Prozeßmodells für eine Workflow-Prozeßumgebung speichert, bei der das Prozeßmodell eine Prozeßaktivität definiert, die durch mindestens ein Computersystem verwaltet und ausgeführt wird, und der Prozeßaktivität ein oder mehrere Eingabe-Container und ein oder mehrere Ausgabe-Container zugeordnet sind, wobei das Computersystem gekennzeichnet ist durch das weitere Speichern von Erweiterungen der Spezifikationen,
welche Erweiterungen das Prozeßmodell mit einer Umgebung für Wiederverwendungs-Parts verbinden, in der der Eingabe-Container und der Ausgabe-Container als Wiederverwendungs-Parts implementiert sind,
die Erweiterungen dem Prozeßmodell einen Wiederverwendungs-Part eines Eingabe-Containers zuordnen, der den Eingabe-Container implementiert und in der Umgebung für wiederverwendbare Teile residiert, und die Zuordnung als eine Zuordnungs-Spezifikation des Eingabe- Container-Wiederverwendungs-Parts für das Prozeßmodell gespeichert ist
und die Erweiterungen dem Prozeßmodell einen Ausgabe- Container-Wiederverwendungs-Part zuordnen, der den Ausgabe-Container implementiert und innerhalb der Umgebung für Wiederverwendungs-Parts residiert, und die Zuordnung als eine Zuordnungs-Spezifikation des Ausgabe- Container-Wiederverwendungs-Parts für das Prozeßmodell gespeichert ist.
6. Computerisierte Methode, die für ein Prozeßmodell automatisch eine Implementierung eines Eingabe-Containers und/oder Ausgabe-Containers als Wiederverwendungs-Parts generiert, die in einer Umgebung für Wiederverwendungs-Parts residieren, und die Methode der Generierung Spezifikationen eines Prozeßmodells benutzt, das in einer Workflow-Prozeßumgebung residiert,
die Methode zum Generieren einen Analyseschritt umfaßt zum Analysieren der Spezifikationen des Prozeßmodells,
die Methode zum Generieren einen Generierungsschritt des Eingabe-Container-Wiederverwendungs-Parts umfaßt zum Generieren eines Eingabe-Container-Wiederverwendungs-Parts als einer wiederverwendbaren Implementierung eines Eingabe-Containers, wenn eine Eingabe-Container- Zuordnungs-Spezifikation durch den Analyseschritt festgestellt wurde,
die Methode zum Generieren einen Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts umfaßt zum Generieren eines Ausgabe-Container-Wiederverwendungs- Parts als einer wiederverwendbaren Implementierung eines Ausgabe-Containers, wenn eine Ausgabe-Container- Zuordnungs-Spezifikation durch den Analyseschritt festgestellt wurde.
7. Methode zum Generieren gemäß Anspruch 6, bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts und der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts den Eingabe- Container-Wiederverwendungs-Part und den Ausgabe- Container-Wiederverwendungs-Part für die Speicherbenutzung oder die Verarbeitungsgeschwindigkeit optimiert generieren gemäß einer Zuordnungs-Spezifikation des Optimierungszieles, die durch den Analyseschritt festgestellt wurde.
8. Methode zum Generieren gemäß Anspruch 6 oder 7,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Part und der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts einen Generierungsschritt für den Attributnamen umfassen, der für jeden Eingabe-Parameter und/oder jeden Ausgabe-Parameter, der durch den Analyseschritt festgestellt wurde, einen Attributnamen generiert,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts und der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts einen Attribut-Generierungsschritt umfassen, der für jeden Eingabe-Parameter und/oder jeden Ausgabe-Parameter, der durch den Analyseschritt festgestellt wurde, ein zugeordnetes Attribut des Eingabe-Container-Wiederverwendungs-Parts und/oder ein zugeordnetes Attribut des Ausgabe-Container- Wiederverwendungs-Parts von entsprechender Art und Länge generiert.
9. Methode zum Generieren gemäß Anspruch 8,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts einen Generierungsschritt einer Hol-Attribut-Methode umfaßt, der eine Hol-Attribut- Methode für jedes zugeordnete Attribut generiert, das durch den Attribut-Generierungsschritt generiert wird, wobei die Hol-Attribut-Methode es ermöglicht, einen aktuellen Wert des zugeordneten Attributes wiederaufzufinden,
bei der der Generierungsschritt für den Eingabe-Container Wiederverwendungs-Part einen Generierungsschritt für den Konstruktor des Eingabe-Container-Wiederverwendungs-Parts umfaßt, der einen Konstruktor des Eingabe-Container- Wiederverwendungs-Parts generiert, der eine Methode ist, die es erlaubt, die zugeordneten Attribute des Eingabe- Container-Wiederverwendungs-Parts auf ihren aktuellen Wert zu setzen, der in einem entsprechenden Eingabe-Container gespeichert ist, der in der Workflow-Prozeßumgebung residiert.
10. Methode zum Generieren gemäß Anspruch 8 oder 9,
bei der der Generierungsschritt des Ausgabe-Container- Wiederverwendungs-Parts einen Generierungsschritt einer Methode zum Setzen des Attributes umfaßt, der eine Methode zum Setzen des Attributes für jedes zugeordnete Attribut generiert, das durch den Attribut-Generierungsschritt generiert wurde, wobei die Methode zum Setzen des Attributes es ermöglicht, einen neuen Wert in dem zugeordneten Attribut zu speichern,
bei der der Generierungsschritt des Ausgabe-Container- Wiederverwendungs-Parts einen Konstruktor-Generierungsschritt des Ausgabe-Container- Wiederverwendungs-Parts umfaßt, der einen Konstruktor des Ausgabe-Container-Wiederverwendungs-Parts generiert, der eine Methode ist, die es ermöglicht, die zugeordneten Attribute des Ausgabe-Container-Wiederverwendungs-Parts auf ihren aktuellen Wert zu setzen, der in einem entsprechenden Ausgabe-Container gespeichert ist, der innerhalb der Workflow-Prozeßumgebung residiert,
bei der der Generierungsschritt des Ausgabe-Container- Wiederverwendungs-Parts einen Destruktor-Generierungsschritt des Ausgabe-Container- Wiederverwendungs-Parts umfaßt, der einen Destruktor des Ausgabe-Container-Wiederverwendungs-Parts generiert, der eine Methode ist, die es ermöglicht, die Werte der zugeordneten Attribute des Ausgabe-Container- Wiederverwendungs-Parts in einen entsprechenden Ausgabe-Container zu schreiben, der innerhalb der Workflow-Prozeßumgebung residiert.
11. Methode zum Generieren nach einem der vorhergehenden Ansprüche 6 bis 10,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts und/oder der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts das Schreiben der Generierungsergebnisse in eine Informationsdatei für den Wiederverwendungs-Part ist, der durch den Analyseschritt in einer Namens-Zuordnungs-Spezifikation der Informationsdatei des Wiederverwendungs-Parts festgestellt wurden, das Deklarieren des erzeugten Eingabe-Container- Wiederverwendungs-Parts und/oder des generierten Ausgabe- Container-Wiederverwendungs-Parts gegenüber der Umgebung mit Wiederverwendungs-Parts,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts und/oder der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts das optionale Schreiben der Generierungsergebnisse in eine Kopfzeilendatei des Wiederverwendungs-Parts sind/ist, die in dem Analyseschritt in einer zugeordneten Namens-Spezifikation der Kopfzeilendatei festgestellt wurde und die den generierten Eingabe-Container-Wiederverwendungs- Parts und/oder den generierten Ausgabe-Container- Wiederverwendungs-Parts gegenüber potentiellen Benutzerprogrammen definiert,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts und/oder der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts das Schreiben von Generierungsergebnissen in eine Implementierungsdatei des Wiederverwendungs-Parts sind/ist, die in dem Analyseschritt in einer Namens- Zuordnungs-Spezifikation der Kopfzeilendatei festgestellt wurde und die den generierten Eingabe-Container- Wiederverwendungs-Part und/oder des generierten Ausgabe- Container-Wiederverwendungs-Parts in der Umgebung mit wiederverwendbaren Teilen implementieren,
bei der der Generierungsschritt des Eingabe-Container- Wiederverwendungs-Parts und/oder der Generierungsschritt des Ausgabe-Container-Wiederverwendungs-Parts die Informationsdatei des Wiederverwendungs-Parts in die Umgebung für wiederverwendbare Teile importieren.
12. Computersystem, das eine Implementierung eines Prozeßmodells für eine Workflow-Prozeßumgebung speichert, bei der das Prozeßmodell eine Prozeßaktivität definiert, die durch mindestens ein Computersystem verwaltet und ausgeführt wird, und der Prozeßaktivität ein oder mehrere Eingabe-Container und/oder ein oder mehrere Ausgabe-Container zugeordnet ist/sind, wobei das Computersystem gekennzeichnet ist durch
weiteres Speichern eines Eingabe-Container- Wiederverwendungs-Parts eines als eine wiederverwendbare Implementierung eines Eingabe-Containers,
weiteres Speichern eines Ausgangs-Container- Wiederverwendungs-Parts als eine wiederverwendbare Implementierung eines Ausgabe-Containers.
13. Computerprogrammprodukt, das ein Speichermedium enthält, das durch ein Computersystem benutzbar ist und durch ein Computersystem lesbare Erweiterungen eines Prozeßmodells für eine Workflow-Prozeßumgebung speichert, bei der das Prozeßmodell eine Prozeßaktivität definiert, die durch mindestens ein Computersystem verwaltet und ausgeführt wird, und der Prozeßaktivität ein oder mehrere Eingabe-Container und/oder ein oder mehrere Ausgabe-Container zugeordnet sind, wobei die Erweiterungen, die in dem Speichermedium gespeichert sind, weiter gekennzeichnet sind durch
das Verbinden des Prozeßmodells mit einer Umgebung für Wiederverwendungs-Parts, innerhalb der der Eingabe-Container und der Ausgabe-Container als Wiederverwendungs-Parts implementiert sind,
das Zuordnen eines Eingabe-Container-Wiederverwendungs- Parts zum Prozeßmodell, der den Eingabe-Container implementiert und in der Umgebung für Wiederverwendungs-Parts residiert, und die Speicherung der Zuordnung als eine Zuordnungs-Spezifikation des Eingabe-Container- Wiederverwendungs-Parts für das Prozeßmodell,
das Zuordnen eines Ausgabe-Container-Wiederverwendungs- Parts zum Prozeßmodell, der den Ausgabe-Container implementiert und innerhalb der Umgebung für Wiederverwendungs-Parts residiert, und die Speicherung der Zuordnung als eine Zuordnungs-Spezifikation des Ausgabe-Container-Wiederverwendungs-Parts für das Prozeßmodell.
14. Computerprogrammprodukt, das ein Speichermedium enthält, das durch ein Computersystem benutzbar ist und durch ein Computersystem lesbare Spezifikationen eines Prozeßmodells für eine Workflow-Prozeßumgebung speichert, wobei das Prozeßmodell eine Prozeßaktivität definiert, die durch mindestens ein Computersystem verwaltet und ausgeführt wird, und der Prozeßaktivität ein oder mehrere Eingabe-Container zugeordnet ist/sind und/oder ein oder mehrere Ausgabe-Container, und das Programmprodukt weiter dadurch gekennzeichnet ist,
daß es ein Programm enthält, das eine Methode zum Generieren implementiert, die, wenn sie durch den Computer ausgeführt wird, für das Prozeßmodell eine Implementierung eines Eingabe-Containers und/oder eines Ausgabe-Containers als Wiederverwendungs-Parts generiert, die in einer Umgebung für Wiederverwendungs-Parts residieren und die Methode zum Generieren Spezifikationen eines Prozeßmodells benutzt, das in einer Workflow-Prozeßumgebung residiert,
die Methode zum Generieren einen Analyseschritt umfaßt zum Analysieren der Spezifikationen des Prozeßmodells,
die Methode zum Generieren einen Generierungsschritt eines Eingabe-Container-Wiederverwendungs-Part zum Generieren eines Eingabe-Container-Wiederverwendungs- Parts als einer wiederverwendbaren Implementierung eines Eingabe-Containers umfaßt, wenn eine Zuordnungs-Spezifikation eines Eingabe-Container-Wiederverwendungs- Parts durch den Analyseschritt festgestellt wurde,
die Methode zum Generieren einen Generierungsschritt eines Ausgabe-Container-Wiederverwendungs-Parts zum Generieren eines Ausgabe-Container-Wiederverwendungs- Parts als einer wiederverwendbaren Implementierung eines Ausgabe-Containers umfaßt, wenn eine Zuordnungs-Spezifikation eines Ausgabe-Container-Wiederverwendungs- Parts durch den Analyseschritt festgestellt wurde.
DE19712946A 1996-05-30 1997-03-27 Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells Ceased DE19712946A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP96108635 1996-05-30

Publications (1)

Publication Number Publication Date
DE19712946A1 true DE19712946A1 (de) 1997-12-04

Family

ID=8222830

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19712946A Ceased DE19712946A1 (de) 1996-05-30 1997-03-27 Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells

Country Status (2)

Country Link
US (1) US6028997A (de)
DE (1) DE19712946A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960404A (en) * 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
DE19926370A1 (de) * 1999-06-10 2000-12-14 Abb Research Ltd System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7137101B1 (en) * 1998-12-03 2006-11-14 International Business Machines Corporation Apparatus and method for performing general integrity checks using integrity rule checking points in an enterprise application
US7117172B1 (en) 1999-03-11 2006-10-03 Corecard Software, Inc. Methods and systems for managing financial accounts
US7979382B2 (en) 1999-05-04 2011-07-12 Accenture Global Services Limited Component based information linking during claim processing
US7617240B2 (en) * 1999-05-04 2009-11-10 Accenture Llp Component based task handling during claim processing
IL130972A0 (en) 1999-07-15 2001-01-28 Hotbar Com Israel Ltd Method for the dynamic improvement of internet browser appearance and connectivity
US7222303B2 (en) 1999-07-15 2007-05-22 Hotbar.Com, Inc. System and method for the dynamic improvement of internet browser navigability
US7159192B2 (en) 1999-08-13 2007-01-02 Hotbar.Com, Inc. System and method for customizing electronic messages
US6662355B1 (en) * 1999-08-11 2003-12-09 International Business Machines Corporation Method and system for specifying and implementing automation of business processes
US7810069B2 (en) * 1999-10-05 2010-10-05 Borland Software Corporation Methods and systems for relating data structures and object-oriented elements for distributed computing
DE19959050A1 (de) * 1999-12-07 2001-06-13 Siemens Ag Projektabwicklungsverfahren
WO2001061595A1 (en) * 2000-02-16 2001-08-23 Bea Systems, Inc. Workflow integration system for enterprise wide electronic collaboration
US7221377B1 (en) 2000-04-24 2007-05-22 Aspect Communications Apparatus and method for collecting and displaying information in a workflow system
US7739325B1 (en) * 2000-04-24 2010-06-15 Aspect Software, Inc. Apparatus and method for extensible real-time workflows
US6898783B1 (en) * 2000-08-03 2005-05-24 International Business Machines Corporation Object oriented based methodology for modeling business functionality for enabling implementation in a web based environment
US7096222B2 (en) * 2000-09-01 2006-08-22 Borland Software Corporation Methods and systems for auto-instantiation of storage hierarchy for project plan
EP1225508A1 (de) * 2001-01-19 2002-07-24 Thinkingcap Technology Limited Eine universelle Softwareanwendung
DE10109876B4 (de) * 2001-03-01 2006-11-16 Ekkono Gmbh Verfahren und Einrichtung zum Datenmanagement
US6892376B2 (en) * 2001-03-20 2005-05-10 International Business Machines Corporation Flexible infrastructure for managing a process
US6966049B2 (en) * 2001-04-24 2005-11-15 Heuristics Physics Laboratories, Inc. Software development tool employing workflows for developing user interactive programs
US20020154119A1 (en) * 2001-04-24 2002-10-24 Lepejian Yervant D. Apparatus and method for performing branch processing according to a user indicated selection from displayed graphics
WO2002103602A1 (en) * 2001-06-07 2002-12-27 Togethersoft Corporation Methods and systems for linking tasks to workflow
AU2002355575A1 (en) * 2001-08-08 2003-02-24 Trivium Systems Inc. Scalable messaging platform for the integration of business software components
US20030036913A1 (en) * 2001-08-16 2003-02-20 Blair Barbara A. Product development process
US7552222B2 (en) * 2001-10-18 2009-06-23 Bea Systems, Inc. Single system user identity
US7552443B2 (en) * 2001-10-18 2009-06-23 Bea Systems, Inc. System and method for implementing an event adapter
US7865380B2 (en) * 2001-11-08 2011-01-04 International Business Machines Corporation Automated information technology management system
US20030135401A1 (en) * 2002-01-14 2003-07-17 Parr Ian Barry Anthony Method and process of program management for the owner's representative of design-build construction projects
US7516447B2 (en) * 2002-02-22 2009-04-07 Bea Systems, Inc. Methods and apparatus for building, customizing and using software abstractions of external entities
US20030182172A1 (en) * 2002-03-25 2003-09-25 Claggett Stuart Lee System and method to build project management processes
US7526519B2 (en) * 2002-05-01 2009-04-28 Bea Systems, Inc. High availability application view deployment
US7519976B2 (en) * 2002-05-01 2009-04-14 Bea Systems, Inc. Collaborative business plug-in framework
US7257645B2 (en) * 2002-05-01 2007-08-14 Bea Systems, Inc. System and method for storing large messages
US8135772B2 (en) 2002-05-01 2012-03-13 Oracle International Corporation Single servlets for B2B message routing
US7676538B2 (en) * 2002-05-02 2010-03-09 Bea Systems, Inc. Systems and methods for application view transactions
US7627631B2 (en) * 2002-05-02 2009-12-01 Bea Systems, Inc. Systems and methods for collaborative business plug-ins
US7484224B2 (en) * 2002-05-02 2009-01-27 Bae Systems, Inc. Adapter deployment without recycle
US7350184B2 (en) * 2002-05-02 2008-03-25 Bea Systems, Inc. System and method for enterprise application interactions
US7222148B2 (en) 2002-05-02 2007-05-22 Bea Systems, Inc. System and method for providing highly available processing of asynchronous service requests
US7165249B2 (en) * 2002-05-02 2007-01-16 Bea Systems, Inc. Systems and methods for modular component deployment
US7493628B2 (en) * 2002-05-02 2009-02-17 Bea Systems, Inc. Shared common connection factory
US6988099B2 (en) * 2002-06-27 2006-01-17 Bea Systems, Inc. Systems and methods for maintaining transactional persistence
US7039898B2 (en) * 2002-07-12 2006-05-02 Netspective Communications, Llc Computer system for performing reusable software application development from a set of declarative executable specifications
US7272816B2 (en) * 2002-07-31 2007-09-18 Sap Aktiengesellschaft Transformations between private and shared workflows
US7805327B1 (en) 2002-07-31 2010-09-28 Sap Aktiengesellschaft Transformations between combined and individual workflows
US7653562B2 (en) * 2002-07-31 2010-01-26 Sap Aktiengesellschaft Workflow management architecture
US20050022164A1 (en) * 2003-02-25 2005-01-27 Bea Systems, Inc. Systems and methods utilizing a workflow definition language
US7752599B2 (en) * 2003-02-25 2010-07-06 Bea Systems Inc. Systems and methods extending an existing programming language with constructs
US7293038B2 (en) * 2003-02-25 2007-11-06 Bea Systems, Inc. Systems and methods for client-side filtering of subscribed messages
US7707564B2 (en) * 2003-02-26 2010-04-27 Bea Systems, Inc. Systems and methods for creating network-based software services using source code annotations
US7299454B2 (en) 2003-02-26 2007-11-20 Bea Systems, Inc. Method for multi-language debugging
US7539985B2 (en) * 2003-02-26 2009-05-26 Bea Systems, Inc. Systems and methods for dynamic component versioning
US7076772B2 (en) * 2003-02-26 2006-07-11 Bea Systems, Inc. System and method for multi-language extensible compiler framework
US8032860B2 (en) 2003-02-26 2011-10-04 Oracle International Corporation Methods for type-independent source code editing
US7650276B2 (en) * 2003-02-26 2010-01-19 Bea Systems, Inc. System and method for dynamic data binding in distributed applications
US20040225995A1 (en) * 2003-02-28 2004-11-11 Kyle Marvin Reusable software controls
US7636722B2 (en) * 2003-02-28 2009-12-22 Bea Systems, Inc. System and method for describing application extensions in XML
US7444620B2 (en) * 2003-02-28 2008-10-28 Bea Systems, Inc. Systems and methods for a common runtime container framework
US7650592B2 (en) * 2003-03-01 2010-01-19 Bea Systems, Inc. Systems and methods for multi-view debugging environment
US8126742B2 (en) 2003-05-09 2012-02-28 Accenture Global Services Limited Automated assignment of insurable events
US7272544B2 (en) * 2004-01-15 2007-09-18 Honeywell International Inc. Integrated modeling through symbolic manipulation
GB2416221A (en) * 2004-07-10 2006-01-18 Hewlett Packard Development Co Analysing a multi stage process
GB2416048A (en) * 2004-07-10 2006-01-11 Hewlett Packard Development Co Inferring data type in a multi stage process
US20060045461A1 (en) * 2004-08-06 2006-03-02 Microsoft Corporation Methods and apparatus for project management
US20060074735A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
US8170901B2 (en) * 2004-10-01 2012-05-01 Microsoft Corporation Extensible framework for designing workflows
US20060074714A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Workflow tracking based on profiles
US20060074704A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Framework to model cross-cutting behavioral concerns in the workflow domain
US7805324B2 (en) * 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
US7451432B2 (en) * 2004-10-01 2008-11-11 Microsoft Corporation Transformation of componentized and extensible workflow to a declarative format
US7814457B2 (en) * 2005-01-19 2010-10-12 Sap Ag System and method for revising flow diagrams displaying a process
US7506306B2 (en) * 2005-05-24 2009-03-17 International Business Machines Corporation Graphical editor with incremental development
US7971198B2 (en) * 2005-06-08 2011-06-28 Unoweb Inc. Method for global resource sharing having logically linked means and integrated functionality for building solutions
US7752606B2 (en) * 2005-08-10 2010-07-06 Capital One Financial Corporation Software development tool using a structured format to generate software code
US20070038465A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Value model
US20070038501A1 (en) * 2005-08-10 2007-02-15 International Business Machines Corporation Business solution evaluation
US8711142B2 (en) * 2005-08-11 2014-04-29 International Business Machines Corporation Visual model importation
US20070088589A1 (en) * 2005-10-17 2007-04-19 International Business Machines Corporation Method and system for assessing automation package readiness and and effort for completion
US7933786B2 (en) * 2005-11-01 2011-04-26 Accenture Global Services Limited Collaborative intelligent task processor for insurance claims
US7761478B2 (en) * 2005-11-23 2010-07-20 International Business Machines Corporation Semantic business model management
US20070129981A1 (en) * 2005-12-07 2007-06-07 International Business Machines Corporation Business solution management
US8448137B2 (en) 2005-12-30 2013-05-21 Sap Ag Software model integration scenarios
US8316344B2 (en) * 2005-12-30 2012-11-20 Sap Ag Software model deployment units
US8407664B2 (en) 2005-12-30 2013-03-26 Sap Ag Software model business objects
US8660904B2 (en) * 2005-12-30 2014-02-25 Sap Ag Architectural design for service request and order management application software
US20070156500A1 (en) * 2005-12-30 2007-07-05 Wilfried Merkel Architectural design for sell from stock application software
US8370794B2 (en) * 2005-12-30 2013-02-05 Sap Ag Software model process component
US8522194B2 (en) 2005-12-30 2013-08-27 Sap Ag Software modeling
US8676617B2 (en) * 2005-12-30 2014-03-18 Sap Ag Architectural design for self-service procurement application software
US8321831B2 (en) 2005-12-30 2012-11-27 Sap Ag Architectural design for internal projects application software
US8396731B2 (en) * 2005-12-30 2013-03-12 Sap Ag Architectural design for service procurement application software
US20070156550A1 (en) * 2005-12-30 2007-07-05 Der Emde Martin V Architectural design for cash and liquidity management application software
US8402426B2 (en) * 2005-12-30 2013-03-19 Sap Ag Architectural design for make to stock application software
US8326703B2 (en) 2005-12-30 2012-12-04 Sap Ag Architectural design for product catalog management application software
US8380553B2 (en) * 2005-12-30 2013-02-19 Sap Ag Architectural design for plan-driven procurement application software
US8327319B2 (en) * 2005-12-30 2012-12-04 Sap Ag Software model process interaction
US20070192152A1 (en) * 2006-02-13 2007-08-16 Itt Manufacturing Enterprises, Inc. Software phase sequencer editor and method of editing
US20070214025A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Business engagement management
US8396761B2 (en) * 2006-03-30 2013-03-12 Sap Ag Providing product catalog software application as enterprise services
US8442850B2 (en) * 2006-03-30 2013-05-14 Sap Ag Providing accounting software application as enterprise services
US20070239505A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Abstract execution model for a continuation-based meta-runtime
US8069439B2 (en) * 2006-03-30 2011-11-29 Microsoft Corporation Framework for modeling continuations in workflows
US8396749B2 (en) * 2006-03-30 2013-03-12 Sap Ag Providing customer relationship management application as enterprise services
US8538864B2 (en) * 2006-03-30 2013-09-17 Sap Ag Providing payment software application as enterprise services
US20070239498A1 (en) * 2006-03-30 2007-10-11 Microsoft Corporation Framework for modeling cancellation for process-centric programs
US8326702B2 (en) * 2006-03-30 2012-12-04 Sap Ag Providing supplier relationship management software application as enterprise services
US7739135B2 (en) * 2006-03-30 2010-06-15 Microsoft Corporation Asynchronous fault handling in process-centric programs
US8024405B2 (en) * 2006-03-30 2011-09-20 Microsoft Corporation Declarative model for concurrency-control across lightweight threads
US8438119B2 (en) * 2006-03-30 2013-05-07 Sap Ag Foundation layer for services based enterprise software architecture
US8321832B2 (en) * 2006-03-31 2012-11-27 Sap Ag Composite application modeling
US20070244910A1 (en) * 2006-04-12 2007-10-18 Microsoft Corporation Business process meta-model
US8312416B2 (en) * 2006-04-13 2012-11-13 Sap Ag Software model business process variant types
US7770146B2 (en) * 2006-05-19 2010-08-03 Sap Ag Computer software development incorporating core and compound services
US20080004924A1 (en) * 2006-06-28 2008-01-03 Rong Zeng Cao Business transformation management
US8381180B2 (en) * 2006-09-08 2013-02-19 Sap Ag Visually exposing data services to analysts
US7945122B2 (en) * 2006-09-27 2011-05-17 International Business Machines Corporation Method, system, and program product for processing an electronic document
US20080077418A1 (en) * 2006-09-27 2008-03-27 Andrew Coleman Method, system, and program product for analyzing how a procedure will be applied to an electronic document
US7954008B2 (en) * 2007-01-15 2011-05-31 Microsoft Corporation Objective assessment of application crashes from a customer environment
US8200618B2 (en) 2007-11-02 2012-06-12 International Business Machines Corporation System and method for analyzing data in a report
US8447657B2 (en) * 2007-12-31 2013-05-21 Sap Ag Architectural design for service procurement application software
US8671033B2 (en) 2007-12-31 2014-03-11 Sap Ag Architectural design for personnel events application software
US8315900B2 (en) * 2007-12-31 2012-11-20 Sap Ag Architectural design for self-service procurement application software
US8671032B2 (en) 2007-12-31 2014-03-11 Sap Ag Providing payment software application as enterprise services
US8510143B2 (en) * 2007-12-31 2013-08-13 Sap Ag Architectural design for ad-hoc goods movement software
US8671034B2 (en) * 2007-12-31 2014-03-11 Sap Ag Providing human capital management software application as enterprise services
US20090171758A1 (en) * 2007-12-31 2009-07-02 Shai Alfandary Architectural design for physical inventory application software
US8401936B2 (en) * 2007-12-31 2013-03-19 Sap Ag Architectural design for expense reimbursement application software
US8478769B2 (en) * 2008-02-22 2013-07-02 Accenture Global Services Limited Conversational question generation system adapted for an insurance claim processing system
US8515786B2 (en) * 2008-02-22 2013-08-20 Accenture Global Services Gmbh Rule generation system adapted for an insurance claim processing system
US20090217146A1 (en) * 2008-02-22 2009-08-27 Eugene Goldfarb Page navigation generation system for a customizable application
US8315926B2 (en) * 2008-09-18 2012-11-20 Sap Ag Architectural design for tax declaration application software
US8401928B2 (en) 2008-09-18 2013-03-19 Sap Ag Providing supplier relationship management software application as enterprise services
US8386325B2 (en) * 2008-09-18 2013-02-26 Sap Ag Architectural design for plan-driven procurement application software
US20100082497A1 (en) * 2008-09-18 2010-04-01 Sap Ag Providing Foundation Application as Enterprise Services
US20100070395A1 (en) * 2008-09-18 2010-03-18 Andreas Elkeles Architectural design for payroll processing application software
US8326706B2 (en) * 2008-09-18 2012-12-04 Sap Ag Providing logistics execution application as enterprise services
US8818884B2 (en) * 2008-09-18 2014-08-26 Sap Ag Architectural design for customer returns handling application software
US8595077B2 (en) * 2008-09-18 2013-11-26 Sap Ag Architectural design for service request and order management application software
US8352338B2 (en) * 2008-09-18 2013-01-08 Sap Ag Architectural design for time recording application software
US8374896B2 (en) 2008-09-18 2013-02-12 Sap Ag Architectural design for opportunity management application software
US8321250B2 (en) * 2008-09-18 2012-11-27 Sap Ag Architectural design for sell from stock application software
US8380549B2 (en) * 2008-09-18 2013-02-19 Sap Ag Architectural design for embedded support application software
US20100070336A1 (en) * 2008-09-18 2010-03-18 Sap Ag Providing Customer Relationship Management Application as Enterprise Services
US8321306B2 (en) 2008-12-03 2012-11-27 Sap Ag Architectural design for selling project-based services application software
US8321308B2 (en) * 2008-12-03 2012-11-27 Sap Ag Architectural design for manual invoicing application software
US8738476B2 (en) 2008-12-03 2014-05-27 Sap Ag Architectural design for selling standardized services application software
US8401908B2 (en) * 2008-12-03 2013-03-19 Sap Ag Architectural design for make-to-specification application software
US8311904B2 (en) 2008-12-03 2012-11-13 Sap Ag Architectural design for intra-company stock transfer application software
US8635585B2 (en) * 2009-02-14 2014-01-21 International Business Machines Corporation Capturing information accessed, updated and created by processes and using the same for validation of consistency
US20100153239A1 (en) * 2008-12-11 2010-06-17 Sap Ag Providing accounting software application as enterprise services
US8589863B2 (en) * 2008-12-11 2013-11-19 International Business Machines Corporation Capturing information accessed, updated and created by services and using the same for validation of consistency
US8671035B2 (en) * 2008-12-11 2014-03-11 Sap Ag Providing payroll software application as enterprise services
US20110125667A1 (en) * 2009-11-24 2011-05-26 Sap Ag Process Pattern Automation in Tools for Business Process Modeling
US9772617B2 (en) * 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
KR102063966B1 (ko) * 2015-10-21 2020-01-09 엘에스산전 주식회사 Plc 명령어 컴파일 최적화 방법
US20220129818A1 (en) * 2020-10-22 2022-04-28 Open Text Corporation Lifecycle fragment and dynamic discovery of lifecycle fragment at runtime

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2263988B (en) * 1992-02-04 1996-05-22 Digital Equipment Corp Work flow management system and method
US5535322A (en) * 1992-10-27 1996-07-09 International Business Machines Corporation Data processing system with improved work flow system and method
US5630069A (en) * 1993-01-15 1997-05-13 Action Technologies, Inc. Method and apparatus for creating workflow maps of business processes
US5768506A (en) * 1994-09-30 1998-06-16 Hewlett-Packard Co. Method and apparatus for distributed workflow building blocks of process definition, initialization and execution

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5960404A (en) * 1997-08-28 1999-09-28 International Business Machines Corp. Mechanism for heterogeneous, peer-to-peer, and disconnected workflow operation
DE19926370A1 (de) * 1999-06-10 2000-12-14 Abb Research Ltd System zur Dokumentation, Archivierung und zum Auffinden wiederverwendbarer Software-Komponenten

Also Published As

Publication number Publication date
US6028997A (en) 2000-02-22

Similar Documents

Publication Publication Date Title
DE19712946A1 (de) Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells
DE19705955A1 (de) Verfahren zum Generieren einer Implementierung eines Workflow-Prozessmodells in einer Objektumgebung
DE69637436T2 (de) Objektorientiertes Kommunikationssystem mit Unterstützung für mehrere entfernte Maschinentypen
DE19955004A1 (de) Ableitung und Ausführung von Workload-Manager-Enklaven aus Workflows
EP1061422B1 (de) Informationstechnisches System zur Definition, Optimierung und Steuerung von Prozessen
DE19955718A1 (de) Paralleler Datenbank-Support für Workflow-Management-Systeme
DE10003015A1 (de) Die Erzeugung von Ereignis-Bedingungs-Aktions-Regeln aus Prozessmodellen
WO2004083983A2 (de) Vergleich von modellen eines komplexen systems
DE19948028A1 (de) Verfahren und System zum Optimieren des Anforderungsschickens in Workflow Management Systemen
EP1699005A1 (de) Integration von MES- und Controls-Engineering
WO2004084103A1 (de) Analyse eines modells eines komplexen systems
DE19614789C1 (de) Verfahren zur automatischen Konfigurierung eines technischen Systems unter Berücksichtigung unterschiedlicher Qualitäten von Komponenten-Außenwirkungen
DE102004043788A1 (de) Programm Generator
DE19960048A1 (de) Zeitgesteuerte Startbedingungen für Aktivitäten in Workflow-Management-Systemen
WO2004083982A2 (de) Modellierung eines komplexen systems
DE102010004192A1 (de) Verfahren zur Konstruktion industrieller Anlagen
DE60019996T2 (de) System zum Koordinieren von Dokumenten und Aufgaben für einen Rechner
EP1202167B1 (de) Verfahren zur modellbasierten objektorientierten Entwicklung von externen Schnittstellen für verteilte Softwaresysteme
EP1234231B1 (de) Verfahren zur erzeugung grafischer benutzerschnittstellen für computerprogramme
EP0973091B1 (de) Verfahren zum Erzeugen eines regel- und anpassbaren Netzwerkes von Modellen von Verhaltensmustern
EP1490762B1 (de) Verfahren, software-produkt und system zur universellen computergestuetzten informationsverarbeitung
EP1387260A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
WO1995014281A1 (de) Verfahren zur automatischen modellierung eines teilprozesses aus einem gesamtprozess durch einen rechner
EP1044409B1 (de) Programmablaufverfahren und verfahren zur erweiterung eines programmkomponentensystems
DE19951152A1 (de) Startbedingungen für Aktivitäten in Workflow Management Systemen

Legal Events

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