A Vocabulary and Execution Model for Declarative Service Orchestration

5 downloads 300 Views 601KB Size Report
Sep 24, 2007 - Procedural modeling. Declarative modeling. Business concerns implicit explicit. Execution plan explicit implicit. Service life cycle single event.
GoBack

A Vocabulary and Execution Model for Declarative Service Orchestration Stijn Goedertier K.U.Leuven [email protected] be Advances in Semantics for Web services Workshop (semantics4ws’07); 2nd edition September 24th, 2007

Stijn Goedertier

semantics4ws’07 – 1 / 27

Outline A Vocabulary and Execution Model for Declarative Service Orchestration

Outline Declarative BPM Vocabulary Execution Model Business rule types Conclusion



Declarative service modeling



Vocabulary



Business rule types



Execution model

References Supplementary

Stijn Goedertier

semantics4ws’07 – 2 / 27

Outline Declarative BPM Business concerns Declarative modeling Example ABC No dichotomy Declarative State Vocabulary Execution Model

Declarative Representations of Work

Business rule types Conclusion References Supplementary

Stijn Goedertier

semantics4ws’07 – 3 / 27

Business Concerns in Service Modeling Outline Declarative BPM Business concerns Declarative modeling Example ABC No dichotomy Declarative State Vocabulary Execution Model



business regulations



business policies



costs and benefits



time



information prerequisites



technical and common-sense constraints



business concerns often remain implicit

Business rule types Conclusion References Supplementary

Stijn Goedertier

semantics4ws’07 – 4 / 27

Procedural vs. Declarative Representations of Work Outline Declarative BPM Business concerns Declarative modeling Example ABC No dichotomy Declarative State

Business concerns Execution plan Service life cycle Rule enforcement Communication Model granularity Modality Alteration Coordinator/Worker Language

Vocabulary Execution Model

Procedural modeling

Declarative modeling

implicit explicit single event what, when and how what, how process-centric what must design time human-machine procedural

explicit implicit multiple life cycle events what what service-centric what must, ought and can design and run time agent declarative

Business rule types Conclusion References Supplementary

Stijn Goedertier



procedural languages: UML Activity Diagrams, BPMN, EPCs



declarative languages: case handling, OWL-S, WSMO, constraint specification, ConDec, PENELOPE,... ◆

heterogenous knowledge representation paradigms



the data and resource perspective is neglected



still explicit human or machine mediated orchestration



heterogenous execution models semantics4ws’07 – 5 / 27

Declarative BPM: example ABC Outline Declarative BPM Business concerns Declarative modeling Example ABC No dichotomy Declarative State



state space: activity types A,B and C.



rule: “A,B and C can be performed at most once.”



rule: “C can only be performed after A is performed.”

Vocabulary Execution Model

A

B

Business rule types

C A

Conclusion

A

References

C

~

B

C

B

Supplementary

(a)

Stijn Goedertier

(b)

(c)



Very often (a), (b) or (c) is taken for granted without explicitly documenting the underlying business concerns



however, business concerns are not limited to sequence constraints semantics4ws’07 – 6 / 27

Combining procedural and declarative modeling Outline Declarative BPM Business concerns Declarative modeling Example ABC No dichotomy Declarative State Vocabulary



refinement: no dichotomy is implied



highly structured processes ⇒ procedural modeling e.g. transaction processing,...



e.g. calling center, clinical processes,...

Execution Model Business rule types Conclusion

ad-hoc processes ⇒ declarative or hybrid modeling



“pockets of flexibility” [9]

References Supplementary

D

B E A

C

~



Stijn Goedertier

F

Documenting business concerns already yields benefits

semantics4ws’07 – 7 / 27

EM-BrA2 CE Framework: a Declarative View on State Outline Declarative BPM Business concerns Declarative modeling Example ABC No dichotomy Declarative State



a process is a trajectory in a state space



12 state transitions ◆

coordination: create, schedule, assign, revoke



work: start, addFact, updateFact, removeFact, complete



exceptions: skip, abort, redo

Vocabulary Execution Model Business rule types Conclusion



References

17 business rule types constrain state transitions schedule(a1,duedate1,….) assign(a1,agent1,...) addFact(a1,[...],...) complete(a1,agent1)

Supplementary

time business facts agent activity event has type has performer ...

⇒ Stijn Goedertier

a1 e1,e2 …,(e2,scheduled)

agent1 a1 e1,e2,e3 …,(e3,assigned) (a1,agent1)

has(order1,line1) agent1 a1 e1,e2,e3,e4,e5 …,(e5,factAdded) (a1,agent1)

