SlideShare a Scribd company logo
Introduction to the
declarative specification
of processes
Claudio Di Ciccio
WS 2018-19
From models to execution constraints
 Business process defined as set of constraints
 Rules to be respected during the execution
 No explicit specification of every possible execution path
 Instead: restrictions
 “DECLARE” is a declarative process modelling notation
What is a declarative specification of a
business process?
Imperative: closed model Declarative: open model
DECLARATIVE PROCESS MODELLINGPAGE 2
Declarative process specification
 “Open model”
 Specify constraints for permitted
behaviour
 Every execution that complies with
them is acceptable
SEITE 3
 Check stock availability must occur right after the start
 Right after Check stock availability, either Manufacture product or
Retrieve product from warehouse will occur
 Confirm order may occur once only after Manufacture product or Retrieve
product from warehouse
 Emit invoice and Ship product must occur once after Confirm order
 Receive payment will occur once after Emit invoice
 Archive order may occur once only after Emit invoice and Confirm order
 Archive order must occur right before the end
Declarative specification
of a process model
Check
stock
availability
Manufac-
ture
product
Retrieve
product
from
warehouse
Confirm
order
Ship
product
Archive
order
Emit
invoice
Receive
payment
PAGE 4
Init(a)
Every process instance starts with activity a
 bcaad  adcac  dabce  aeb  aabde
End(a)
Every process instance ends with activity a
 abcde  cedea  aacbaa  ababac  aabde
Participation(a)
Activity a occurs at least once
 bbcd  bedcca  bcaeda  dbdeb  aabde
AtMostOne(a)
Activity a occurs at most once
 baea  beed  acccd  edbcd  aabde
DECLARE templates:
Existence constraints
PAGE 5
a
Init
a
End
a
1..*
a
0..1
RespondedExistence(a, b)
If a occurs, b has to occur at some point, no matter when
 bcdd  bdca  addcd  adaab  bdaacb
Response(a, b)
If a occurs, b has to occur after a
 bdaac  adbbc  cddce  aadccba  bdaacb
AlternateResponse(a, b)
If a occurs, b has to occur after a, with no a in-between
 aabbd  aedbab  beedcd  abababa  bdaacb
ChainResponse(a, b)
b has to occur immediately after a
 cbaab  dabbab  aba  bdbababb  bdaacb
DECLARE templates:
Relation constraints I
Activation Target
PAGE 6
ba
ba
ba
ba
strictness
RespondedExistence(b, a)
If b occurs, a has to occur at some point, no matter when
 acdd  bdca  bddcd  adabb  acbeead
Precedence(a, b)
If b occurs, then a has to occur before b
 cbdac  adbbc  cddcea  aadccba  acbeead
AlternatePrecedence(a, b)
Each time b occurs, it is preceded by a, with no b in-between
 aabd  adbbab  beead  abababa  acbeead
ChainPrecedence(a, b)
If b occurs, then a has to occur immediately beforehand
 ccbab  abbab  aba  abaab  acbeead
DECLARE templates:
Relation constraints II
PAGE 7
ba
ba
ba
ba
ActivationTarget
strictness
CoExistence(a, b)
RespondedExistence(a, b) and RespondedExistence(b, a) hold
 bcdd  cddc  addcd  adaab  dbdaacb
Succession(a, b)
Response(a, b) and Precedence(b, a) hold
 bdaac  adbbc  cddce  aadccba  dbdaacb
AlternateSuccession(a, b)
AlternateResponse(a, b) and AlternatePrecedence(b, a) hold
 aabbd  addbab  beedcd  ababab  dbdaacb
ChainSuccession(a, b)
ChainResponse(a, b) and ChainPrecedence(b, a) hold
 ccbab  dabbab  dabab  babab  dbdaacb
DECLARE templates:
Mutual relation constraints
PAGE 8
ba
ba
ba
ba
ActivationTarget
Activation Target
strictness
NotCoExistence(a, b)
a and b cannot co-occur
 bdaac  adeec  cddce  cbdcb  aadccba
NotSuccession(a, b)
b cannot occur after a and a cannot occur before b
 aabad  adccda  bcdaed  dbabc  aadccba
NotChainSuccession(a, b)
b cannot occur immediately after a
 cbbab  adadbb  aba  aaadbbb  aadccba
DECLARE templates:
Negative relation constraints
PAGE 9
ba
ba
ba
ActivationTarget
Activation Target
strictness
PAGE 10
Constraints subsumption (strictness)
hierarchy
PAGE 11
DECLARE in everyday life
Take left lane Turn right
A declarative process specification
in DECLARE
 If an abstract is submitted, a new paper
had been written or will be written
 After the paper submission, a
confirmation email is sent
 After the paper submission, the paper will
