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

Post on 07-Aug-2020

3 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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