Knowledge Management using Business Process Modelling and Workflow Techniques MSc in Artificial Intelligence Student: Hsiang-Ling Kuo Supervisor: Jessica Chen-Burger Dave Robertson 17 November 2018 sharlene.kuo@ed.ac.uk
Outline Problem & Solution Aim Work Conclusion Future Work 17 November 2018 sharlene.kuo@ed.ac.uk
Problem Business are becoming larger and more diverse, the operation is more complex than before Information technology is widely applied in business operations, it still lacks a precise way of communicating between business model and software system development. The “gap” between Enterprise Models (EM) and Software Systems 17 November 2018 sharlene.kuo@ed.ac.uk
Bridging The Gap between EM and Software Systems Enterprise Models (EM) Software System Development Business Model Relational DBMS Workflow System Business Process Model Automating BPM OO DBMS Organisational Model Other Software Systems Mapping of Data Structure + Concepts Ontology UML Class Diagram Capability Model Quality Assurance Data Model 17 November 2018 sharlene.kuo@ed.ac.uk
Solutions Make use of one type of EM method: Business Process Modelling (BPM) Method to bridge the gap Build a workflow system (WFS) based on a business process model 17 November 2018 sharlene.kuo@ed.ac.uk
Aim Design a formal representation (called FBPML WorkFlow Language “FWFL”) that has a direct mapping to FBPML Design and implement a generic workflow system that is domain independent and has a direct mapping to FBPML + FWFL and its execution logic, but is open in its implementation details to allow multiple variations according to context Design a three-level framework to analyse the business process model 17 November 2018 sharlene.kuo@ed.ac.uk
Work Review standard process modelling languages, IDEF3 and PSL, then introduce a business process modelling language “FBPML” resulting from their merger Create a formal representation and define a workflow language called “FWFL” based on “FBPML” Design and implement a workflow engine based on FWFL and demonstrate it using case studies 17 November 2018 sharlene.kuo@ed.ac.uk
Work (Cont.) Describe a three-level framework to verify and analyse the business process Discuss the complexity of business process models is discussed The comparison between FBPML + FWFL, the application of Petri-Nets to workflow management and the research work done in the University of Queensland 17 November 2018 sharlene.kuo@ed.ac.uk
Review IDEF3 PSL (Process Specification Language) A process flow and object state description capture method A domain expert can express knowledge about the operation of a particular system or organization A well-throughout graphic notation PSL (Process Specification Language) An interchange language with which allows applications to exchange discrete process data Facilitates the communication between those applications by using PSL-based translators A well-defined ontology and formal semantics 17 November 2018 sharlene.kuo@ed.ac.uk
Fundamental Business Process Modelling Language (FBPML) A visual modelling language that is a merger of IDEF3 and PSL It can support software and workflow system development The notation of FBPML Three types of nodes: Main Node, Junction and Annotation 17 November 2018 sharlene.kuo@ed.ac.uk
FBPML--Main Nodes and Junction Types Source: Chen-Burger (AKT project) 17 November 2018 sharlene.kuo@ed.ac.uk
The semantics of four types of junctions 17 November 2018 sharlene.kuo@ed.ac.uk
A Business Model example using FBPML Adapted form AKT project 17 November 2018 sharlene.kuo@ed.ac.uk
FBPML WorkFlow Language -- FWFL A workflow language which is directly mapped to FBPML 17 November 2018 sharlene.kuo@ed.ac.uk
The Definition of FWFL-- process process(ProcessId, ProcessName, Pstate, TrigCond, PreCond, Action) Example 1: process(a, receiveCustomerReq, Pstate, [exist(event_occ(EventId,custom_req_for_pc_spec,created, attribute(Attr)))], [true], [create_entity(attribute(Attr))]). Example 2: process(b, autoCreateOrderNumber, Pstate, [exist(data([customer-name/NameV,customer-tel/telV])), delay_time(4)], [add_attribute(attribute([solution([customer- orderNo/OrderNoV])]))]). 17 November 2018 sharlene.kuo@ed.ac.uk
The Definition of FWFL-- instance instance(InstanceId, InstanceName, Istate, TrigCond, PreCond, Action, BeginT/EndT) Example 3: (The instance of example 2) instance(b-i-'John',autoCreateOrderNumber,Istate, [true], [exist(data([customer-name/'John',customer-tel/'0131-5323241])), delay_time(4)], [add_attribute(attribute([solution([customer-orderNo/'001'])]))]), 1/2). 17 November 2018 sharlene.kuo@ed.ac.uk
The Definition of FWFL -- entity entity(EntityName, EntityId, EntityState, EntityAttribute) Example 4: entity_occ(ioBoard, io2, valid, attribute([ioBoard-type/io2, ioBoard-slot/4, ioBoard-length/long, ioBoard-capability/(normal-graphics-long)])) 17 November 2018 sharlene.kuo@ed.ac.uk
The Definition of FWFL -- Junction and Model junc(ModelId, JunctionType, PreProcesses, PostProcesses) Example 5: junc(m1,start,[],[a]). junc(m1,link,[a],[b]). junc(m1,or_split,[b],[c,d,e,f,g]). junc(m1,and_joint,[c,d,e,f,g],[h]). junc(m1,end,[h],[]). 17 November 2018 sharlene.kuo@ed.ac.uk
FWFL Workflow system Architecture 17 November 2018 sharlene.kuo@ed.ac.uk
FWFL Workflow System Flowchart 17 November 2018 sharlene.kuo@ed.ac.uk
Workflow Meta-Interpreter *** Top level **** execute(Step):- initial_state(flow_state(FState,T)), execute_flow([initial],[],1,Step,T,flow_state(FState,T)). *** main predicate *** % BaseCase: Compare "StepSofar" and termination "Step" which is given from the user. If Step = 'User define' then exit flow. execute_flow(MState,ProcessAgenda,StepSofar,Step,T,flow_state(FState,T)) :- Step is StepSofar - 1. % Another baseCase: at the end of each Model State and ProcessAgenda=[] then exit flow. execute_flow(MState,[],StepSofar,Step,T,flow_state(FState,T)):- check_mstate(MState). 17 November 2018 sharlene.kuo@ed.ac.uk
Workflow Meta-Interpreter % Case1: When there are new events, create instances of the business process model. execute_flow(MState,ProcessAgenda,StepSofar,Step,T,flow_state(FState,T)):- check_event(MState,NewMState), execute_flow(NewMState,ProcessAgenda,StepSofar,Step,T,flow_state(FState,T)). % Case2: When there are no new events, execute the junctions for the instances of the business process model. \+ check_event(MState,_NewMState), do_junction_process(MState,[],NewMState,ProcessAgenda, NewProAgenda,FState,T), execute_process(NewProAgenda,NewProAgenda,NewProAgenda1,FState,NFs,T), update_time(T,NewT), update_step(StepSofar,NewStep), execute_flow(NewMState,NewProAgenda1,NewStep,Step,NewT, flow_state(NFs,NewT)). 17 November 2018 sharlene.kuo@ed.ac.uk
Workflow Meta-Interpreter % Case3: When there are no new events and execution failure of the junctions for the instances of the business process model. execute_flow(MState,ProcessAgenda,StepSofar,Step,T,flow_state(FState,T)):- \+ check_event(MState,NewMState), \+ do_junction_process(MState,[],NewMState,ProcessAgenda, NewProAgenda,FState,T), execute_process(ProcessAgenda,ProcessAgenda,NewProAgenda,FState,NFs,T), update_time(T,NewT), update_step(StepSofar,NewStep), execute_flow(MState,NewProAgenda,NewStep,Step,NewT,flow_state(NFs,NewT)). 17 November 2018 sharlene.kuo@ed.ac.uk
State Transaction Diagram 17 November 2018 sharlene.kuo@ed.ac.uk
Three-level Framework 17 November 2018 sharlene.kuo@ed.ac.uk
Model Behavior Level Considers the overall model behavior to find the appropriate topology for the BPM Carries out the syntactic critiques 17 November 2018 sharlene.kuo@ed.ac.uk
Syntactic Critiques 17 November 2018 sharlene.kuo@ed.ac.uk
Detailed Model Testing Level Captures the topology features from level 1, eliminates impossible execution sequences Carries out the semantic critiques 17 November 2018 sharlene.kuo@ed.ac.uk
Semantic Critiques 17 November 2018 sharlene.kuo@ed.ac.uk
Instantiation of Business Scenario Level Executes the business process model using business scenarios (entity data) in a particular domain and attempts to validate the model 17 November 2018 sharlene.kuo@ed.ac.uk
Complexity of a Single Model 17 November 2018 sharlene.kuo@ed.ac.uk
Results of Complexity The “Or_split” and “Or_Joint” have the greatest influence on the complexity The complexity of a business process model has at least the factorial rate of growth. It is impossible to carry out all the possible execution results 17 November 2018 sharlene.kuo@ed.ac.uk
Complexity of Combined Models A model finishing with an And_Joint junction A model finishing with an Or_Joint junction 17 November 2018 sharlene.kuo@ed.ac.uk
A model finishing with an And_Joint junction The possible execution sequence 2! * 3! = 12 17 November 2018 sharlene.kuo@ed.ac.uk
A model finishing with an Or_Joint junction Assumption: all the triggered processes must be finished before the final process of each connected model The complexity is O(n+m)! When m=0, it represents the complexity of the “And-Or” model 17 November 2018 sharlene.kuo@ed.ac.uk
Conclusions Because the formal semantics and graphic notation of FBPML and the formal representation of FWFL which is directly mapping to FBPML, a business process may be easily defined and executed through a simple procedure The workflow meta-interpreter is based on FBPML + FWFL, it accepts the input specifications and execute the business process model directly 17 November 2018 sharlene.kuo@ed.ac.uk
Conclusions (Cont.) The three level-framework provides a thorough test, which is useful when analysing a business process model The complexity of a business process model has at least the factorial rate of growth. It is impossible to carry out all the possible execution results 17 November 2018 sharlene.kuo@ed.ac.uk
Future Work The FWFL workflow language should be enhanced, especially focusing on the formal specification of the communication issues The priority issue among processes and “Role” concept should be involved in the FWFL workflow engine More clear definition of validation and verification in a business process model 17 November 2018 sharlene.kuo@ed.ac.uk
Future Work (cont.) Consider the decomposition and iteration of the business process A graphic user interface may be integrated into FWFL Resources management may be considered as part of the workflow system 17 November 2018 sharlene.kuo@ed.ac.uk