be reviewed;
there can be no review without a
preceding submission
 A paper can be accepted only after it has
been reviewed
 After the rejection, no further submission
follows
 Paper cannot be both accepted and
rejected
Submit abstract Write new paper
Submit paper
Send
confirmation
email
Submit paper Review paper
Review paper Accept paper
Reject paper Submit paper
Accept paper Reject paper
= activation task
RespondedExistence(Submit abstract, Write new paper)
Response(Submit paper, Send confirmation email)
Succession(Submit paper, Review paper)
Precedence(Review paper, Accept paper)
NotSuccession(Reject paper, Submit paper)
NotCoExistence(Accept paper, Reject paper)
Template Tasks
DECLARATIVE BUSINESS PROCESSESPAGE 12
A declarative process specification
Submit abstract
Write new paper Submit paper
Send
confirmation
email
Review paper Accept paper
Reject paper
DECLARATIVE BUSINESS PROCESSESPAGE 13
 Every process instance starts with
receiving an invoice.
 Whenever an invoice is recorded
into the database, it was received
beforehand.
 When an invoice is received, the
current account will be checked at
some point afterwards. No current
account is checked, unless an
invoice was received at some point
before.
 The account will be checked at least
once in every process instance.
 Every single time an invoice is
settled, the current account was
checked before.
Specification
Exercise: from description to
specification
Description
DECLARATIVE PROCESS MODELLINGPAGE 14
Init
 cbda
 cba
 cda
 c
 cbdaabaaadaa
 caadabda …
Specification
Exercise: list possible cases
Possible cases
 bdca
 bca
 dbdca
 ebca
 bcaeeca
 ddbddcca …
DECLARATIVE PROCESS MODELLINGPAGE 15
End
Init
1..1
 Init(a)
 Participation(d)
 NotCoExistence(d,e)
 NotChainSuccession(a,d)
 End(d)
 Precedence(b,d)
 CoExistence(b,c)
 Response(a,c)
Model
PAGE 16
Compliance checking
Constraints
 Init(a)
 Participation(d)
 NotCoExistence(d,e)
 NotChainSuccession(a,d)
 End(d)
 Precedence(b,d)
 CoExistence(b,c)
 Response(a,c)
Model
PAGE 17
Compliance checking
Constraints
 Init(a)
 Participation(d)
 NotCoExistence(d,e)
 NotChainSuccession(a,d)
 End(d)
 Precedence(b,d)
 CoExistence(b,c)
 Response(a,c)
Model
PAGE 18
Modelling of a specification
(not necessarily a concurrent system!)
Constraints

More Related Content

More from Claudio Di Ciccio (12)

PDF
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
PDF
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
PDF
Look but don’t touch: On the impalpable bond between blockchain and process
Claudio Di Ciccio
 
PPTX
Measurement of Rule-based LTLf Declarative Process Specifications
Claudio Di Ciccio
 
PDF
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
PPTX
Discovering Target-Branched Declare Constraints
Claudio Di Ciccio
 
PPTX
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Claudio Di Ciccio
 
PDF
Execution of business processes on the blockchain
Claudio Di Ciccio
 
PPTX
Blockchain based traceability of inter-organisational business processes
Claudio Di Ciccio
 
PPTX
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Claudio Di Ciccio
 
PPTX
Semantical Vacuity Detection in Declarative Process Mining
Claudio Di Ciccio
 
PPTX
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Claudio Di Ciccio
 
CAKE: Sharing Slices of Confidential Data on Blockchain
Claudio Di Ciccio
 
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Look but don’t touch: On the impalpable bond between blockchain and process
Claudio Di Ciccio
 
Measurement of Rule-based LTLf Declarative Process Specifications
Claudio Di Ciccio
 
Blockchain and smart contracts: infrastructure and platforms
Claudio Di Ciccio
 
Discovering Target-Branched Declare Constraints
Claudio Di Ciccio
 
Extracting Event Logs for Process Mining from Data Stored on the Blockchain
Claudio Di Ciccio
 
Execution of business processes on the blockchain
Claudio Di Ciccio
 
Blockchain based traceability of inter-organisational business processes
Claudio Di Ciccio
 
Log-Based Understanding of Business Processes through Temporal Logic Query Ch...
Claudio Di Ciccio
 
Semantical Vacuity Detection in Declarative Process Mining
Claudio Di Ciccio
 
Detecting Flight Trajectory Anomalies and Predicting Diversions in Freight Tr...
Claudio Di Ciccio
 

Recently uploaded (20)

PPTX
nutriquiz grade 4.pptx...............................................
ferdinandsanbuenaven
 
PPTX
CBSE to Conduct Class 10 Board Exams Twice a Year Starting 2026 .pptx
Schoolsof Dehradun
 
