business process management using process algebra and ...kellyrb/files/nptool_07_08.pdf ·...
Post on 19-Jul-2020
0 Views
Preview:
TRANSCRIPT
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Business Process Management UsingProcess Algebra and Relational Database Model
Kelly Rosa Braghetto (kellyrb@ime.usp.br)1
João Eduardo Ferreira (jef@ime.usp.br)1
Calton Pu (calton@cc.gatech.edu)2
1 Department of Computer ScienceInstitute of Mathematics and Statistics (IME)
University of São Paulo (USP)
2 College of ComputingGeorgia Institute of Technology
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Agenda
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Agenda
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Agenda
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Agenda
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
ContextOur work
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
ContextOur work
Business Process Management (BPM)
BPM involves methods, techniques and tools to support theentire business process life cycle:
project;execution and management;operational analysis.
⇒ Associating formal frameworks to the project phase isvaluable since:
they provide non-ambiguous models;they improve the diagnosis capability;they enable a reliable execution control of the processes.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
ContextOur work
Business Process Management (BPM)
Formal Specification of ProcessesWell-known examples of frameworks for formal reasoning aboutprocesses:
Petri Nets (Place/Transitions-Nets, Coloured Petri Nets,Workflow Nets, ... );Process Algebras (Algebra of Communicating Processes,π-Calculus, LOTOS, ...).
⇒ There are tools based on formal frameworks for themanagement of workflows and business processes, butintegrating these tools with other applications is not an easytask.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
ContextOur work
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
ContextOur work
Our work
NavigationPlanTool (NPTool)A tool that supports the design, instantiation and executioncontrol of business processes supported by the processalgebra formalism.
⇒ It uses Navigation Plan Definition Language and a relationaldatabase to specify the processes and to control theirinstantiations and executions.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationExample
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationExample
Navigation Plan Definition Language (NPDL)
NPDL is a business process specification language based onAlgebra of Communicating Processes operators that appliesthe concept of Navigation Plan, that belongs to RiverFisharchitecture.
⇒ NPTool implements NPDL as an extension of SQL language.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationExample
Navigation Plan Definition Language (NPDL)
Main FeaturesSpecifies processes by algebraic expressions (operatorsand atomic actions);Contains basic operators (from process algebra):
+, · and ‖Contains additional operators (only in NPDL):
%, %!, |∗, &, ∧ and ?Facilitates the representation of control-flow patterns andcompensates for some limitations of process algebras andPetri Nets.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationExample
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationExample
Navigation Plan Definition Language (NPDL)Example
A simple calculation processCREATE ACTION A1 ’ReadFirstValue’;CREATE ACTION A2 ’ReadSecondValue’;CREATE ACTION A3 ’CalculateSum’;CREATE ACTION A4 ’CalculateProduct’;CREATE ACTION A5 ’ShowResult’;CREATE PROCESS P1 ’CalculationProcessAux’;CREATE PROCESS P2 ’CalculationProcess’;SET P1 = (A1 ‖ A2).( A3 + A4 ).A5;SET P2 = P1.P2 + P1;
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationExample
Navigation Plan Definition Language (NPDL)Other Commands
CREATE RULE [RULE NAME];CREATE FUNCTION [FUNCTION NAME];DROP PROCESS [PROCESS NAME];DROP ACTION [ACTION NAME];DROP RULE [RULE NAME];DROP FUNCTION [FUNCTION NAME];SELECT ACTIONS;SELECT PROCESSES;SELECT RULES;SELECT FUNCTIONS;...
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
NavigationPlanTool (NPTool)
NPTool is a library of functions implemented in Java that offersthree important services:
1 NPDL Interpreter2 Process Instantiation Service3 Process Instance Execution Monitor
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
NavigationPlanTool (NPTool)Services
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
NPDL Interpreter
Operations:1 Creation of relational data structures (tables) to store
processes, actions and instances data;2 Lexical, syntactic and semantical analysis of NPDL
commands;3 Translation of NPDL commands to “pure” SQL commands.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
NPDL InterpreterRelational Database Model
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Process Instantiation
Following the concept of navigation plan instantiation ofRiverfish architecture, this service offers functions for thecreation of process instances.
⇒ A process instance represents a request to a specificprocess.
⇒ All the instance data, as well as process definition dataassociated with the instance, are stored in the database.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
1 IntroductionContextOur work
2 Navigation Plan Definition LanguagePresentationExample
3 NavigationPlanToolPresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
4 Conclusion
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Process Instance Execution Monitor
This service is responsible for linking a process instance to itsexecution data. It contains the functions that control theexecution of a process instance.
The service is supported by database structures to store andrecover the execution state of the instance and main-memorystructures to control the execution flow.
⇒ Expression tree of the process + execution state of aninstance = navigation tree of the instance.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation TreesTreatment of basic operators: alternative composition a + b
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation TreesTreatment of basic operators: sequence composition a · b
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation TreesTreatment of basic operators: parallel composition a ‖b
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation TreesTreatment of additional operators:- unlimited repetition a?∗- conditional execution %r1a + %!r1b
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Example of Execution Control
Acquisition of items in a library collection (simplified version)r1 checks the completeness of data from acquisition orderand the availability of the budget for purchasing;a1 sorts the order items according to some priority;a2 gathers the prices of the order items;a3 liberates the order for purchasing;a4 registers the purchase receiving;a5 registers a problem with the purchase.
SET P1 = a1 ‖ a2 + (a1 ‖ a2).P1;SET P = %r1 P1 . a3 . (a4 + a5?* . a4);
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processInitial state
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the execution of r1 - check the completeness of order data
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the substitution of P1 - the subprocess for sort and gather the prices of order items
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the execution of a2 - gather the prices of other items
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the execution of a1 - sort the order prices according to some priority
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the execution of a3 - liberates the order for purchasing
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the removal of inaccessible branches
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter mapping operator ?*
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the execution of a5 - register a problem with the purchase
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
PresentationService 1 – NPDL InterpreterService 2 – Process InstantiationService 3 – Process Instance Execution Monitor
Navigation tree of an instance of acquisition processAfter the execution of a4 - register the purchase receiving
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Conclusion
Using process algebra as formal basis supported:the creation of a simple but flexible relational databasemodel to represent processes data and a language tomanipulate these data - the NPDL;the development of a reliable engine that uses the processalgebra axioms and operational semantics to implement aexecution control of business processes.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Conclusion
The database can be viewed as a common repository ofprocesses.
This approach allows us to share processes definitionsbetween different applications that use the NPTool.The compositional characteristic of process algebra makespossible the composition of great processes from smallerones.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
IntroductionNavigation Plan Definition Language
NavigationPlanToolConclusion
Conclusion
Work in Progress
Automated generation of NPDL expressions from graphicalrepresentations.NPDL extension to represent process data flow.Process mining based on statistical approach.
Kelly Rosa Braghetto (kellyrb@ime.usp.br) BPM Using Process Algebra and Relational Database Model
top related