has(order1,line1) agent1 a1 e1,e2,e3,e4,e5,e6 …,(e6,completed) (a1,agent1)

EM-BrA2 CE = Vocabulary + Execution Model semantics4ws’07 – 8 / 27

Outline Declarative BPM Vocabulary SBVR Service capability Service instance State Space Example Execution Model Business rule types Conclusion

A Vocabulary for Declarative Process Modeling

References Supplementary

Stijn Goedertier

semantics4ws’07 – 9 / 27

Ontology language: SBVR Outline



SBVR: Semantics of Business Vocabulary and Rules



under finalization with the OMG [5]



properties: higher-order classification, local closure, natural language representation, rule modality...



semantic formulations: meaning separate from expression



combination of linguistics and logics



other candidates: MOF/UML, OWL, WSML



EM-BrA2 CE = Enterprise Modeling with Business Rules, Agents, Activities, Concepts and Events

Declarative BPM Vocabulary SBVR Service capability Service instance State Space Example Execution Model Business rule types Conclusion References Supplementary

Stijn Goedertier

semantics4ws’07 – 10 / 27

EM-BrA2 CE: Type-level Vocabulary Outline

is about 1

Declarative BPM Vocabulary SBVR Service capability Service instance State Space Example

*

Event Type

Activity Event Type

has 1

SBVR:ConceptType

Business Concept Type Role * *

has business ID type * 1..*

is of Activity Type 1 or Service * * Capability

can coordinate can perform * *

Role can subscribe to EventType in context of ActivityType

*

StateSpace

can manipulate can make visible * *

SBVR:VerbConcept

Business Fact Type or Business Verb Concept

can consist of *

Execution Model Business rule types Conclusion References

The state space of a service capability is described by facts about ■

the involved roles



the sub-service capabilities



the business fact types whose instances can be manipulated or made visible



the event types that agents of a particular role can perceive

Supplementary

Stijn Goedertier

semantics4ws’07 – 11 / 27

EM-BrA2 CE: Instance-level Vocabulary Outline

is about SBVR:IndividualConcept *

Declarative BPM Vocabulary SBVR Service capability Service instance State Space Example

*

Event

Individual Business Concept

has business ID * is of 1..* * *

Activity or Service Instance

0..1

Activity Event

Execution Model

State has 1

*

has coordinator Agent or has performer * Service performer 1 * Provicer beneficiary 1 is parent of 1 pertains to * * *

Agent has Role in *context of Activity

SBVR:Fact

Business rule types

Business asserts Fact *retracts *

Conclusion

Role Deontic * Assignment *

Obligation

Conditional Obligation

Permission

Conditional Permission

Prohibition

References Supplementary

Stijn Goedertier

The state of a service is described by facts about ■

the agents and their roles



the sub-services out of which the service consists



the business facts that hold at that particular time



the events that have occurred within the context of the service



the deontic assignments (i.e. the obligations and semantics4ws’07 – 12 / 27 permissions) that apply

Example: the State Space of an Sales Order Service Capability Outline



composite service capability: coordinate sales order



atomic service capability: place order, accept order, reject order, pay, ship



event types: created, assigned, started, completed



business concepts: order, order line



business fact types: order has order line, order is critical,...

Declarative BPM Vocabulary SBVR Service capability Service instance State Space Example Execution Model Business rule types Conclusion References rejectOrder(seller, buyer)

Supplementary BUYER

[violation(obligation(seller, ship(seller, buyer), 4))]

placeOrder acceptOrder(seller, buyer)

pay ship(seller, buyer)

[violation(obligation(seller, xorr(acceptOrder(seller, buyer), rejectOrder(seller, buyer)), 2))]

SELLER

acceptOrder

ship

pay(buyer, seller)

[violation(obligation(buyer, pay(buyer, seller), 5))]

placeOrder(buyer, seller)

rejectOrder

Stijn Goedertier

semantics4ws’07 – 13 / 27

Outline Declarative BPM Vocabulary Execution Model Unified Execution 12 State Transitions Create Transition Business rule types Conclusion References

An Execution Model for Declarative Process Models

Supplementary

Stijn Goedertier

semantics4ws’07 – 14 / 27

EM-BrA2 CE: Execution Model Outline



models the service life cycle



... in terms of 12 generic state transitions



monotonicity: each state transition results in a new fact base

Declarative BPM Vocabulary Execution Model Unified Execution 12 State Transitions Create Transition Business rule types Conclusion References Supplementary

schedule(a1,duedate1,….) assign(a1,agent1,...) addFact(a1,[...],...) complete(a1,agent1)

time business facts agent activity event has type has performer ...

Stijn Goedertier

a1 e1,e2 …,(e2,scheduled)

agent1 a1 e1,e2,e3 …,(e3,assigned) (a1,agent1)

has(order1,line1) agent1 a1 e1,e2,e3,e4,e5 …,(e5,factAdded) (a1,agent1)

has(order1,line1) agent1 a1 e1,e2,e3,e4,e5,e6 …,(e6,completed) (a1,agent1)

semantics4ws’07 – 15 / 27

EM-BrA2 CE: Twelve state transitions Outline



Modeled with Colored Petri Nets (CP-Nets)



CP-Net useful for simulation (event logs)



precise execution model

Declarative BPM Vocabulary Execution Model Unified Execution 12 State Transitions Create Transition

Revoke

Business rule types Conclusion

UpdateFact

notassigned

Assign

assigned

notscheduled

Schedule

scheduled

AddFact

RemoveFact

References Create

Start

started

Supplementary notstarted

Schedule

Skip

Abort

active

Complete

Redo

Skip

completed skipped aborted

Stijn Goedertier

semantics4ws’07 – 16 / 27

EM-BrA2 CE: The Create transition Outline



concerns: business identifier, parent activity, coordinator, event logging,...



requestCreate: a hook for deductively reasoning with business rules

Declarative BPM Vocabulary Execution Model Unified Execution 12 State Transitions Create Transition Business rule types

initAgents()

Conclusion References

agent

initFacts()

rootActivity() activity

businessfacts

AGENT

ACTIVITY

eventhistory FACTLIST