PPTX
Maternal and Child Tracking system & RCH portal
Ms Usha Vadhel
 
PPTX
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
PPTX
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
PPTX
Presentation: Climate Citizenship Digital Education
Karl Donert
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PDF
07.15.2025 - Managing Your Members Using a Membership Portal.pdf
TechSoup
 
PPTX
SAMPLING: DEFINITION,PROCESS,TYPES,SAMPLE SIZE, SAMPLING ERROR.pptx
PRADEEP ABOTHU
 
PPTX
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
PPTX
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
PPSX
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
PPTX
How to Manage Promotions in Odoo 18 Sales
Celine George
 
PDF
Comprehensive Guide to Writing Effective Literature Reviews for Academic Publ...
AJAYI SAMUEL
 
PPTX
CLEFT LIP AND PALATE: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
PPTX
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
PDF
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
PDF
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
PPTX
CONVULSIVE DISORDERS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
nutriquiz grade 4.pptx...............................................
ferdinandsanbuenaven
 
CBSE to Conduct Class 10 Board Exams Twice a Year Starting 2026 .pptx
Schoolsof Dehradun
 
Maternal and Child Tracking system & RCH portal
Ms Usha Vadhel
 
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
Capitol Doctoral Presentation -July 2025.pptx
CapitolTechU
 
Presentation: Climate Citizenship Digital Education
Karl Donert
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
07.15.2025 - Managing Your Members Using a Membership Portal.pdf
TechSoup
 
SAMPLING: DEFINITION,PROCESS,TYPES,SAMPLE SIZE, SAMPLING ERROR.pptx
PRADEEP ABOTHU
 
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
Health Planning in india - Unit 03 - CHN 2 - GNM 3RD YEAR.ppsx
Priyanshu Anand
 
How to Manage Promotions in Odoo 18 Sales
Celine George
 
Comprehensive Guide to Writing Effective Literature Reviews for Academic Publ...
AJAYI SAMUEL
 
CLEFT LIP AND PALATE: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Optimizing Cancer Screening With MCED Technologies: From Science to Practical...
i3 Health
 
IMP NAAC REFORMS 2024 - 10 Attributes.pdf
BHARTIWADEKAR
 
BÀI TẬP BỔ TRỢ THEO LESSON TIẾNG ANH - I-LEARN SMART WORLD 7 - CẢ NĂM - CÓ ĐÁ...
Nguyen Thanh Tu Collection
 
CONVULSIVE DISORDERS: NURSING MANAGEMENT.pptx
PRADEEP ABOTHU
 
Ad

