S-BPM – A NEW IMPETUS IN BUSINESS PROCESS MANAGEMENT · Proof Proof Proof Flow Flow SysInfo LDAP...
Transcript of S-BPM – A NEW IMPETUS IN BUSINESS PROCESS MANAGEMENT · Proof Proof Proof Flow Flow SysInfo LDAP...
S-BPM –A NEW IMPETUS INBUSINESS PROCESS MANAGEMENT
Albert Fleischmann, Interaktiv UnternehmensberatungWerner Schmidt, Technische Hochschule Ingolstadt
About I2PM
HSE 2014 2S-BPM - New Impetus in Business Process Management
WWW.I2PM.NET
Outline
• Challenges in BPM• What is S-BPM?
Constituents Overall Approach Impacts
• S-BPM Notation• S-BPM Life Cycle
Analyzing & Modeling Validating & Optimizing Embodying Running & Monitoring
• S-BPM Benefits revisited• Future Perspectives
HSE 2014 S-BPM - New Impetus in Business Process Management 3
From traditional to contemporary BPM
Challenges in BPM
HSE 2014 S-BPM - New Impetus in Business Process Management 4
Traditional BPM
Characteristics• Based on Taylor/Ford• Activity-driven• Control flow-oriented• Highly structured, well-defined processes• Languages/notations: e.g., BPMN, BPEL
Issues• Model-reality divide• Lost innovation• Information pass-on threshold• Lack of information fusion
Contemporary BPM
Characteristics• Based on PostFordism• Stakeholder-driven• Communication-oriented• Less-structured flexible processes• Languages/notations: ?
Challenges• Semantic integration• Organizational integration• BPM Life Cycle responsiveness
What can Subject-oriented BPM (S-BPM) contribute?
Introduction to S-BPMWhat is it?
HSE 2014 S-BPM - New Impetus in Business Process Management 5
• S-BPM means Subject-orientierted Business Process Management• Methodology for all BPM activities (from analysis & modeling to execution & monitoring)• Basis regarding the user (mainly modeler): Standard semantics of natural language with subject, predicate, and object Easy-to-use notation with only a few symbols
• Basis regarding information technology: Process algebra with a clear formal semantic allowing automated code generation and models being executable on the fly
• Origin: Albert Fleischmann• Tool environment Metasonic Suite (by Metasonic GmbH) InFlow (by StrICT Solutions GmbH) Open S-BPM Initiative as a platform for development of other/additional tools
Introduction to S-BPM Constituents
HSE 2014 S-BPM - New Impetus in Business Process Management 6
Change the Mindset: From Sequence to Parallelism
Reality:World is a concurrent system.Due to division of labour actors work parallel and need to interactin order to accomplish tasks
Problem:Today world is percepted as a sequence of actions.
Change:Make people see the world as it is – parallel
Introduction to S-BPMOverall Approach & Impacts
HSE 2014 S-BPM - New Impetus in Business Process Management 7
Change the Mindset: From Sequence to Parallelism
Reality:World is a concurrent system.Due to division of labour actors work parallel and need to interactin order to accomplish tasks
Problem:Today world is percepted as a sequence of actions.
Change:Make people see the world as it is – parallel
Subject Interaction Diagram (SID)
Introduction to S-BPMNotation
HSE 2014 S-BPM - New Impetus in Business Process Management 8
EmployeeTravel Agent
HSE 2014 S-BPM - New Impetus in Business Process Management 9
Manager
Subject Behavior Diagram (SBD)
Introduction to S-BPMNotation
HSE 2014 S-BPM - New Impetus in Business Process Management 10
Process Network Diagram (PND)
Introduction to S-BPMNotation
S-BPM Life CycleActivity Bundles & Roles
HSE 2014 S-BPM - New Impetus in Business Process Management 11
Governors
Actors Facilitators
Experts
S-BPM Life CycleExample for Tool Support
HSE 2014 S-BPM - New Impetus in Business Process Management 12
Flow
Build
Modeling Validation Execution
Base
User Manager Instance Manager
Embedding intoorganization
Model Manager- Models- Business Objects
ProofProof
ProofFlow
Flow
SysInfo
LDAP(AD)
Architecture of Metasonic Suite
S-BPM Life CycleAnalyzing & Modeling
HSE 2014 S-BPM - New Impetus in Business Process Management 13
• Identification and description of the subjects involved in the process
• Identification and description of interactions the subjects are part of
• Specification of the messages they send or receive and work on (parameters, business objects)
• Detailing the behavior of each subject Subject BehaviorDiagram
Subject InteractionDiagram
Modeling Steps
Starting point: Process description in natural languageAn employee fills in a business trip request form. He/She puts in start date, end date and reason for his/her trip. The responsible manager checks the application and informs the employee about his/her decision; the business trip equest might be rejected or get approved. In case of approval the trip data is send to the travel agent which processes it.
Steps
S-BPM Life CycleAnalyzing & Modeling
HSE 2014 S-BPM - New Impetus in Business Process Management 14
UI Types for Elicitation and Representation
Brown Paper T-BPM GUI-based
S-BPM Life CycleAnalyzing & Modeling
HSE 2014 S-BPM - New Impetus in Business Process Management 15
UI Types for Elicitation and Representation
Build Book (S-BPM-based)
S-BPM Life CycleAnalyzing & Modeling
HSE 2014 S-BPM - New Impetus in Business Process Management 16
Metasonic Touch (S-BPM-based)Comprehand (S-BPM-based)
UI Types for Elicitation and Representation
S-BPM Life CycleAnalyzing & Modeling
HSE 2014 S-BPM - New Impetus in Business Process Management 17
UI Types for Elicitation and Representation – Benefits of S-BPM
S-BPM Life CycleValidating & Optimizing
HSE 2014 S-BPM - New Impetus in Business Process Management 18
Check of Effectiveness and Efficiency (Interaction and Behavior)
Verhalten
Subjekt 1Standort A
InternesAktivität 1……Aktivität n
Verhalten
Subjekt 2Standort B
InternesAktivität 1……Aktivität n
Verhalten
Subjekt 3Standort C
InternesAktivität 1……Aktivität n
Nachricht 4Nachricht 4
Nachricht 2Nachricht 2Nachricht 3Nachricht 3
Nachricht 1Nachricht 1
Traditional Walkthrough S-BPM- and computer-based role play
S-BPM Life CycleValidating & Optimizing
HSE 2014 S-BPM - New Impetus in Business Process Management 19
Possible Level Concept
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 20
Organization – Staffing Subjects
Org Chart
Subject Representation Table (BT Request ‘Schulz’)
Routing of BT Request ‘Schulz’
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 21
Organization – Staffing Subjects
Organizational Context of BT RequestRouting of BT Request ‘Black’
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 22
Organization – Staffing Subjects
Routing depending on business object valuesDeputyship
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 23
Organization – Staffing Subjects
Organizational Context of BT RequestGrouping of Subject Representatives
TravelOffice
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 24
Organization – Example: Subject Assignment in Metasonic Suite
Metasonic User Manager Metasonic Build
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 25
Organization – Example: Deputyship in Metasonic Flow
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 26
IT - Implementing Workflow Application
S-BPM Life CycleEmbodying
HSE 2014 S-BPM - New Impetus in Business Process Management 27
IT - Integrating Applications
States in subject behavior can be used for• calling external applications (e.g., SAP)• including code by refinements
Summary: S-BPM Contribution tocontemporary BPM
HSE 2014 S-BPM - New Impetus in Business Process Management 28
Organizational Integration• Intensive stakeholder
participation (inclusion): All people speaking
natural language (evenmethodolgy/technologyilliterates)
Actors can easily model, test and improve theirprocesses
People in all roles candrive organizationaldevelopment
Semantic Integration• Mutual understanding and
stakeholder empowerment Simple‚ ‘social‘ notation
(only a few symbols, natural language-like)
Executable modelsingle model (business & IT) seamlessroundtrip engineering
Life Cycle Responsiveness• Linear and non-linear,
flexible order of activities• Change initiative from all
roles• Fast validation/
implementation asworkflow
• Direct feedback duringexecution can trigger short-term changes/ troubleshooting
Benefits• Improved model quality, reduced complexity and coherent overall specification• Minimal model-reality divide (‘what you model is what you get‘) stakeholder acceptance• Agile organizational development (short cycles, short time to execution, seamless roundtrip)• Stakeholder-driven organizational learning• Self organization (maximal individual freedom and assured coherence)• Bottom-up and top-down and mixed process design (centrally/decentrally initiated)• …
Future Perspectives
• Agility requires Simplicity• Modeling in a simple way with an available Tool• From the Model to Code: New Programming
Languages and frameworks• Simplicity with ASM Networks?• Summary
HSE 2014 S-BPM - New Impetus in Business Process Management 29
SID of Automatic Teller Machine (ATM)
HSE 2014 S-BPM - New Impetus in Business Process Management 30
Behavior of ATM
HSE 2014 S-BPM - New Impetus in Business Process Management 31
ATM:Insert credit cardand check its validity
Select andexecute action
HSE 2014 S-BPM - New Impetus in Business Process Management 32
Something forgotten
HSE 2014 S-BPM - New Impetus in Business Process Management 33
There are not enough billsin the ATM:
Additional internal actionhas to be inserted
Add new message
HSE 2014 S-BPM - New Impetus in Business Process Management 34
HSE 2014 S-BPM - New Impetus in Business Process Management 35
Drawing is cumbersome!!!!
HSE 2014 S-BPM - New Impetus in Business Process Management 36
SubjectInteraction
ATM Behaviour in Excel (1)
HSE 2014 S-BPM - New Impetus in Business Process Management 37
ATM Behaviour in Excel (2)
HSE 2014 S-BPM - New Impetus in Business Process Management 38
ATM Behaviour in Excel (3)
HSE 2014 S-BPM - New Impetus in Business Process Management 39
HSE 2014 S-BPM - New Impetus in Business Process Management 40
SubjectInteraction
Add message
Change ATM Behaviour: Enough Bills available
HSE 2014 S-BPM - New Impetus in Business Process Management 41
HSE 2014 S-BPM - New Impetus in Business Process Management 42
ATM Behavior in CSV Format
HSE 2014 S-BPM - New Impetus in Business Process Management 43
Attribute;;;;;;;;;;;;;;;;;;;;;;;Type;E;S;E;S;E;S;E;;S;E;E;E;S;S;S;I;S;E;S;E;S;S;IStaes;get credit card;PIN;wait for PIN;check PIN;credit card;credit card ok;Action;Balance ; ……...;(Customer)Credit card;->;;;;;(Customer)give balance;->;;;;;;;(Customer)Credit card;;;;;;;;->;;(Customer)give PIN;->;;;;(Customer)post statement;;->;;;;;;;;;;;;;;;;;(Customer) PIN;->;;;(Customer)withdrawel;;;;;;;;;;->;;;;;;;;;;(Data base Manager)Check credit card;->;;;(Database Manager)balance data;;->;;;;;;;……………….;;;;;(Data base Manager)accept credit card;->;;;;(Database Manager)balance data;;->;;;;;;;;;;;(Customer)PIN correct;->;;;;;(customer)balance;;->;;;;;(Customer)money;->;;;;;;;;;;<-;;;;;;;(Customer)nexr action;;;;;;;;;;;;;;;;;;(Database Manager)balance data;;->;;;;;;;;;;;;;;;;;;;;;;;(Database Manager)balance data;;->;;;;;;;;;;;;;;;;;;;;;;;(postal service)send balance letter;;->;;;;;;;;;;;;;;;<-;;;;;;;;;;;;;(Customer)money removed;;;;;;;;(Data base Manager)PIN not correct;;;;;;;;;;;;;;;;->;;;;;;;(Data base Manager) credit card locked;;;;;;;;;;;;;;;;;->;;;;;;;;;;;;;;;;;;;;;;;(Customer)Pin incorrect Credit card is kept;->;;;<-;;;;;;;;;;;;;;;;;;(Customer)PIN incorrect try again;;;;;;;;;;;;;;;;;;;;;;;;;
Code structure subject
Code forbehavior
Subject specific
Applications andlokal data
Subject specific
Code patterns
Input pool
SubjectA
Subject B
Subject N
Use
Subject C
Subject K
Deposit
Deposit
Remove
Deposit
Deposit
HSE 2014 S-BPM - New Impetus in Business Process Management 44
Implementation send
State name
(S1)A
Next state
case state name => {//Deposit message in the //input pool of receiving subject
S1.deposit (A)// Set Current state to the//succeeding state
CurrentState = Next state}
Map graphicto code
HSE 2014 S-BPM - New Impetus in Business Process Management 45
Implementation Reveive
case State name => { // Check whether message A from subject S1 is in the input poolif (InputPool.lookup((S1)A)) {// If it is in the input pool pick it up and set current state to succeeding
stateInputPool.pickup ((S1)A))
CurrentState = Next state 1} else if // Check whether message B from subject S2 is in the input pool
(InputPool.lookup((S2)B)) {InputPool.pickup ((S2)B))
CurrentState = Next state 2}
Map graphic tocode
State name
Next state1
(S1)A
Next state2
(S2)B
HSE 2014 S-BPM - New Impetus in Business Process Management 46
Implementation Internal Function
case State name => { // execute internal functionresult = Internal functionif (result == Result 1) {// If function result is Result 1 set current state to coresponding succeeding
stateCurrentState = Next state 1}
else if // If function result is Result 1 set current state to coresponding succeeding
state (result == Result 2) {CurrentState = Next state 2}
Map graphic tocode
Next state2
Next state1
Result 2
State name:Internal function
Result1
HSE 2014 S-BPM - New Impetus in Business Process Management 47
Simple Input Pool Implementation.
HSE 2014 S-BPM - New Impetus in Business Process Management 48
Coffee example
Programmer Coffee machine
Make coffee
Coffee finished
HSE 2014 S-BPM - New Impetus in Business Process Management 49
Behavior Programmer
Start coffee
machine
Buy creamand sugar
Coffee finished
Goto thestore
Programmer:
(Coffee machine)Make coffee Store
entered
Go home Drink coffee
Bought creamand sugar At home
(Coffee machine)Coffee finished
Check milk and sugar
Not available
available
HSE 2014 S-BPM - New Impetus in Business Process Management 50
HSE 2014 S-BPM - New Impetus in Business Process Management 51
def executeProgrammerBehavior {println (" ")println ("Execute : " +name + " State is: "+CurrentState)CurrentState match {case Check_milk_and_sugar => {println ("Current State is: "+ CurrentState)
FunctionResult = InternalFunctions.Check_milk_and_sugarFunctionprintln ("Function Result:"+ FunctionResult)CurrentState = Go_to_the_store }
case StartCoffeeMachine => {println ("Current State is: "+ CurrentState)CoffeeMachinesInputPool.deposit (SendMakeCoffeeToCoffeeMachine)CurrentState = Check_milk_and_sugar }
case Go_to_the_store => {println ("Current State is: "+ CurrentState)FunctionResult = InternalFunctions.Go_to_the_storeFunctionprintln ("Function Result:"+ FunctionResult)CurrentState = Buy_cream_and_sugar }
case Buy_cream_and_sugar => {println ("Current State is: "+ CurrentState)FunctionResult = InternalFunctions.Buy_cream_and_sugarFunctionprintln ("Function Result:"+ FunctionResult)CurrentState = Go_home }
case Go_home => {println ("Current State is: "+ CurrentState)FunctionResult = InternalFunctions.Go_homeFunctionprintln ("Function Result:"+ FunctionResult)CurrentState = Coffee_finished }
case Coffee_finished => {println ("Current State is: "+ CurrentState)println ("Jetzt kommt empfangen")if (ProgrammersInputPool.lookup(ReceiveCoffeeFinished))
{ProgrammersInputPool.pickup (ReceiveCoffeeFinished)CurrentState = Drink_coffee } else {println ("Message Coffee finished not in InpuPool")}}
case Drink_coffee => {println ("Current State is: "+ CurrentState)FunctionResult = InternalFunctions.Drink_coffeeFunctionprintln ("Function Result:"+ FunctionResult)CurrentState = EndState }
case _ => println ("Invalid state")}
}}
Code forSubjectBehavior
Interface to existingAplications
HSE 2014 S-BPM - New Impetus in Business Process Management 52
class ProgrammerInternalFunctions// This is the interface to existing applications used by subject programmer{
def Check_milk_and_sugarFunction : String = "Result of function Check_milk_and_sugar is: not available"def Go_to_the_storeFunction : String = "Result of function Go_to_the_store is: Store entered"def Buy_cream_and_sugarFunction : String = "Result of function Buy_cream_and_sugar is: Bought cream and sugar"def Go_homeFunction : String = "Result of function Go_home is: at home"def Drink_coffeeFunction : String = "Result of function Drink_coffee is: coffee is empty"
}
Code structure subject
SubjectA
Subjectc
Scheduler: Main programm
System node X
SubjectB
Invoke Invoke Invoke
Return ReturnReturn
Class for subject Awith behavior method
Class for subject Bwith behavior method
Class for subject Cwith behavior method
HSE 2014 S-BPM - New Impetus in Business Process Management 53
HSE 2014 S-BPM - New Impetus in Business Process Management 54
object Scheduler {
//Context 1val Programmers1InternalFunctions = new ProgrammerInternalFunctionsval Programmers1InputPool = new InputPool ("Input Pool Programmer")
var CoffeeMachines1InputPool = new InputPool ("Input Pool Coffee machine")val Coffeemachines1InternalFunctions = new CoffeeMachineInternalFunctions
val CoffeeMachine1 = new CoffeeMachineBehavior (Programmers1InputPool, CoffeeMachines1InputPool, Coffeemachines1InternalFunctions, "coffeeMachine1")val Programmer1 = new ProgrammerBehavior (Programmers1InputPool, CoffeeMachines1InputPool,
Programmers1InternalFunctions, "Programmer 1")
// Dispatcher for subject behavior. Can be also a while loop. // If subjects are implemented as actors a dispatcher is not neccessarydef dispatch {Programmer1.executeProgrammerBehaviorProgrammer1.executeProgrammerBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorProgrammer1.executeProgrammerBehaviorProgrammer1.executeProgrammerBehaviorProgrammer1.executeProgrammerBehaviorProgrammer1.executeProgrammerBehaviorProgrammer1.executeProgrammerBehaviorCoffeeMachine1.executeCoffeeMachineBehaviorProgrammer1.executeProgrammerBehavior
CoffeeMachine1.executeCoffeeMachineBehavior}
}
Code structure subject
SubjectA
SubjectC
SubjectB
Network
Communication software
Communication software
SchedulerSystem node X
System node Y
HSE 2014 S-BPM - New Impetus in Business Process Management 55
Actors in Akka
Wyatt Derek, Akka Concurrency, Artima Press 2012
Outside world
Actorreference
Actor(yourcode)
DispatcherThrea
d
Messages
Mailbox
Sends messages to Proxies for
Passes message to
contains
HSE 2014 S-BPM - New Impetus in Business Process Management 56
ABSTRACT STATE MACHINE NETWORKS:A MORE ABSTRACT VIEW ON SYSTEMS?
HSE 2014 S-BPM - New Impetus in Business Process Management 57
ASM Net Transition
HSE 2014 S-BPM - New Impetus in Business Process Management 58
Mode/PhaseEnd/start of a
phase Condition(Sachverhalt) Action
ATM (Part 1)
HSE 2014 S-BPM - New Impetus in Business Process Management 59
ATM (Part 2)
HSE 2014 S-BPM - New Impetus in Business Process Management 60
Open Issues
• Is it understandable for all stakeholders?
• Is it neccessary to develop a new graphicalrepresentation?
• ………
HSE 2014 S-BPM - New Impetus in Business Process Management 61
Summary
• Use tools which are commonly available formodeling
• Create code which can be executed directlywithout a central workflow engine.
• Investigation of ASM Networks
HSE 2014 S-BPM - New Impetus in Business Process Management 62
More Details on S-BPMBooks
Fleischmann, A., Schmidt, W., Stary, C., Obermeier, S., Börger, E.Subject-oriented Business Process ManagementSpringer, Berlin Heidelberg 2012,available for free under open access license at:http://link.springer.com/book/10.1007/978-3-642-32392-8/page/1
HSE 2014 63
Fleischmann, A., Schmidt, W., Stary, C., Obermeier, S., Börger, E.Subjektorientiertes Prozessmanagement –Mitarbeiter einbinden, Motivation und Prozessakzeptanz steigernHanser, München 2011
Fleischmann, A., Raß, S., Singer, R.S-BPM IllustratedSpringer, Berlin Heidelberg, in press, appears in May 2013,available for free under open access license at:http://link.springer.com/book/10.1007/978-3-642-36904-9/page/1
S-BPM - New Impetus in Business Process Management
More Details on S-BPMBooks
Fleischmann, A., Schmidt, W., Stary, C., (Eds.)S-BPM in the Wild – Value Creating Practice in the FieldSpringer, Berlin Heidelberg 2015,
HSE 2014 64S-BPM - New Impetus in Business Process Management
More Details on S-BPMS-BPM ONE Conference Series
HSE 2014 65S-BPM - New Impetus in Business Process Management
Karlsruhe2009
Karlsruhe2010
Ingolstadt2011
Vienna2012
Deggendorf2013
Eichstätt2014
Kiel
WWW.S-BPM-ONE.ORG
Call for Papers available
More Details on S-BPMOther Scientific Activities
HSE 2014 66S-BPM - New Impetus in Business Process Management
Atlanta2013
Warsaw2014
Geneva2014
Vienna2013
Calls for Papers coming soon
Workshop onAgent Systems in Business Process Management
(AS-BPM)in conjunction with
IEEE/WIC/ACM International Conference on Intelligent Agent Technology (WI-IAT)
Workshop onCross-organizational and cross-company BPM
(Xoc-BPM)in conjunction with
IEEE Conference on Business Informatics (CBI)
Lisbon2015
Singapore2015