While agent-based modelling languages naturally implement concurrency, the currently available languages for argumentation do not allow to explicitly model this type of interaction. In this paper we introduce a concurrent language for handling process arguing and communicating using a shared argumentation framework (reminding shared constraint store as in concurrent constraint). We introduce also basic expansions, contraction and revision procedures as main bricks for enforcement, debate, negotiation and persuasion.
2. AI^3 2020 - A Concurrent Language for Argumentation
• General notions on Argumentation
• Four-state labelling
• Concurrent Argumentation Language (CA)
‣ syntax + operational semantics
• Expansion, contraction and revision
Overview
3. AI^3 2020 - A Concurrent Language for Argumentation
Extension-based Semantics for AFs1
1Phan Minh Dung. On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person
games. Arti
fi
cial Intelligence, 77(2):321–357.
4. AI^3 2020 - A Concurrent Language for Argumentation
Extension-based Semantics for AFs1
1Phan Minh Dung. On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person
games. Arti
fi
cial Intelligence, 77(2):321–357.
Con
fl
ict-Free
{a}, {c}, {a,d}, …
5. AI^3 2020 - A Concurrent Language for Argumentation
Extension-based Semantics for AFs1
1Phan Minh Dung. On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person
games. Arti
fi
cial Intelligence, 77(2):321–357.
Con
fl
ict-Free
{a}, {c}, {a,d}, …
Admissible
{a}, {a, d}, {a, b, d}, …
6. AI^3 2020 - A Concurrent Language for Argumentation
Extension-based Semantics for AFs1
1Phan Minh Dung. On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person
games. Arti
fi
cial Intelligence, 77(2):321–357.
Con
fl
ict-Free
{a}, {c}, {a,d}, …
Admissible
{a}, {a, d}, {a, b, d}, …
Complete
{a, b}, {a, b, d}, …
7. AI^3 2020 - A Concurrent Language for Argumentation
▸ Two approaches to check the acceptance status:
• (Credulous) Is argument a accepted in some extension?
• (Skeptical) Is argument a accepted in all extensions?
Credulous/Skeptical Acceptability
Complete: {{a, b}, {a, b, d}, {a, b, e}}
8. AI^3 2020 - A Concurrent Language for Argumentation
IN if it is attacked only by OUT arguments
OUT if it is attacked by at least an IN argument
UNDEC otherwise
Reinstatement Labelling2
2Martin Caminada. On the Issue of Reinstatement in Argumentation. JELIA 2006: 111-123.
9. AI^3 2020 - A Concurrent Language for Argumentation
• Introduces don’t know and don’t care labels
• Each argument has a label
• Identi
fi
es extensions of the various semantics
l ⊆ {in, out}
Four-State Labelling3
3Hadassa Jakobovits and Dirk Vermeir. Robust Semantics for Argumentation Frameworks. J. Log. Comput. 9(2): 215-261 (1999)
IN,OUT
IN
∅ OUT OUT
10. AI^3 2020 - A Concurrent Language for Argumentation
Labelling-Based Semantics
a is IN a is not attacked by any IN
a is OUT a is attacked by some IN
CF
11. AI^3 2020 - A Concurrent Language for Argumentation
Labelling-Based Semantics
a is IN a is only attacked by OUT
a is OUT a is attacked by some IN
ADM
12. AI^3 2020 - A Concurrent Language for Argumentation
Labelling-Based Semantics
a is IN a is only attacked by OUT
a is OUT a is attacked by some IN
⟺
⟺
COM
13. AI^3 2020 - A Concurrent Language for Argumentation
Labelling-Based Semantics
is a complete labelling
is minimal w.r.t. set inclusion
L
L
GDE
14. AI^3 2020 - A Concurrent Language for Argumentation
• These operations can be
implemented in our language
• expansion: increases the
number of labels
• contraction: decreases the
number of labels
• revision: changes a label from
in to out (and vice versa)
Connections with the AGM Framework
15. AI^3 2020 - A Concurrent Language for Argumentation
A ::= success
∣ insert(Arg, R) → A
∣ rmv(Arg, R) → A
∣ A∥A
∣ ∃x A
∣ E
Concurrent Argumentation Language (CA)
E ::= testc(a, l, σ) → A
∣ tests(a, l, σ) → A
∣ check(Arg, R) → A
∣ E + E
∣ E +P E
∣ E∥GE
Syntax
16. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
insert({b}, {(b, c)})
Operational Semantics: insertion
17. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
rmv({b}) is also removed
(b, c)
Operational Semantics: removal
18. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
check({a}, {(a, c)})
Operational Semantics: check
19. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
testc({a}, IN, complete)
Operational Semantics: c/s test
20. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
testc({a}, IN, complete)
Operational Semantics: c/s test
21. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
testc({a}, IN, complete)
Operational Semantics: c/s test
22. AI^3 2020 - A Concurrent Language for Argumentation
Concurrent Argumentation Language (CA)
Operational Semantics: constructs
23. AI^3 2020 - A Concurrent Language for Argumentation
• These operations can be
implemented in our language
• expansion: increases the
number of labels
• contraction: decreases the
number of labels
• revision: changes a label from
in to out (and vice versa)
Connections with the AGM Framework
24. AI^3 2020 - A Concurrent Language for Argumentation
Example of Expansion Operator
25. AI^3 2020 - A Concurrent Language for Argumentation
Example of Expansion Operator
26. AI^3 2020 - A Concurrent Language for Argumentation
Example of Expansion Operator
Expanding b from ∅ to out:
• if there exists an in argument a, let a attack b
27. AI^3 2020 - A Concurrent Language for Argumentation
Example of Contraction Operator
28. AI^3 2020 - A Concurrent Language for Argumentation
Example of Contraction Operator
29. AI^3 2020 - A Concurrent Language for Argumentation
Example of Contraction Operator
Contracting d from undec to in:
• remove all attacks from undec arguments towards d
30. AI^3 2020 - A Concurrent Language for Argumentation
Example of Revision Operator
31. AI^3 2020 - A Concurrent Language for Argumentation
Example of Revision Operator
32. AI^3 2020 - A Concurrent Language for Argumentation
Example of Revision Operator
Revising b from in to out:
• if there exists an in argument a, let a attack b
• and let a attack all arguments attacked by b
33. AI^3 2020 - A Concurrent Language for Argumentation
• Mapping between four-state labelling and classical semantics
• De
fi
nition of a concurrent language for argumentation
‣ syntax + operational semantics
• Expansion, contraction and revision operators for AFs
Conclusion
34. AI^3 2020 - A Concurrent Language for Argumentation
• Mapping between four-state labelling and classical semantics
• De
fi
nition of a concurrent language for argumentation
‣ syntax + operational semantics
• Expansion, contraction and revision operators for AFs
Conclusion
• Introduced the semantics of failure to ensure termination
• Provided a working implementation of the language
35. AI^3 2020 - A Concurrent Language for Argumentation
• Consider structured AFs instead of abstract
• Handle processes involving time-critical aspects
• Introduce a notion of “ownership” for arguments
‣ Local store for agents
Future Work