Introduction to the declarative specification of processes

  • 1. Introduction to the declarative specification of processes Claudio Di Ciccio WS 2018-19 From models to execution constraints
  • 2.  Business process defined as set of constraints  Rules to be respected during the execution  No explicit specification of every possible execution path  Instead: restrictions  “DECLARE” is a declarative process modelling notation What is a declarative specification of a business process? Imperative: closed model Declarative: open model DECLARATIVE PROCESS MODELLINGPAGE 2
  • 3. Declarative process specification  “Open model”  Specify constraints for permitted behaviour  Every execution that complies with them is acceptable SEITE 3
  • 4.  Check stock availability must occur right after the start  Right after Check stock availability, either Manufacture product or Retrieve product from warehouse will occur  Confirm order may occur once only after Manufacture product or Retrieve product from warehouse  Emit invoice and Ship product must occur once after Confirm order  Receive payment will occur once after Emit invoice  Archive order may occur once only after Emit invoice and Confirm order  Archive order must occur right before the end Declarative specification of a process model Check stock availability Manufac- ture product Retrieve product from warehouse Confirm order Ship product Archive order Emit invoice Receive payment PAGE 4
  • 5. Init(a) Every process instance starts with activity a  bcaad  adcac  dabce  aeb  aabde End(a) Every process instance ends with activity a  abcde  cedea  aacbaa  ababac  aabde Participation(a) Activity a occurs at least once  bbcd  bedcca  bcaeda  dbdeb  aabde AtMostOne(a) Activity a occurs at most once  baea  beed  acccd  edbcd  aabde DECLARE templates: Existence constraints PAGE 5 a Init a End a 1..* a 0..1
  • 6. RespondedExistence(a, b) If a occurs, b has to occur at some point, no matter when  bcdd  bdca  addcd  adaab  bdaacb Response(a, b) If a occurs, b has to occur after a  bdaac  adbbc  cddce  aadccba  bdaacb AlternateResponse(a, b) If a occurs, b has to occur after a, with no a in-between  aabbd  aedbab  beedcd  abababa  bdaacb ChainResponse(a, b) b has to occur immediately after a  cbaab  dabbab  aba  bdbababb  bdaacb DECLARE templates: Relation constraints I Activation Target PAGE 6 ba ba ba ba strictness
  • 7. RespondedExistence(b, a) If b occurs, a has to occur at some point, no matter when  acdd  bdca  bddcd  adabb  acbeead Precedence(a, b) If b occurs, then a has to occur before b  cbdac  adbbc  cddcea  aadccba  acbeead AlternatePrecedence(a, b) Each time b occurs, it is preceded by a, with no b in-between  aabd  adbbab  beead  abababa  acbeead ChainPrecedence(a, b) If b occurs, then a has to occur immediately beforehand  ccbab  abbab  aba  abaab  acbeead DECLARE templates: Relation constraints II PAGE 7 ba ba ba ba ActivationTarget strictness
  • 8. CoExistence(a, b) RespondedExistence(a, b) and RespondedExistence(b, a) hold  bcdd  cddc  addcd  adaab  dbdaacb Succession(a, b) Response(a, b) and Precedence(b, a) hold  bdaac  adbbc  cddce  aadccba  dbdaacb AlternateSuccession(a, b) AlternateResponse(a, b) and AlternatePrecedence(b, a) hold  aabbd  addbab  beedcd  ababab  dbdaacb ChainSuccession(a, b) ChainResponse(a, b) and ChainPrecedence(b, a) hold  ccbab  dabbab  dabab  babab  dbdaacb DECLARE templates: Mutual relation constraints PAGE 8 ba ba ba ba ActivationTarget Activation Target strictness
  • 9. NotCoExistence(a, b) a and b cannot co-occur  bdaac  adeec  cddce  cbdcb  aadccba NotSuccession(a, b) b cannot occur after a and a cannot occur before b  aabad  adccda  bcdaed  dbabc  aadccba NotChainSuccession(a, b) b cannot occur immediately after a  cbbab  adadbb  aba  aaadbbb  aadccba DECLARE templates: Negative relation constraints PAGE 9 ba ba ba ActivationTarget Activation Target strictness
  • 10. PAGE 10 Constraints subsumption (strictness) hierarchy
  • 11. PAGE 11 DECLARE in everyday life Take left lane Turn right
  • 12. A declarative process specification in DECLARE  If an abstract is submitted, a new paper had been written or will be written  After the paper submission, a confirmation email is sent  After the paper submission, the paper will be reviewed; there can be no review without a preceding submission  A paper can be accepted only after it has been reviewed  After the rejection, no further submission follows  Paper cannot be both accepted and rejected Submit abstract Write new paper Submit paper Send confirmation email Submit paper Review paper Review paper Accept paper Reject paper Submit paper Accept paper Reject paper = activation task RespondedExistence(Submit abstract, Write new paper) Response(Submit paper, Send confirmation email) Succession(Submit paper, Review paper) Precedence(Review paper, Accept paper) NotSuccession(Reject paper, Submit paper) NotCoExistence(Accept paper, Reject paper) Template Tasks DECLARATIVE BUSINESS PROCESSESPAGE 12
  • 13. A declarative process specification Submit abstract Write new paper Submit paper Send confirmation email Review paper Accept paper Reject paper DECLARATIVE BUSINESS PROCESSESPAGE 13
  • 14.  Every process instance starts with receiving an invoice.  Whenever an invoice is recorded into the database, it was received beforehand.  When an invoice is received, the current account will be checked at some point afterwards. No current account is checked, unless an invoice was received at some point before.  The account will be checked at least once in every process instance.  Every single time an invoice is settled, the current account was checked before. Specification Exercise: from description to specification Description DECLARATIVE PROCESS MODELLINGPAGE 14 Init
  • 15.  cbda  cba  cda  c  cbdaabaaadaa  caadabda … Specification Exercise: list possible cases Possible cases  bdca  bca  dbdca  ebca  bcaeeca  ddbddcca … DECLARATIVE PROCESS MODELLINGPAGE 15 End Init 1..1
  • 16.  Init(a)  Participation(d)  NotCoExistence(d,e)  NotChainSuccession(a,d)  End(d)  Precedence(b,d)  CoExistence(b,c)  Response(a,c) Model PAGE 16 Compliance checking Constraints
  • 17.  Init(a)  Participation(d)  NotCoExistence(d,e)  NotChainSuccession(a,d)  End(d)  Precedence(b,d)  CoExistence(b,c)  Response(a,c) Model PAGE 17 Compliance checking Constraints
  • 18.  Init(a)  Participation(d)  NotCoExistence(d,e)  NotChainSuccession(a,d)  End(d)  Precedence(b,d)  CoExistence(b,c)  Response(a,c) Model PAGE 18 Modelling of a specification (not necessarily a concurrent system!) Constraints