b-tropos (tropos + decserflow + sciff) · clima viii @ portoclima viii @ porto paolo torroni -...

22
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. Bologna Joint work with Volha Bryl, Nicola Zannone, U. Trento Marco Montali, Paola Mello, U. Bologna Paolo Torroni, U. Bologna Joint work with Volha Bryl, Nicola Zannone, U. Trento Marco Montali, Paola Mello, U. Bologna

Upload: others

Post on 07-Aug-2020

3 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

CLIMA VIII @ PortoCLIMA VIII @ Porto Paolo Torroni - B-TroposPaolo Torroni - B-Tropos 2222