b-tropos (tropos + decserflow + sciff) · clima viii @ portoclima viii @ porto paolo torroni -...
TRANSCRIPT
![Page 1: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/1.jpg)
B-Tropos :Agent-oriented requirements engineering
meets computational logic for declarative business process modelling
and verification
B-Tropos :Agent-oriented requirements engineering
meets computational logic for declarative business process modelling
and verification
Paolo Torroni, U. BolognaJoint work with
Volha Bryl, Nicola Zannone, U. TrentoMarco Montali, Paola Mello, U. Bologna
Paolo Torroni, U. BolognaJoint work with
Volha Bryl, Nicola Zannone, U. TrentoMarco Montali, Paola Mello, U. Bologna
![Page 2: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/2.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 22
PositioningPositioning
(Agent-Oriented)Early Requirements
EngineeringTropos
(ER, AOSE)
DeclarativeService FlowSpecification
LanguagesDecSerFlow,
ConDec(BPM)Abductive
Logic ProgrammingSCIFF
(ALP, CLP)
WHY
WHAT
WHAT ⇔ HOW
![Page 3: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/3.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 33
OverviewOverview
TroposB-TroposMapping B-Tropos onto SCIFFConclusion
TroposB-TroposMapping B-Tropos onto SCIFFConclusion
![Page 4: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/4.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 44
The Tropos methodologyThe Tropos methodology
R&D
SalesManufacture
Products
MakeProducts
GOALS
ACTORS
![Page 5: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/5.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 55
Actor diagramActor diagram
Stakeholders and system actorsNetwork of dependenciesStakeholders and system actorsNetwork of dependencies
ACTORSTASKS
buy resourcesfrom external
supplier
Purchases
PresentProducts
Sales
dependencydependency dependeedependee
dependumdependum
dependerdepender
![Page 6: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/6.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 66
Goal diagramGoal diagram
Perspective of a specific actorAnalysis of actor’s goals
Means-end analysisAND/OR decompositionContribution analysis
Perspective of a specific actorAnalysis of actor’s goals
Means-end analysisAND/OR decompositionContribution analysis
GOALS
assesscosts
evaluatecosts
calculate billof quantities
evaluate billof quantities
AND
good financialplannig
+
![Page 7: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/7.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 77
Extended notationExtended notation
Start & CompletionMin/max duration time intervalInput/Output data(Time) Constraints
Start & CompletionMin/max duration time intervalInput/Output data(Time) Constraints
D
TASKI={…}O={…}
ac1 ac2
![Page 8: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/8.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 88
Process-oriented constraints(Tropos meets DecSerFlow)
Process-oriented constraints(Tropos meets DecSerFlow)
relation weak relation negationresponded presence
co-existence
response
precedence
succession
![Page 9: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/9.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 99
ExamplesExamples
![Page 10: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/10.jpg)
From modeling to reasoning
From modeling to reasoning
B-Tropos meets SCIFFB-Tropos meets SCIFF
![Page 11: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/11.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1111
Abductive Logic ProgrammingAbductive Logic Programming
Starting from a goal G, typically not entailed by a given knowledge base:Find a set ∆ ⊆ A such that
G is entailed by the KBThe IC are not violated
Bonus: ∆ is “minimal”
Starting from a goal G, typically not entailed by a given knowledge base:Find a set ∆ ⊆ A such that
G is entailed by the KBThe IC are not violated
Bonus: ∆ is “minimal”
KB ∪ ∆ GKB ∪ ∆ IC
KB G,
![Page 12: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/12.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212
SCIFF: ALP language & p-pSCIFF: ALP language & p-pEvents/expectations are first-class citizensNice integration with CLP (constructive abduction/negation)Good theory developed (with strong results)Thoroughly tested implementation
Uses constraints technologyRelatively efficient (tested with thousands of events, gives results within seconds/minutes)Nice graphical interface and many add-ons
Can reason on run-time upcoming eventsuse same language also for analysis/monitoring/checking/…
And more
Events/expectations are first-class citizensNice integration with CLP (constructive abduction/negation)Good theory developed (with strong results)Thoroughly tested implementation
Uses constraints technologyRelatively efficient (tested with thousands of events, gives results within seconds/minutes)Nice graphical interface and many add-ons
Can reason on run-time upcoming eventsuse same language also for analysis/monitoring/checking/…
And more
![Page 13: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/13.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1313
SCIFF SyntaxSCIFF Syntax
SCIFF program: ⟨ KB, A, IC ⟩
KB: set of definitions Head ← BodyA: abducible atoms (including E,EN, and H)IC: set of integrity constraints Body → Head
Expressions that must be true at all timesHead ::= Disjunct ∨ Disjunct ∨ … ∨ Disjunct
Goal: conjunction of atoms and constraints
SCIFF program: ⟨ KB, A, IC ⟩
KB: set of definitions Head ← BodyA: abducible atoms (including E,EN, and H)IC: set of integrity constraints Body → Head
Expressions that must be true at all timesHead ::= Disjunct ∨ Disjunct ∨ … ∨ Disjunct
Goal: conjunction of atoms and constraints
![Page 14: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/14.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1414
SCIFF: Events & ExpectationsSCIFF: Events & Expectations
H( Ev, T )
E( Ev, T )
EN( Ev, T )
![Page 15: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/15.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1515
SCIFF: Declarative SemanticsSCIFF: Declarative Semantics
Extends semantics of ALP
By defining (minimal) abductive answers⟨ Ε, ∆ ⟩
representing possible ways to achieve G
Extends semantics of ALP
By defining (minimal) abductive answers⟨ Ε, ∆ ⟩
representing possible ways to achieve G
KB ∪ ∆ GKB ∪ ∆ IC
KB ∪ Ε ∪ ∆ GKB ∪ Ε ∪ ∆ IC
![Page 16: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/16.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1616
From B-Tropos to SCIFFFrom B-Tropos to SCIFF
AND/OR decompositions (trivial)Positive contributions: target achieved if contribution’s source is achievedNegative contributions: denialsGoal/task dependencies: expectation on depender’s behaviourUnderspecified models: use abduction
AND/OR decompositions (trivial)Positive contributions: target achieved if contribution’s source is achievedNegative contributions: denialsGoal/task dependencies: expectation on depender’s behaviourUnderspecified models: use abduction
![Page 17: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/17.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1717
Goals & TasksGoals & Tasks
achieve(ACTOR,GOAL,Ti,Tf) ←Tf ∈ D+Ti ∧ ac1∧ ac2 ∧ …execute(ACTOR,TASK,Ti,Tf) ←Tf ∈ D+Ti ∧ ac1∧ ac2 ∧ …
achieve(ACTOR,GOAL,Ti,Tf) ←Tf ∈ D+Ti ∧ ac1∧ ac2 ∧ …execute(ACTOR,TASK,Ti,Tf) ←Tf ∈ D+Ti ∧ ac1∧ ac2 ∧ …
D
TASKac1 ac2
GOAL
D
ac1 ac2
![Page 18: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/18.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1818
Task & goal dependencyTask & goal dependency
execute(wareh,buy_res_e_s,Ti,Tf) ←E(delegate(wareh,purchases,buy_res_e_s,Tf), Ti).H(del(customer_care,sales,present_prod,Tf), Ti) →achieve(sales,pres_prod,Ti,Tf) ∧ Ti > Td
execute(wareh,buy_res_e_s,Ti,Tf) ←E(delegate(wareh,purchases,buy_res_e_s,Tf), Ti).H(del(customer_care,sales,present_prod,Tf), Ti) →achieve(sales,pres_prod,Ti,Tf) ∧ Ti > Td
buy resourcesfrom external
supplier
Purchases
PresentProducts
Sales
![Page 19: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/19.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1919
Response connectionsResponse connections
Responsehap(event(Ev,A,X),T1) ∧ c
→ exp(event(Ev,A,X),T2) ∧ r ∧ T2 ∈ Tb+T1
Weak responsehap(event(Ev,A,X),T1) ∧ c ∧ hap(event(Ev,A,X),T2)
→ r ∧ T2 ∈ Tb+T1
Negation responsehap(event(Ev,A,X),T1) ∧ c∧ hap(event(Ev,A,X),T2) ∧ r ∧ T2 ∈ Tb
+T1 → ⊥
Responsehap(event(Ev,A,X),T1) ∧ c
→ exp(event(Ev,A,X),T2) ∧ r ∧ T2 ∈ Tb+T1
Weak responsehap(event(Ev,A,X),T1) ∧ c ∧ hap(event(Ev,A,X),T2)
→ r ∧ T2 ∈ Tb+T1
Negation responsehap(event(Ev,A,X),T1) ∧ c∧ hap(event(Ev,A,X),T2) ∧ r ∧ T2 ∈ Tb
+T1 → ⊥
![Page 20: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/20.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 2020
Results so far (ongoing)Results so far (ongoing)
Process-oriented constraints in TroposMapping of (very) high-level concepts into LP frameworkModeling of sample scenarios (taken from national FIRB project)Verification of model properties and properties of mapping (termination)Possible animation using SCIFF agentsRun-time verification of compliance (e.g. delegation) using the same language
Process-oriented constraints in TroposMapping of (very) high-level concepts into LP frameworkModeling of sample scenarios (taken from national FIRB project)Verification of model properties and properties of mapping (termination)Possible animation using SCIFF agentsRun-time verification of compliance (e.g. delegation) using the same language
![Page 21: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/21.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 2121
ConclusionConclusion
Research being done in the intersection of three areas (still ongoing)Touches three important aspects (why, what, how)Role of LP is to perform reasoning (verification)Graphical notation extended (B-Tropos)Focus on temporal reasoningImplementation! Being integrated in Tropos
Research being done in the intersection of three areas (still ongoing)Touches three important aspects (why, what, how)Role of LP is to perform reasoning (verification)Graphical notation extended (B-Tropos)Focus on temporal reasoningImplementation! Being integrated in Tropos
![Page 22: B-Tropos (Tropos + DecSerFlow + SCIFF) · CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 1212 SCIFF: ALP language & p-p Events/expectations](https://reader034.vdocuments.us/reader034/viewer/2022043009/5f9c7e518852ab683a7fca2d/html5/thumbnails/22.jpg)
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 2222