WO2007096244A1 - Verfahren zur prozessoptimierung - Google Patents

Verfahren zur prozessoptimierung Download PDF

Info

Publication number
WO2007096244A1
WO2007096244A1 PCT/EP2007/051081 EP2007051081W WO2007096244A1 WO 2007096244 A1 WO2007096244 A1 WO 2007096244A1 EP 2007051081 W EP2007051081 W EP 2007051081W WO 2007096244 A1 WO2007096244 A1 WO 2007096244A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
dependencies
card
confirm
input pin
Prior art date
Application number
PCT/EP2007/051081
Other languages
English (en)
French (fr)
Inventor
Andreas Hennig
Lev Olkhovitch
Rainer Wasgint
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to EP07704365A priority Critical patent/EP1987478A1/de
Priority to US12/224,034 priority patent/US20100168875A1/en
Publication of WO2007096244A1 publication Critical patent/WO2007096244A1/de

Links

Classifications

    • 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/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Definitions

  • the invention relates to a method for optimizing a process, for example a network service (web services), by eliminating overly existing dependencies between individual activities and forming more effective processes.
  • a process for example a network service (web services)
  • the problem underlying the invention is now to provide a method for process optimization in which excess dependencies are automatically found and eliminated.
  • the invention consists in first analyzing the process described by a process definition so as to discover control dependencies that are not supported by the data flow, the control flow contained in the process in a first step into a corresponding Petri net is transformed and then analyzed in a second step of this Petri net. Second, the process is then reconstructed without the revealed redundant or unnecessary control flow dependencies and an optimized process definition is created. As a result of the invention, excessively existing dependencies are automatically found and eliminated in order, for. B. to achieve increased parallelization or concurrency of sub-processes.
  • FIG. 1 is a schematic diagram for explaining the method according to the invention
  • Figure 2 is an activity graph of an exemplary
  • FIG. 7 shows an activity graph of the exemplary original process optimized by the method according to the invention.
  • FIG. 1 shows a schematic illustration for explaining the method according to the invention, in which, starting from a process definition 1, for example in the form of an activity graph or so-called BPEL, a reconstruction 2 of an associated data flow takes place and a corresponding Petri net 3 which is subjected to a subsequent analysis 4 of the Petri net to determine redundant dependencies 5 between individual activities. If these redundant dependencies are fixed, this information is taken from the original one
  • Process Definition 1 a conversion (process refactoring) 6 to a process definition 6 of the optimized process performed.
  • FIG. 2 shows an activity graph of an original process together with a conversion into a corresponding Petri net using the example of a train ticket vending machine.
  • the individual activities Cl ... C9 are indicated by arrows, e.g. B. C1C2, connected in the control flow chart and next to data Dl ... D6 are arranged, which is shown by dashed data arrows by what actions this data formed and from which these data are used or received.
  • the right-hand part of FIG. 2 shows a section of a corresponding Petri net for the activities C4..C7 and the data D3..D5, the activities C4..C7 corresponding to transitions T1..T4 in the Petri net.
  • control flow (control flow) is compared with the dependencies between the individual activities contained in the set SET and compared.
  • connection arrows in the control flow plan that are truncated or required by these dependencies are stored in a second set SET2.
  • a connection checking function CHECK-CONNECTION which checks all arrows between a source SOURCE and a target TARGET to see whether an arrow is truncated by at least one data dependency between SOURCE and TARGET.
  • the program flow of the pseudocode Listing2 is traced or documented for the concrete example of the ticket vending machine, again variable names are printed in bold and Petri net elements are printed in italics.
  • FIG. 7 shows an activity graph of the exemplary original process optimized by the method according to the invention, wherein it becomes clear here that the action C5 “Read EC-Card” namely reading the EC-card not only after the action C4 but practical can take place at the same time with the action C2 "Input Search Criteria", since the action C5 for reading the debit card does not even need the search criteria Dl formed from the actions C2..C4, the train schedule D2 and the train data D3.
  • the action C7 "Payment Process” is a merge or synchronization of the actions, it being noted here that the PIN entry is made for security reasons immediately before the actual payment process.
  • Listing 1 Take all the transitions that have no incoming data arcs and put them into transition queue. 2. While transition queue not empty:
  • Boolean Function CHECK-CONNECTION Transitions SOURCE, TARGET: 1. If TARGET is a split /] om: l.For every control place PLACE2 directly reachable from SOURCE:
  • CHECK-CONNECTION (TARGET, ARC's target TRANS) is TRUE: add all the control arcs conneetmg TARGET to TRANS to SET2. End If End If
  • Variable names are bold and petri-nets are in italics.
  • Variable names are bold and petri-nets are in italics.
  • V 1 "Read EC Card” is not a split /] ⁇ in
  • Control arcs o ⁇ gmatmg at "2" are: "2 ⁇ ⁇ Confirm / Input PIN"
  • V 1 "Confirm / Input PIN" is not a split / jom
  • transition queue ⁇ "Confirm / Input PIN
  • V 1 "Process Payment" is not a split / jom

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die Erfindung besteht im Wesentlichen darin, dass als erstes der durch eine Prozessdefinition beschriebene Prozess derart analysiert wird, dass Steuerablauf-Abhängigkeiten aufgedeckt werden die nicht durch den Datenfluss unterstützt sind, wobei der im Prozess enthaltene Steuerablauf in einem ersten Schritt in ein entsprechendes Petri-Netz umgeformt wird und dann in einem zweiten Schritt dieses Petrinetz analysiert wird. Als zweites wird dann der Prozess ohne die aufgedeckten redundanten bzw. unnötigen Steuerablauf-Abhängigkeiten rekonstruiert und eine optimierte Prozessdefinition erstellt. Durch die Erfindung werden so übermäßig vorhandene Abhängigkeiten automatisch aufgefunden und beseitigt, um z.B. eine erhöhte Parallelisierung bzw. Nebenläufigkeit von Teilprozessen zu erreichen.

Description

Beschreibung
Verfahren zur Prozessoptimierung
Die Erfindung betrifft ein Verfahren zur Optimierung eines Prozesses, bspw. eines Netzdienstes (web Services) , durch Beseitigung übermäßig vorhandener Abhängigkeiten zwischen einzelnen Aktivitäten effektivere Prozesse gebildet werden.
Ineffektive Prozesse führen zu exzessiven Richtungsänderungen, Wartezeiten und zu unausgelasteten bzw. überlasteten Resourcen.
Eine Prozessoptimierung erfolgt momentan manuell und basierend auf Intuition und Erfahrung. Es sind lediglich einige quantitative Analysetechniken, wie bspw.
Jonkers, H.; and H. M. Franken. 1996. "Quantitative modelling and analysis of business processes" , in A. Bruzzone and E.
Kerckhoffs, eds . , Simulation in Industry: Proceedings 8 th European Simulation Symposium, vol. I, Genoa, Italy, Oct . ,
175-179; und Datenfluss-Verifikationstechniken, wie z. B.
bekannt .
Aus der Veröffentlichung von W. M. P van der Aalst mit dem
Titel „The Application of Petri Nets to Workflow Management", hrtp : / /ic.tiü.iυe, nl / εraff /wvdaa "i εr /publ i cat i ons/p53.pdf ist die Abbildung von Geschäftsprozessen auf Petri-Netze bekannt .
Die der Erfindung zu Grunde liegende Aufgabe besteht nun darin ein Verfahren zur Prozessoptimierung anzugeben, bei dem übermäßig vorhandene Abhängigkeiten automatisch aufgefunden und beseitigt werden.
Dies wird erfindungsgemäß durch die Merkmale des Patentanspruchs 1 gelöst. Die weiteren Patentansprüche betreffen bevorzugte Ausgestaltungen des erfindungsgemäßen Verfahrens .
Die Erfindung besteht im Wesentlichen darin, dass als erstes der durch eine Prozessdefinition beschriebene Prozess derart analysiert wird, dass Steuerablauf-Abhängigkeiten aufgedeckt werden die nicht durch den Datenfluss unterstützt sind, wobei der im Prozess enthaltene Steuerablauf in einem ersten Schritt in ein entsprechendes Petri-Netz umgeformt wird und dann in einem zweiten Schritt dieses Petrinetz analysiert wird. Als zweites wird dann der Prozess ohne die aufgedeckten redundanten bzw. unnötigen Steuerablauf- Abhängigkeiten rekonstruiert und eine optimierte Prozessdefinition erstellt. Durch die Erfindung werden so übermäßig vorhandene Abhängigkeiten automatisch aufgefunden und beseitigt, um z. B. eine erhöhte Parallelisierung bzw. Nebenläufigkeit von Teilprozessen zu erreichen.
Nachfolgend wird die Erfindung anhand eines in der Zeichnung dargestellten Ausführungsbeispiels näher erläutert. Dabei zeigt
Figur 1 eine Prinzipdarstellung zur Erläuterung des erfindungsgemäßen Verfahrens,
Figur 2 einen Aktivitäts-Graph eines beispielhaften
Original-Prozesses zusammen mit einer Umsetzung in eine entsprechendes Petri-Netz-Darstellung,
Figuren 4A, 4B, 5A, 5B, 6A, 6B Petri-Netz-Darstellungen zur Erläuterung von Besonderheiten bei der Umsetzung eines Aktivitäts-Graphen in ein entsprechendes Petri-Netz und
Figur 7 einen Aktivitäts-Graph des durch das erfindungsgemäße Verfahren optimierten beispielhaften Original-Prozesses . In Figur 1 ist eine Prinzipdarstellung zur Erläuterung des erfindungsgemäßen Verfahrens dargestellt, bei der ausgehend von einer Prozessdefinition 1, bspw. in Form eines Aktivitäts-Graphen (activity graph) oder sog. BPEL, eine Rekonstruktion 2 eines zugehörigen Datenflusses erfolgt und ein entsprechendes Petrinetz 3 gebildet wird, das einer nachfolgenden Analyse 4 des Petrinetzes unterzogen wird, um redundante Abhängigkeiten 5 zwischen einzelnen Aktivitäten zu ermitteln. Stehen diese redundanten Abhängigkeiten fest, wird mit dieser Information aus der ursprünglichen
Prozessdefinition 1 ein Umbau (process refactoring) 6 zu einer Prozessdefinition 6 des optimierten Prozesses durchgeführt .
In Figur 2 ist ein Aktivitäts-Graph eines Original-Prozesses zusammen mit einer Umsetzung in ein entsprechendes Petri-Netz am Beispiel eines Bahnticket-Verkaufsautomaten gezeigt. Im Aktivitäts-Graph sind vom Start bis zum Ende die einzelnen Aktivitäten Cl ...C9 über Pfeile, z. B. C1C2, im Steuerablaufplan verbunden und daneben sind Daten Dl... D6 angeordnet, wobei durch gestrichelte Daten-Pfeile ersichtlich ist durch welche Aktionen diese Daten gebildet und von welchen diese Daten gebraucht bzw. entgegengenommen werden. Der rechte Teil von Figur 2 zeigt einen Ausschnitt eines entsprechenden Petri-Netzes für die Aktivitäten C4..C7 und die Daten D3..D5, wobei die Aktivitäten C4..C7 Transitionen T1..T4 im Petri-Netz entsprechen. Wie bei Petri-Netzen üblich ist auch hier zwischen Transitionen mindestens je ein Platz 1..3 vorhanden .
Bei der Bildung des Petri-Netzes werden, wie in Figur 3 gezeigt, Aktivitäten die auf keine Daten zugreifen, Aktivitäten zum Schreiben von bisher nicht initialisierten Daten, Aktivitäten die Daten lesen, siehe Figuren 4A und 4B, und Aktivitäten die Daten modifizieren, siehe Figuren 5A und 5B, unterschieden. Für den Fall dass eine Folgeaktivität sowohl Daten im Originalzustand aber auch im modifizierten Zustand akzeptiert, wird, wie dies Figuren 6A und 6B gezeigt ist, im Petri-Netz durch je einen Platz vor und nach der Aufspaltung berücksichtigt. Es können auch Hilfstransitionen und Hilfsplatze eingefugt werden, um bspw. eine Änderung der Daten wahrend einer Aktion zu ermöglichen. Diese Hilfs- Transitionen und Hilfsplatze sind in den Figuren 4B, 5B und 6B schraffiert dargestellt. Das Problem, dass, sofern zwei Aktionen auf die selben Ressourcen zurückgreifen, normalerweise keine strenge Ausfuhrungsreihenfolge gewahrleistet werden kann, wird entweder dadurch gelost, dass parallele Aktivitäten die ihre eigenen Daten speichern oder zwei getrennte Ressourcen verwendet werden. Die Analyse des Petri-Netzes stellt zunächst die Abhängigkeiten zwischen den Einzelaktivitaten fest und vergleicht dann den Steuerablauf (control flow) des Prozesses mit diesen Abhängigkeiten.
Hierzu wird, wie auch aus dem Pseudocode Listingl im Anhang 1 ersichtlich, für jede Transition t eine Menge SET (t) von anderen Transitionen ermittelt, von denen die Transition t abhangt .
Im Anhang 3 wird für das konkrete Beispiel des Bahnticketverkaufsautomaten der Programmablauf (Trace) des Pseudocodes Listingl mitverfolgt bzw. dokumentiert, wobei Variablennamen fettgedruckt und Petri-Netz-Elemente kursiv gedruckt sind.
Danach wird, wie auch aus dem weiteren Pseudocode Listing2 im Anhang 2 ersichtlich, der Steuerablauf (control flow) den Abhängigkeiten zwischen den in der Menge SET enthaltenen Einzelaktivitaten gegenübergestellt und verglichen.
Verbindungspfeile im Steuerablaufplan, die durch diese Abhängigkeiten gestutzt sind bzw. gefordert werden, werden in einer zweiten Menge SET2 gespeichert. Hierzu wir eine vorteilhafter Weise eine Verbindungsuberprufungs-Funktion CHECK-CONNECTION definiert und verwendet, die alle Pfeile zwischen einer Quelle SOURCE und einem Ziel TARGET dahingehend überprüft, ob ein Pfeil durch mindestens eine Daten-Abhangigkeit zwischen SOURCE und TARGET gestutzt ist. Im Anhang 4 wird für das konkrete Beispiel des Bahnticketverkaufsautomaten der Programmablauf des Pseudocodes Listing2 mitverfolgt bzw. dokumentiert, wobei wiederum Variablennamen fettgedruckt und Petri-Netz-Elemente kursiv gedruckt sind.
In Figur 7 ist ein Aktivitäts-Graph des durch das erfindungsgemäße Verfahren optimierten beispielhaften Original-Prozesses gezeigt, wobei hier deutlich wird, dass die Aktion C5 „Read EC-Card" nämlich das Lesen der EC-Karte nicht erst nach der Aktion C4 sondern praktisch gleichzeitig mit der Aktion C2 „Input Search Criteria" erfolgen kann, da die Aktion C5 zum Lesen der EC-Karte die aus den Aktionen C2..C4 erst gebildeten Suchkriterien Dl, den Zugfahrplan D2 und die Zugdaten D3 gar nicht benötigt. Mit der Aktion C7 „Payment Process" erfolgt eine Zusammenführung bzw. Synchronisation der Aktionen, wobei hier zu bemerken ist, dass die PIN- Eingabe aus Sicherheitsgründen unmittelbar vor dem eigentlichen Zahlungsvorgang erfolgt.
Im ursprünglich Prozess werden die Aktionen der Zugauswahl und das Lesen der EC-Karte sequentiell durchgeführt und es addieren sich somit die Verarbeitungszeiten zu T=tl+t2 , wohingegen beim optimierten Prozess zu Topt=max (tl, t2) ; der Zeitgewinn beträgt also deltaT= Abs(tl-t2).
Anhang 1
Listing 1 1. Take all the transitions that have no lncoming data arcs and put them into transition queue. 2.While transition queue not empty:
1. Feten a transition (START) from the transition queue 2.For every data arc (ARC) oπginating from START: 1.If ARCs target has data arcs targeting START:
Contmue to new Iteration. End If 2.For every data arc (ARC2) oπginating at the ARCs target: l.Add START to the SET ( ARC2 ' s target transition ). 2.If ARC2's target not yet processed, add it to the transition queue.
Anhang 2
Listing 2 l.Take all the transitions directly connected to the initial place and put them into transition queue. 2.While transition queue not empty:
1. Feten a transition TRANS from the transition queue.
2.For every control place (PLACE) directly reachable from TRANS:
1.If PLACE has not been processed before: For each control arc ARC oπginating at PLACE:
If CHECK-CONNECTION (TRANS, ARCs target TRANS2) is TRUE: Add all the control arcs conneetmg TRANS to TRANS2 to SET2. End If End If
Boolean Function CHECK-CONNECTION (Transitions SOURCE, TARGET) : 1. If TARGET is a split/]om: l.For every control place PLACE2 directly reachable from SOURCE:
If PLACE has not been processed before: For each control arc ARC oπginating at PLACE:
If CHECK-CONNECTION (TARGET, ARCs target TRANS) is TRUE: Add all the control arcs conneetmg TARGET to TRANS to SET2. End If End If
2.If CHECK-CONNECTION ever returned TRUE in the loop above :
Return TRUE. Else:
Return FALSE. 2. Else: l.Add TARGET to the transition queue. 2.If SET (TARGET) contains SOURCE:
Return TRUE. Else: Return FALSE. Anhang 3
Pseudocode 1 - Trace für das konkrete Anwendungsbeispiel
Variablennamen sind fettgedruckt und Petrinetzelement-Namen sind kursiv gedruckt.
1 Transition queue = {"Select Tram", "Read EC Card"} => 2.1: START = "Select Tram"
=> 2.2: Outgomg data arcs : "Select Train -> Train Data"
[1] ARC = "Select Tram -> Tram Data"
=> 2.2.1: "Tram Data" has no data arcs targetmg "Select Tram" => 2.2.2: Data arcs origmatmg at "Tram Data" are :
"Tram Data -^ Confirm/Input PIN", "Tram Data -^ Process Payment"
[1] ARC2 = "Train Data -> "Confirm/Input PIN":
=> 2.2.2.1: "Select Tram" is added to SET ("Confirm/Input PIN"),
SET ("Coiifirm/Input PIN") = {"Select Tram"} => 2.2.2.2: "Confirm/Input PIN" is added to the transition queue, transition queue = {"Read EC Card", "Confirm/Input PIN"}
[2] ARC2 = "Tram Data -> Process Payment" :
=> 2.2.2.1 "Select Tram" is added to SET {"Process Payment") ,
SET ("Process Payment") = {"Select Tram"} => 2.2.2.2: "Select Tram" is added to transition queue, transition queue = {"Read EC Card", "Confirm/Input PIN", "Process
Payment" }
2 Transition queue = {"Read EC Card" , "Confirm/Input PIN", "Process Payment" } => 2.1: START = "Read EC Card"
=> 2.2: Outgomg data arcs: "Read EC Card -> EC Card Data"
[1] ARC = "Read EC Card -> EC Card Data"
=> 2.2.1: "EC Card Data" has no data arcs targetmg "Read EC Card" => 2.2.2: Data arcs origmatmg at "EC Card Data" are: "Card Data -^ Process Payment"
[1] ARC2 = "Card Data -> Process Payment"
=> 2.2.2.1: "Read EC Card" is added to SET {"Process Payment") , SET {"Process Payment") = {"Select Tram", "Read EC Card"} => 2.2.2.2: " Process Payment" was already processed
Transition queue = {"Confirm/Input PIN" , "Process Payment"} => 2.1: START = " Confirm/Input PIN"
=> 2.2: Outgomg data arcs : "Confirm/Input PIN -^ Train Data" and "Confirm/input PIN -» PIN"
[1] ARC = "Confirm/Input PIN -> Tram Data"
=> "Tram Data" has arcs targetmg " Confirm/Input PIN", contmue to next Iteration
[2] ARC = "Confirm/Input PIN -» PIN"
=> 2.2.1: "PIN" has no arcs targetmg "Confirm/Input PIN"
=> Data arcs origmatmg at "PIN" are : "PIN ~$ Process Payment"
[1] ARC2 = "PIN -> Process Payment"
=> 2.2.2.1: "Confirm/Input PIN" is added to SET {"Process Payment"),
SET ("Process Payment") = {"Select Tram", "Read EC Card",
"Confirm/mput PIN"} => 2.2.2.2: "Process Payment" was already processed
Transition queue = {"Process Payment"} => 2.1: START = "Process Payment"
=> 2.2: Outgomg data arcs: "Process Payment -^ Tram Data ", "Process Payment -^ Card Data " , "Process Payment -> PIN"
[1] ARC =_" Process Payment -> Tram Data
=> "Train Data" has arcs targetmg "Process Payment" , contmue to next Iteration
[2] ARC = "Process Payment -> Card Data"
=> "Card Data" has arcs targetmg "Process Payment" , contmue to next Iteration
[3] ARC = "Process Payment -> PIN"
=> "PIN" has arcs targetmg "Process Payment" , contmue to next Iteration Transition queue = { } Anhang 4
Pseudocode 2 - Trace für das konkrete Anwendungsbeispiel
Variablennamen sind fettgedruckt und Petrinetzelement-Namen sind kursiv gedruckt.
1 Transition queue = {"Select Tram" ) => 2.1: START = "Select Tram"
=> 2.2: Outgomg control arcs : "Select Tram ~$ 1"
[1] PLACE = " 1" , it has not been processed before
=> 2.2.1: Control arcs oπginating at " 1" are : " 1-$ Read EC Card"
[1] ARC = "l-> Read EC Card":
=> 2.2.1.1: CHECK-CONNECTION ( SOURCE = "Select Tram", TARGET = "Read EC Card" ) == FALSE:
V 1: "Read EC Card" is not a split/]θin
=> 2.1: "Read EC Card" is added to transition queue, transition queue = {"Read EC Card") => 2.2: SET ("Read EC Card") does not contain "Select Tram", return FALSE
2 Transition queue = {"Read EC Card") => 2.1: START = "Read EC Card"
=> 2.2: Outgomg control arcs: "Read EC Card -^ 2"
[1] PLACE = "2", it has not been processed before
=> 2.2.1: Control arcs oπgmatmg at "2" are: "2~^ Confirm/Input PIN"
[1] ARC = "2-> Confirm/Input PIN"
=> 2.2.1.1: CHECK-CONNECTION ( SOURCE = "Read EC Card", TARGET = Confirm/Input PIN" ) == FALSE:
V 1: "Confirm/Input PIN" is not a split/jom
=> 2.1: "Confirm/Input PIN" is added to transition queue, transition queue = {"Confirm/Input PIN")
=> 2.2: SET ("Confirm/Input PIN") does not contain "Read EC Card", return FALSE Transition queue = {" Confirm/Input PIN" } => 2.1: START = " Confirm/Input PIN"
=> 2.2: Outgomg control arcs : " Confirm/Input PIN -^ 3"
[1] PLACE = "3"
=> 2.2.1: Control arcs origmatmg at "PIN" are : "3 ~$ Process Payment"
[1] ARC = "3 -» Process Payment"
=> 2.2.1.1: CHECK-CONNECTION ( SOURCE = "Confirm/Input PIN", TARGET = "Process Payment" ) == TRUE, arcs "Confirm/Input PIN -^ 3" and "3 -^ Process Payment" are added to SET2, SET2 = {"Confirm/Input PIN -> 3", "3 -> Process Payment"}
V 1: "Process Payment" is not a split/jom
=> 2.1: "Process Payment" is added to transition queue, transition queue = {"Confirm/Input PIN"} => 2.2: SET ("Process Payment") does contam "Confirm/Input
PIN", return TRUE
Transition queue = {"Process Payment"} => 2.1: START = "Process Payment"
=> 2.2: Outgomg data arcs: none
Transition queue = { }

Claims

Patentansprüche
1. Verfahren zur Prozessoptimierung,
- bei dem als erstes ein durch eine Prozessdefinition (1) beschriebener zu optimierender Prozess derart analysiert wird, dass im Steuerablauf des Prozesses Steuerablauf- Abhängigkeiten aufgedeckt werden die nicht durch einen entsprechenden aus der Prozessdefinition rekonstruierten Datenfluss (2) unterstützt sind, wobei der Steuerablauf des Prozesses in ein entsprechendes Petri-Netz (3) umgeformt wird und dieses Petrinetz mit Hilfe einer Petri-Netz-Analyse (4) dann analysiert wird und
- bei dem der Prozess ohne die aufgedeckten überflüssigen Steuerablauf-Abhängigkeiten (5) mit Hilfe der Prozessdefinition (1) rekonstruiert und eine optimierte Prozessdefinition (7) erstellt wird.
2. Verfahren nach Anspruch 1, bei dem bei der Petri-Netz-Analyse (4) für jede Transition t eine Menge von anderen Transitionen ermittelt wird, von denen die jeweilige Transition t abhängt.
3. Verfahren nach Anspruch 2, bei dem der Steuerablauf des Prozesses den Abhängigkeiten zwischen den in dieser Menge enthaltenen Einzelaktivitäten gegenübergestellt und verglichen wird und Verbindungspfeile (C1C2) eines den Steuerablauf beschreibenden Steuerablaufplans, die durch diese Abhängigkeiten gestützt sind bzw. gefordert werden in einer zweiten Menge gespeichert werden.
PCT/EP2007/051081 2006-02-20 2007-02-05 Verfahren zur prozessoptimierung WO2007096244A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP07704365A EP1987478A1 (de) 2006-02-20 2007-02-05 Verfahren zur prozessoptimierung
US12/224,034 US20100168875A1 (en) 2006-02-20 2007-02-05 Method for Process Optimisation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006007791.1 2006-02-20
DE102006007791A DE102006007791A1 (de) 2006-02-20 2006-02-20 Verfahren zur Prozessoptimierung

Publications (1)

Publication Number Publication Date
WO2007096244A1 true WO2007096244A1 (de) 2007-08-30

Family

ID=38042917

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2007/051081 WO2007096244A1 (de) 2006-02-20 2007-02-05 Verfahren zur prozessoptimierung

Country Status (4)

Country Link
US (1) US20100168875A1 (de)
EP (1) EP1987478A1 (de)
DE (1) DE102006007791A1 (de)
WO (1) WO2007096244A1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020211295A1 (zh) * 2019-04-17 2020-10-22 山东科技大学 基于结构替换的流程模型修复方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8276124B2 (en) * 2007-06-20 2012-09-25 Microsoft Corporation Constructing petri nets from traces for diagnostics
CN116611670B (zh) * 2023-07-17 2023-10-20 无锡安鑫卓越智能科技有限公司 一种半导体器件制造生产线的故障诊断方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617230B2 (en) * 2005-07-28 2009-11-10 International Business Machines Corporation Finding similarity among sets of coordinated tasks

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
AALST VAN DER W M P: "THE APPLICATION OF PETRI NETS TO WORKFLOW MANAGEMENT", JOURNAL OF CIRCUITS, SYSTEMS AND COMPUTERS, WORLD SCIENTIFIC, LONDON, GB, vol. 8, no. 1, February 1998 (1998-02-01), pages 21 - 66, XP008038460, ISSN: 0218-1266 *
OLKHOVICH L: "Semi-Automatic Business Process Performance Optimization Based On Redundant Control Flow Detection", TELECOMMUNICATIONS, 2005. AICT-ICIW '06. INTERNATIONAL CONFERENCE ON INTERNET AND WEB APPLICATIONS AND SERVICES/ADVANCED INTERNATIONAL CONFERENCE ON GUADELOPE, FRENCH CARIBBEAN 19-25 FEB. 2006, PISCATAWAY, NJ, USA,IEEE, 19 February 2006 (2006-02-19), pages 146 - 146, XP010898469, ISBN: 0-7695-2522-9 *
SEBASTIAN HINZ ET AL: "Transforming BPEL to Petri Nets. In: BPM 2005.", LECTURE NOTES IN COMPUTER SCIENCE, vol. 3649, 2005, pages 220 - 235, XP019017192 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020211295A1 (zh) * 2019-04-17 2020-10-22 山东科技大学 基于结构替换的流程模型修复方法

Also Published As

Publication number Publication date
DE102006007791A1 (de) 2007-08-30
US20100168875A1 (en) 2010-07-01
EP1987478A1 (de) 2008-11-05

Similar Documents

Publication Publication Date Title
DE10297279T5 (de) Verfahren und Vorrichtung zum Durchführen von Compiler-Transformation von Softwarecode unter Verwendung von Fast-Forward-Bereichen und Wertespezialisierung
DE19535084A1 (de) Verfahren und Vorrichtung zur dynamischen Optimierung von durch ein Computersystem gemanagten Geschäftsprozessen
DE102005013302A1 (de) Proaktiver, systemischer Planer für ressorceneingeschränkte Testsysteme
DE19948028A1 (de) Verfahren und System zum Optimieren des Anforderungsschickens in Workflow Management Systemen
DE60223143T2 (de) Bereichsgroessen-ablaufverfahren fuer die mehrfachbehandlung von vielen artikeln
DE102010028884A1 (de) Ursachenanalyse für Verarbeitung komplexer Ereignisse
DE60303413T2 (de) Verfahren und computersystem zum reduzieren von ausführungszeiten bei der materialbedarfsplanung
DE10147231A1 (de) Verfahren und Anordnung zur Fahrplanoptimierung in Liniennetzen sowie ein entsprechendes Computergrogramm-Erzeugnis und ein entsprechendes computerlesbares Speichermedium
DE19960048A1 (de) Zeitgesteuerte Startbedingungen für Aktivitäten in Workflow-Management-Systemen
WO2007096244A1 (de) Verfahren zur prozessoptimierung
DE10115046A1 (de) Verfahren und Einrichtung zur Erzeugung eines Abbildes eines netzwerkartigen Herstellungsprozesses
DE19963493A1 (de) Verfahren und System zur Prüfmuster-Erzeugung sowie rechnerlesbares Medium, welches das System zur Durchführung des Verfahrens anweist
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
DE102004051589A1 (de) Planung nach dem Pull-Prinzip (verbrauchsgesteuert) für unbrauchbare Teile in Verbindung mit Reparaturplanung "on demand" (auf Nachfrage)
DE102008063684A1 (de) Basisaktivität, Verfahren zur Bestimmung von Basisaktivitäten sowie ein Verfahren und System zur automatisierten Generierung von Workflows
DE10338035A1 (de) Bedarfsgesteuerte Planung für nichtbetriebsfähige Teile zur Erleichterung von Reparaturplanung in einem Reparaturnetz
EP1593007A2 (de) Verfahren zur ermittlung der verarbeitungsreihenfolge von funktionsbausteinen eines automatisierungssystems und automatisierungssystem
WO2004040483A2 (de) Vorhersage des termintreuegrads in der serienfertigung
DE19649643A1 (de) Auswahl von Instandhaltungsstrategien
EP3992733A1 (de) Maschinenbelegungsplanung für eine komplexe fertigungsanlage
WO2009127697A1 (de) Verfahren zum automatischen erzeugen eines zeitschemas für über einen zeitgesteuerten gemeinsamen datenbus kommunizierende verteilte anwendungen oder prozesse eines digitalen netzwerks
DE10338036A1 (de) Reparatur - Planung auf Nachfrage
WO2006074757A1 (de) Verfahren zur disposition und dispositionsmodul
WO2004015599A1 (de) Verfahren zur rechnergestützten steuerung von fertigungsprozessen
EP2136322A1 (de) Kollaboratives Bearbeitungsverfahren und -system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007704365

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12224034

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE