Title: Knowledge Management using Business Process Modelling and Workflow Techniques
1Knowledge Management using Business Process
Modelling and Workflow Techniques
MSc in Artificial Intelligence
- Student Hsiang-Ling Kuo
- Supervisor Jessica Chen-Burger
- Dave Robertson
2Outline
- Problem Solution
- Aim
- Work
- Conclusion
- Future Work
3Problem
- 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
4Bridging The Gap between EM and Software Systems
Enterprise Models (EM)
Software System Development
Business Model
Relational DBMS
Workflow System
Business Process Model
OO DBMS
Automating BPM
Other Software Systems
Organisational Model
Mapping of Data Structure Concepts
Ontology
UML Class Diagram
Capability Model
Quality Assurance
Data Model
5Solutions
- 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
6Aim
- 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
7Work
- 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
8Work (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
9Review
- IDEF3
- 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
10Fundamental Business Process Modelling Language
(FBPML)
- 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
11FBPML--Main Nodes and Junction Types
Source Chen-Burger (AKT project)
12The semantics of four types of junctions
13A Business Model example using FBPML
Adapted form AKT project
14FBPML WorkFlow Language -- FWFL
- A workflow language which is directly mapped to
FBPML
15The 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,
- true,
- exist(data(customer-name/NameV,cu
stomer-tel/telV)), - delay_time(4),
- add_attribute(attribute(solution(
customer- - orderNo/OrderNoV)))).
16The 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).
17The 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/(no
rmal-graphics-long)))
18The 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,).
19FWFL Workflow system Architecture
20FWFL Workflow System Flowchart
21Workflow 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).
22Workflow 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. - execute_flow(MState,ProcessAgenda,StepSofar,Step,T
,flow_state(FState,T))- - \ check_event(MState,_NewMState),
- do_junction_process(MState,,NewMState,Proces
sAgenda, - NewProAgenda,FState,T),
- execute_process(NewProAgenda,NewProAgenda,NewP
roAgenda1,FState,NFs,T), - update_time(T,NewT),
- update_step(StepSofar,NewStep),
- execute_flow(NewMState,NewProAgenda1,NewStep,S
tep,NewT, - flow_state(NFs,NewT)).
23Workflow 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,Pro
cessAgenda, - NewProAgenda,FState,T),
- execute_process(ProcessAgenda,ProcessAgenda,Ne
wProAgenda,FState,NFs,T), - update_time(T,NewT),
- update_step(StepSofar,NewStep),
- execute_flow(MState,NewProAgenda,NewStep,Step,
NewT,flow_state(NFs,NewT)).
24State Transaction Diagram
25Three-level Framework
26Model Behavior Level
- Considers the overall model behavior to find the
appropriate topology for the BPM - Carries out the syntactic critiques
27Syntactic Critiques
28Detailed Model Testing Level
- Captures the topology features from level 1,
eliminates impossible execution sequences - Carries out the semantic critiques
29Semantic Critiques
30Instantiation of Business Scenario Level
- Executes the business process model using
business scenarios (entity data) in a particular
domain and attempts to validate the model
31Complexity of a Single Model
32Results 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
33Complexity of Combined Models
- A model finishing with an And_Joint junction
- A model finishing with an Or_Joint junction
34A model finishing with an And_Joint junction
The possible execution sequence 2! 3! 12
35A 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(nm)! When m0, it
represents the complexity of the And-Or model
36Conclusions
- 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
37Conclusions (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
38Future 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
39Future 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