1`parent ++ create(a,e)

Supplementary

coordinator aid+1 activityID

eh

Create aid

initActivityId() cid

ACTIVITYid newcid initConceptId() conceptID ConceptId CONCEPTid

at

EVENTLIST logs(e::es,eh)

cs

parent

[]

[businessIDs(at,cs,cid)=SOME(bidcs,newcs,newcid), isParent(parent,at,bidcs,cs), started(parent), canCoordinate(coordinator,a,parent), requestCreate(aid,at,bidcs,newcs,parent,coordinator, cs,eh)=SOME(a,e::es)] initActivityType()

activitytype ACTIVITYTYPE

Stijn Goedertier

semantics4ws’07 – 17 / 27

Outline Declarative BPM Vocabulary Execution Model Business rule types Business rule types Control flow Data aspect Organization aspect Conclusion

Relating Business Rule Types to the Execution Model

References Supplementary

Stijn Goedertier

semantics4ws’07 – 18 / 27

data organization

Stijn Goedertier

x

x x

redo

abort

skip

complete

updateFact

removeFact

addFact

start

revoke

related work [6],[4] [8] [8],[11] [12] [7] [9] [9],[7] [9],[7] [9],[7] [6] [12] [12] [10]

assign

business rule type Temporal deontic rule Activity precondition Activity postcondition Dynamic integrity Activity cardinality Serial activity constraint Activity order Activity exclusion Activity inclusion Reaction rule Static integrity Derivation rule Activity authorization Activity allocation rule Visibility constraint Event subscription

schedule

aspect control flow

create

Business rule types

x x x

x x x x x

x x x x

x

x

x x

x x x x x

x x

x

x x x

x

x x

x x

[10] [10]

semantics4ws’07 – 19 / 27

Control flow aspects Outline



temporal deontic rule



e.g. “Necessity: when a buyer completes a place order activity, the seller has the obligation to perform a accept order activity or a reject order activity within 2 time units”.



transition types: schedule, start, redo



activity precondition, postcondition, activity cardinality constraint, serial activity constraint, activity order constraint, activity inclusion and exclusion constraint

Declarative BPM Vocabulary Execution Model Business rule types Business rule types Control flow Data aspect Organization aspect Conclusion References Supplementary

Stijn Goedertier

semantics4ws’07 – 20 / 27

Data aspects Outline



static integrity constraint



e.g. “It is necessary that each order has at least one order line.”.



derivation rule



e.g. “necessity: a luxury product has a value-added-tax of 20 percent.”



transition types: addFact, removeFact, updateFact

Declarative BPM Vocabulary Execution Model Business rule types Business rule types Control flow Data aspect Organization aspect Conclusion References Supplementary

Stijn Goedertier

semantics4ws’07 – 21 / 27

Organizational aspects Outline



activity authorization rule



e.g. “‘sales representative can perform accept order’”.



e.g. “It is necessary that an agent that has function junior sales representative can not perform activities that have type accept order or reject order for an order that has a total amount larger than 2000 euro.”.



activity allocation rule, event subscription constraint, visibility constraint



transition types: assign

Declarative BPM Vocabulary Execution Model Business rule types Business rule types Control flow Data aspect Organization aspect Conclusion References Supplementary

Stijn Goedertier

semantics4ws’07 – 22 / 27

Outline Declarative BPM Vocabulary Execution Model Business rule types Conclusion Contributions Future work

Conclusion

References Supplementary

Stijn Goedertier

semantics4ws’07 – 23 / 27

Contributions ■

declarative BPM: the “bigger” picture



EM-BrA2 CE: unifying vocabulary and execution model [2]



makes abstraction of KR paradigms

Conclusion Contributions Future work



CP-Net useful for simulation and generation of artificial event logs

References



representation also useful in process mining [3]

Outline Declarative BPM Vocabulary Execution Model Business rule types

Supplementary

Stijn Goedertier

semantics4ws’07 – 24 / 27

Future work Outline



Temporal logic execution model



Model-driven design of Web Services



Tools

Declarative BPM Vocabulary Execution Model Business rule types Conclusion Contributions Future work References Supplementary

Stijn Goedertier

semantics4ws’07 – 25 / 27

References Outline Declarative BPM Vocabulary Execution Model

[1] Johann Eder and Schahram Dustdar, editors. BPM 2006 International Workshops, volume 4103 of Lecture Notes in Computer Science. Springer, 2006. [2] S. Goedertier, R. Haesen, and J. Vanthienen. EM-BrA2 CE v0.1: A Vocabulary and Execution Model for Declarative Process Models. FETEW research report, K.U.Leuven, 2007. http://www.econ.kuleuven.ac.be/public/ndbaf38/EM-BrAACE.

Business rule types Conclusion

[3] S. Goedertier, D. Martens, B. Baesens, R. Haesen, and J. Vanthienen. A new approach for discovering business process models from event logs. FETEW Research Report KBI 0716, K.U.Leuven, 2007.

References Supplementary

[4] Stijn Goedertier and Jan Vanthienen. Designing compliant business processes with obligations and permissions. In Eder and Dustdar [1], pages 5–14. [5] Object Management Group. Semantics of Business Vocabulary and Business Rules (SBVR) – Interim Specification. OMG Document – dtc/06-03-02, 2006. [6] Adrian Paschke, Martin Bichler, and Jens Dietrich. Contractlog: An approach to rule based monitoring and execution of service level agreements. In Asaf Adi, Suzette Stoutenburg, and Said Tabet, editors, RuleML, volume 3791 of Lecture Notes in Computer Science, pages 209–217. Springer, 2005. [7] Maja Pesic and Wil M. P. van der Aalst. A declarative approach for flexible business processes management. In Eder and Dustdar [1], pages 169–180. [8] Dumitru Roman, Uwe Keller, Holger Lausen, Jos de Bruijn, Ruben Lara, Michael Stollberg, Axel Polleres, Cristina Feier, Christoph Bussler, and Dieter Fensel. Web service modeling ontology. Applied Ontology, 1(1):77–106, 2005. [9] Shazia Wasim Sadiq, Maria E. Orlowska, and Wasim Sadiq. Specification and validation of process constraints for flexible workflows. Inf. Syst., 30(5):349–378, 2005.

Stijn Goedertier

[10] Mark Strembeck and Gustaf Neumann. An integrated approach to engineer and enforce context constraints in rbac environments. ACM Trans. Inf. Syst. Secur., 7(3):392–427, 2004. semantics4ws’07 – 26 / 27

Outline Declarative BPM Vocabulary Execution Model Business rule types Conclusion References Supplementary Defining State Update – Complete Create – Assign Update – Complete

Stijn Goedertier

Thank you! Any Questions?

semantics4ws’07 – 27 / 27

Outline Declarative BPM Vocabulary Execution Model Business rule types Conclusion References Supplementary

Stijn Goedertier

Supplementary slides

semantics4ws’07 – 28 / 27

EM-BrA2 CE: State and State Space Outline



activity type has state space



activity has state

Declarative BPM Vocabulary Execution Model Business rule types

SBVR:Concept includes

Conclusion References

SBVR:VerbConcept

Supplementary

Activity Type or Service Capability has as type

is in SBVR:ConceptualSchema SBVR:Fact is in includes is closed in is internally closed in is based on is semi-closed in

is of 1

has 1

StateSpace

SBVR:ConceptualModel underlies

fact type has fact in conceptual model is of type Activity or Service Instance

Stijn Goedertier

State is of

has 1

conforms to

AbstractState or Decision Point

semantics4ws’07 – 29 / 27

EM-BrA2 CE: the updateFact and Complete transitions Outline

Service Provider

Event Notification

Declarative BPM

notify( event )

Vocabulary Activity Coordination

Execution Model

create( aid, at, bid, pid, coordinatorid ) schedule( aid, duedate, coordinatorid ) assign( aid, workerid, coordinatorid ) revoke( aid, workerid, coordinatorid ) start( aid, workerid ) addFact( aid, f, workerid ) removeFact( aid, f, workerid ) updateFact( aid, f1, f2, workerid ) complete( aid, workerid ) skip( aid, coordinatorid ) abort( aid, coordinatorid ) redo( aid, coordinatorid ) readFact( aid, factType, cids, agentid )

Business rule types Conclusion References Supplementary

Activity Coordination Service

Concept Manipulation addFact( f, agentid ) removeFact( f, agentid ) updateFact( f1, f2, agentid ) readFact( factType, cids, agentid )

7: notify

aBuyer : Service Provider

1: create, schedule, assign, start, addFact, complete

Concept Service

3: notify

aSeller : Service Provider

5: create, schedule, assign, start, addFact, complete

4: addConcept Place Order : Activity Coordination Service 2: addFact (multiple)

Purchase Order : Concept Service

Stijn Goedertier

Accept Order : Activity Coordination Service 6: addFact (multiple)

Sales Order : Concept Service

semantics4ws’07 – 30 / 27

EM-BrA2 CE: the Create and Assign transitions Outline Declarative BPM

initAgents() agent

initFacts()

rootActivity() activity

Vocabulary

businessfacts

AGENT

ACTIVITY

FACTLIST

coordinator

References

aid+1

aid

[businessIDs(at,cs,cid)=SOME(bidcs,newcs,newcid), isParent(parent,at,bidcs,cs), started(parent), canCoordinate(coordinator,a,parent), requestCreate(aid,at,bidcs,newcs,parent,coordinator, cs,eh)=SOME(a,e::es)]

initActivityId() cid

ACTIVITYid newcid initConceptId() conceptID ConceptId CONCEPTid

Supplementary

eh

Create

activityID

EVENTLIST logs(e::es,eh)

cs

parent

Business rule types Conclusion

eventhistory

1`parent ++ create(a,e)

