b-tropos (tropos + decserflow + sciff) · clima viii @ portoclima viii @ porto paolo torroni -...
Post on 07-Aug-2020
3 Views
Preview:
TRANSCRIPT
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
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
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
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
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
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
+
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
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
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 99
ExamplesExamples
From modeling to reasoning
From modeling to reasoning
B-Tropos meets SCIFFB-Tropos meets SCIFF
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,
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
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
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 )
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
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
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
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
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 → ⊥
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
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
CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 2222
top related