<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daphne Odekerken</string-name>
          <email>d.odekerken@uu.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>AnneMarie Borg</string-name>
          <email>a.borg@uu.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Matti Berthold</string-name>
          <email>berthold@informatik.uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Information and Computing Sciences, Utrecht University</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>National Police Lab AI</institution>
          ,
          <addr-line>Netherlands Police</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>ScaDS.AI Dresden/Leipzig, Universität Leipzig</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <abstract>
        <p>We demonstrate the latest release of PyArg, an open-source Python package of implementation algorithms with a web interface. PyArg provides various argumentation-based functionalities, including evaluation and visualisation of abstract argumentation frameworks, ASPIC+ argumentation theories and assumptionbased argumentation frameworks; explanation algorithms; multiple generators; a learning environment; implementations of theoretical papers and a showcase of a practical application.</p>
      </abstract>
      <kwd-group>
        <kwd>argumentation</kwd>
        <kwd>implementation</kwd>
        <kwd>visualisation</kwd>
        <kwd>education</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        PyArg is an open-source software implementation in Python that provides practical algorithms
for theoretical problems in various argumentation formalisms and makes (potential) applications
of these algorithms visible in a web interface. PyArg is intended to be a software solution for
researchers within the argumentation community, students who may become part of it, as well
as stakeholders outside the community. Depending on the users’ goals, they can (A) validate and
extend the open-source implementations of argumentation algorithms on GitHub; (B) install
the Python package in one line and use it as a dependency in other Python projects; and/or (C)
explore PyArg’s functionalities in the web interface. PyArg was first presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A new
version, with multiple new functionalities, was proposed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In this paper, we give a brief
overview of PyArg’s functionalities from the front-end and from the back-end.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Related work</title>
      <p>
        For an extended overview of software related to computational argumentation, we refer to
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The implementations that are most similar to PyArg are Tweety [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the Online Argument
Structures Tool (TOAST) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Gorgias Cloud [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and NEXAS [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Finally, many algorithms for a
limited set of argumentation-related problems have been submitted to the ICCMA competition1.
https://webspace.science.uu.nl/~3827887/ (D. Odekerken); https://annemarieborg.nl/ (A. Borg);
CEUR
Workshop
Proceedings
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Back-end functionalities</title>
      <p>In this section, we describe the functionalities that can be used from the back-end, by
cloning the Python code from GitHub2 or installing it from PyPI3 using pip install
pythonargumentation. Specific usage examples can be found on the documentation website. 4</p>
      <p>
        The Python package PyArg currently supports abstract argumentation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], ASPIC+ [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
assumption-based argumentation (ABA) [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]: it provides algorithms for evaluating
argumentation settings in diferent semantics [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. In addition, it has functionality for explaining
the (non-)acceptance of arguments and formulas in abstract argumentation frameworks (AFs)
and ASPIC+ argumentation theories [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ]. Furthermore, PyArg provides algorithms for
dynamic argumentation problems. In particular, the package contains an implementation of the
approximation algorithm for the stability problem from [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], as well as an inexact but eficient
algorithm for estimating relevance [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] based on the labels from the aforementioned stability
algorithm. Finally, PyArg provides algorithms for realisability in abstract argumentation [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]
and ABA [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], that is: given a semantics and a set of extensions, is there an (assumption-based)
AF that, for the given semantics, has exactly these extensions?
      </p>
      <p>In addition, PyArg provides several generators. For generating ASPIC+ argumentation systems,
PyArg uses the “layered” generator from [15, Section 4.2.5]. For abstract AFs, PyArg provides
a basic random generator. Furthermore, PyArg provides various importers and exporters to
convert argumentation settings to various formats.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Web interface</title>
      <p>In order to demonstrate how PyArg’s algorithms can be applied in various settings, we provide
a web interface.5 In this section, we describe each of its five pages.</p>
      <p>On the generator pages, users can generate an ASPIC+ argumentation system or abstract
AF, parameterised by specific settings.</p>
      <p>
        For visualisation, the user can choose between abstract argumentation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], ASPIC+ [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
and ABA [
        <xref ref-type="bibr" rid="ref10 ref11">10, 11</xref>
        ]. As a first step, the user either chooses a predefined argumentation setting
or gives a specification of a new one. For the abstract AFs, users can provide arguments and
the attacks between them; in the ASPIC+ setting users can provide axioms, ordinary premises
with their preferences, strict rules, defeasible rules with their preferences and a choice in how
to derive an ordering from these preferences; and in the ABA setting, users provide atoms,
rules, assumptions and contraries. Given this input, the corresponding AF is visualised as a
graph. Next, this input is evaluated based on a large variety of extension-based semantics [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
The extensions of a given semantics are presented as buttons; by clicking on a button, the
corresponding extension is visualised by coloring the graph – see Figure 1. PyArg features
both a regular mode (in which arguments in the extension are coloured green, while other
arguments are yellow or red) and a colourblind-friendly mode that uses an adapted colour
2https://github.com/DaphneOdekerken/PyArg
3https://pypi.org/project/python-argumentation/
4https://daphneodekerken.github.io/PyArg/
5https://pyarg.npai.science.uu.nl/
palette. For abstract argumentation and ASPIC+, the user can additionally request explanations
for (non-)accepted arguments and formulas [
        <xref ref-type="bibr" rid="ref13 ref14">13, 14</xref>
        ].
      </p>
      <p>The learning environment is intended for anyone interested in learning computational
argumentation. In this functionality in the web interface, a learner can choose between various
exercises. As the learner starts an exercise, PyArg generates a random abstract AF using its
generators (see Figure 2). The learner then gives the extensions, and PyArg uses its semantics
algorithms for validating the learner’s solutions.</p>
      <p>
        The algorithms pages showcase research on realisability, see Figure 3. The user can input
sets of extensions in the text field. PyArg then computes and displays properties of these
extensions [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. Depending on these properties and the semantics, it may be possible to
generate a canonical AF with exactly these semantics. If that is the case, the corresponding
semantics button becomes active and the user can generate the canonical AF.
      </p>
      <p>The chat interface (Figure 4) is an application for the algorithms for stability and relevance in
inquiry dialogue. First, the user chooses an ASPIC+ argumentation system, a set of queryables
(e.g. formulas that can be asked in a dialogue), a topic formula for the chat and an initial
knowledge base. PyArg then uses the stability algorithm to find out if it makes sense to ask for
more information - if so, it uses the relevance algorithm for identifying relevant questions.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Conclusion and future work</title>
      <p>PyArg combines algorithms for argumentation problems with a web interface, aiming to improve
the connections between theoretical and practical work on argumentation on the one hand,
and inside and outside the community on the other hand. The contributions of this version of
PyArg are mainly focused on the front-end. We are currently working on improving the
backend performance by calling more eficient algorithms, collaborating with authors of existing
solvers. In addition, we aim to add support for more formalisms. On a final note, we are open
to collaborations and suggestions for additional functionalities, algorithms or other feedback,
which we hope to incorporate in future releases of PyArg.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgments</title>
      <p>The authors acknowledge the financial support by the Federal Ministry of Education and
Research of Germany and by the Sächsische Staatsministerium für Wissenschaft Kultur und
Tourismus in the program Center of Excellence for AI-research ”Center for Scalable Data</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Borg</surname>
          </string-name>
          , D. Odekerken,
          <article-title>PyArg for solving and explaining argumentation in Python: Demonstration</article-title>
          , in
          <source>: Proceedings of (COMMA-22)</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>349</fpage>
          -
          <lpage>350</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Odekerken</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Berthold</surname>
          </string-name>
          ,
          <article-title>Accessible algorithms for applied argumentation</article-title>
          ,
          <source>in: Proceedings of (Arg&amp;App-23)</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>92</fpage>
          -
          <lpage>98</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F.</given-names>
            <surname>Cerutti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Gaggl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Thimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Wallner</surname>
          </string-name>
          ,
          <article-title>Foundations of implementations for formal argumentation</article-title>
          ,
          <source>IfCoLog Journal of Logics and their Applications</source>
          <volume>4</volume>
          (
          <year>2017</year>
          )
          <fpage>2623</fpage>
          -
          <lpage>2705</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Thimm</surname>
          </string-name>
          ,
          <article-title>The formal argumentation libraries of Tweety</article-title>
          ,
          <source>in: Proceedings of (TAFA-17)</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>137</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Snaith</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Reed, TOAST: Online ASPIC+ implementation</article-title>
          , in
          <source>: Proceedings of (COMMA12)</source>
          , IOS Press,
          <year>2012</year>
          , pp.
          <fpage>509</fpage>
          -
          <lpage>510</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>N. I.</given-names>
            <surname>Spanoudakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gligoris</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Koumi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. C.</given-names>
            <surname>Kakas</surname>
          </string-name>
          ,
          <article-title>Explainable argumentation as a service</article-title>
          ,
          <source>Journal of Web Semantics</source>
          (
          <year>2023</year>
          )
          <fpage>100772</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>R.</given-names>
            <surname>Dachselt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gaggl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Méndez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Rusovac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <article-title>Nexas: A visual tool for navigating and exploring argumentation solution spaces</article-title>
          ,
          <source>in: Proceedings of (COMMA-22)</source>
          , volume
          <volume>353</volume>
          , IOS Press,
          <year>2022</year>
          , pp.
          <fpage>116</fpage>
          -
          <lpage>127</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Dung</surname>
          </string-name>
          ,
          <article-title>On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and n-person games</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>77</volume>
          (
          <year>1995</year>
          )
          <fpage>321</fpage>
          -
          <lpage>357</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>H.</given-names>
            <surname>Prakken</surname>
          </string-name>
          ,
          <article-title>An abstract framework for argumentation with structured arguments</article-title>
          ,
          <source>Argument &amp; Computation</source>
          <volume>1</volume>
          (
          <year>2010</year>
          )
          <fpage>93</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bondarenko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Toni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. A.</given-names>
            <surname>Kowalski</surname>
          </string-name>
          ,
          <article-title>An assumption-based framework for nonmonotonic reasoning</article-title>
          ,
          <source>in: Proceedings of (LPNMR-93)</source>
          ,
          <year>1993</year>
          , pp.
          <fpage>171</fpage>
          -
          <lpage>189</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>K.</given-names>
            <surname>Čyras</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Fan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schulz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Toni</surname>
          </string-name>
          ,
          <article-title>Assumption-based argumentation: Disputes, explanations, preferences</article-title>
          , in: Handbook of Formal Argumentation, volume
          <volume>1</volume>
          ,
          <year>2018</year>
          , pp.
          <fpage>365</fpage>
          -
          <lpage>408</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>P.</given-names>
            <surname>Baroni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Caminada</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Giacomin</surname>
          </string-name>
          ,
          <article-title>An introduction to argumentation semantics</article-title>
          ,
          <source>The Knowledge Engineering Review</source>
          <volume>26</volume>
          (
          <year>2011</year>
          )
          <fpage>365</fpage>
          -
          <lpage>410</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>A.</given-names>
            <surname>Borg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bex</surname>
          </string-name>
          ,
          <article-title>A basic framework for explanations in argumentation</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          <volume>36</volume>
          (
          <year>2021</year>
          )
          <fpage>25</fpage>
          -
          <lpage>35</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>A.</given-names>
            <surname>Borg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bex</surname>
          </string-name>
          ,
          <article-title>Necessary and suficient explanations for argumentation-based conclusions</article-title>
          ,
          <source>in: Proceedings of (ECSQARU-21)</source>
          , Springer,
          <year>2021</year>
          , pp.
          <fpage>45</fpage>
          -
          <lpage>58</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D.</given-names>
            <surname>Odekerken</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Bex</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Testerink</surname>
          </string-name>
          ,
          <article-title>Approximating stability for applied argumentbased inquiry</article-title>
          ,
          <source>Intelligent Systems with Applications</source>
          <volume>16</volume>
          (
          <year>2022</year>
          )
          <fpage>200110</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>D.</given-names>
            <surname>Odekerken</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lehtonen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Borg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. P.</given-names>
            <surname>Wallner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Järvisalo</surname>
          </string-name>
          ,
          <article-title>Argumentative reasoning in ASPIC+ under incomplete information</article-title>
          ,
          <source>in: Proceedings of (KR-23)</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>531</fpage>
          -
          <lpage>541</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P. E.</given-names>
            <surname>Dunne</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Dvořák</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Linsbichler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Woltran</surname>
          </string-name>
          ,
          <article-title>Characteristics of multiple viewpoints in abstract argumentation</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>228</volume>
          (
          <year>2015</year>
          )
          <fpage>153</fpage>
          -
          <lpage>178</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Berthold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Rapberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ulbricht</surname>
          </string-name>
          ,
          <article-title>On the expressive power of assumption-based argumentation</article-title>
          ,
          <source>in: Proceedings of (JELIA-23)</source>
          ,
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>