Execution Model

[]

at

initActivityType() activitytype ACTIVITYTYPE

initAgents() agent

businessconcepts

activity AGENT

ACTIVITY

1`parent++assign(a,e,worker) 1`a++1`parent 1`worker++1`coordinator

initFacts()

rootActivity()

FACTLIST

eventhistory EVENTLIST log(e,eh)

cs

Assign

[]

eh

[not(assigned(a)), active(a), hasParent(a,parent), canCoordinate(coordinator,a,parent), requestAssign(a,worker,coordinator,cs,eh)=SOME(e)]

Stijn Goedertier

semantics4ws’07 – 31 / 27

EM-BrA2 CE: the updateFact and Complete transitions Outline Declarative BPM

initAgents() agent

activity

Vocabulary

AGENT

businessfacts ACTIVITY

UpdateFact

Conclusion References

FACTTYPE.all() facttype FACTTYPE

initAgents() agent

activity

eh

initFacts() businessfacts

ACTIVITY complete(a,e)

worker

log(e,eh)

rootActivity()

AGENT

EVENTLIST

[started(a), active(a), assignedTo(worker,a), (hasInputType(activityType(a),ct) orelse canModifyFactType(activityType(a),ct)), findFactInActivityState(cs,a,ct)=SOME(c1), generateFact(businessID(a),#1 c1,ct)=SOME(c2), requestUpdateFact(a,worker,cs,eh,c1,c2)=SOME(e)]

ct

Supplementary

eventhistory

cs

a worker

[]

FACTLIST

updateFact(a,c1,c2,e)

Execution Model Business rule types

initFacts()

rootActivity()

a

cs

Complete

[] eventhistory

FACTLIST commit(cs,a,e)

EVENTLIST log(e,eh)

eh [started(a), active(a), assignedTo(worker,a), noActiveChildren(a,eh), allMandatoryInputPresent(cs,a), requestComplete(a,worker,cs,eh)=SOME(e)]

Stijn Goedertier

semantics4ws’07 – 32 / 27

Suggest Documents