Abstract
This paper presents the past and present efforts of developing real-life applications of argumentation with the Gorgias preference-based structured argumentation framework of Logic Programming with Priorities. Since its free availability on the web in 2003, the Gorgias system has been used by different groups in a variety of real-life applications in areas such as medical support, network security, business computing, ambient intelligence and, recently, in the area of cognitive personal assistants. We briefly review the Gorgias framework and its past applications and present an emerging general methodological approach for developing “decision making” applications of argumentation. This approach allows the development of real world applications directly from their high-level requirements expressed in the language of the application without the need for familiarity with the underlying technical details of argumentation. A new tool, called Gorgias-B, supports this high-level development of applications and automatically generates the underlying argumentation theory in Gorgias code. The paper also reports on ongoing real-life applications in two domains: an eye-clinic assistant for first level support, and systems for patient data access and data sharing agreements according to the relevant legislation and contracts or policies of the several stakeholders involved. The proposed approach is quite general for this type of applications of argumentation and, thus, it can be used with any preference-based argumentation framework.
Introduction
Over the last two decades there has been an ever increasing interest in applying argumentation to analyze and solve practical problems in the area of Artificial Intelligence (AI). The natural link of argumentation to human reasoning (see, e.g., [35]) makes Computational Argumentation an appropriate framework for applications in AI. This suitability of argumentation applies to problems with strict specifications, requiring expert (e.g., scientific) reasoning, as well as to problems of human-like AI, where the reasoning required is closer to that of common sense used by people when they tackle their everyday tasks. We, therefore, see applications of argumentation over a wide spectrum of problems, ranging from applications focusing on the analysis of debates (e.g., debates on on-line social interaction settings [16,29,52]) to problems where a more formal structure of argumentation needs to be captured computationally (e.g., in automating legislation [7,45]). There are also several systems of argumentation, such as CaSAPI [14], DeLP [15], TOAST [46] and Gorgias [21], that provide tool support for studying various aspects of computational argumentation and its application.
A wide class of applications of argumentation concerns decision problems in dynamic and incomplete, or uncertain, environments. These include problems of diagnosis, e.g., in the medical domain [10,31] or in other domains such as home networks [12], legal problems [6], or recommendation problems, e.g., medical treatment recommendation systems [37]. More generally, some practical works in the category of “decision making” applications include e-commerce applications [18], negotiating supply strategies [56], making credit assignments [41], managing waste-water discharges [2], deciding about an automatic freight process [8], improving the performance of transport systems in rural areas [54], emergency rescue [57], aggregating clinical evidence [19], smarter electricity [32] and delivering clinical decision support services1
Nevertheless, there is lack of works that would help the systematic development of argumentation software for real world applications. This paper aims to address this gap by proposing a simple yet powerful methodological approach that can facilitate the systematic development of (a certain class of) applications of argumentation. The goal is to allow experts in their application domains to use argumentation based methods and tools for modeling their decision making problems with no or little need for technical knowledge on formal argumentation.
More generally, in today’s era of human-like AI and Cognitive Computing, there are three main challenges to developing applications, which are particularly well served by an approach based on argumentation and which our approach aims to tackle. Firstly, the acquisition and elicitation of the application requirements needs to be carried out at a high-level akin to the natural cognitive level of the domain experts, or personal users, for whom the application software is built. Secondly, these systems need to be incrementally developed and improved or adapted to new and changing requirements in a highly modular way, possibly through a continuous learning process that accompanies their development. Finally, systems need to be accountable, with their decisions or recommendations being explainable to people, a feature that is now required by law in the European Union. In effect, the systems need to be able to argue, in a natural human-like way, about the suitability of their operation with respect to the high-level requirements or guidelines provided by the application owners.
Our approach to developing such applications of argumentation has emerged out of the experience from several real-life applications of argumentation based on the preference-based structured argumentation framework of Logic Programming with Priorities [11,21,22] and its Gorgias2
This approach is based on the consideration of application scenarios and the provision, by the domain expert, or the application owner and/or user, of statements of preference on the possible solutions within these scenarios. The expert, or owner, is guided to analyze the conflicts in the application scenarios, or combinations of these, and to consider possible refinements of the scenarios that could resolve or mitigate the conflict. The important characteristic of this approach is that it can be carried out at a high level familiar to the domain expert or application owner. It abstracts away from the technical details of argumentation through the possibility of automatically transforming the high-level specification into an argumentation theory and executable [11,21,22] Gorgias code. As such, our approach aims to address, at least partly, the three challenges for today’s AI systems cataloged above.
The paper briefly reviews the preference-based argumentation framework of Gorgias together with various real-life applications of argumentation based on this framework. The methodological approach for developing applications of argumentation, that has emerged through this variety of applications, is presented and illustrated through some of these applications and other examples. We show how a new tool, called Gorgias-B, employing a novel human-machine interface, supports the proposed approach and provides an automatic translation of the high-level scenario-based preference specification into a corresponding argumentation theory and Gorgias software code. The paper also reports on an ongoing real-life application of an eye-clinic assistant for providing first level support at the clinic by ascertaining the severity of the case of a new patient case and thus helping in prioritizing patient appointments. Similarly, we report on the current development of data access and sharing applications for patient medical records where multiple policy requirements from legislation and other stakeholders need to be integrated together to regulate the access to information.
In section two we present the general class of application problems for argumentation that we will consider in this paper. We describe the overall structure of these problems and illustrate this with an example. Then, in section three, we show how these problems can be captured within the argumentation framework of Gorgias. In section four we discuss the various real-life applications developed so far with Gorgias. Subsequently, in section five, we present the general methodological approach for applications of argumentation, along with the Gorgias-B tool developed for supporting the proposed approach. Section six highlights the current challenges for Gorgias by providing an insight of the real-life applications under development and section seven concludes.
A wide class of application problems which can be captured using argumentation are in essence decision problems. Argumentation is particularly suitable when the application environment is incomplete and dynamic. The incompleteness and volatility of information typically mean that there is insufficient information to have a strict decision policy and, hence, the flexibility of argumentation provides a way to account for and manage the possible alternative decisions that can be taken.
In this paper we will consider applications which can be formulated in the form of a decision problem whose language of description is composed of the following parts:
This is the set of the various results of the decision making problem. Options characterize the solutions to the application problem. In practice, options are typically actions and hence the problem is to decide what course of action to take, e.g., to decide on a user’s level of access to sensitive data. In some cases, options are explanations that help to classify a situation, e.g., to match the symptoms of a patient with a set of possible diseases. In many of these cases the explanation is just an intermediate step towards achieving the overall objective to decide on a course of action, such as what therapy to recommend.
A set of relations that are used to (partially) describe the possible states of the application environment called scenarios. These relations capture the various types of information that we expect to be available from the application environment when we are asked to apply the decision making process to solve particular instances of the problem. This information can be sensory information readily available or it may be information that can be actively sought from the environment. In this case the application system may need to prompt the environment for this information. This practical consideration separates the sensory information into two types: directly observable and hypothetical with the latter requiring a decision to actively seek it.
A set of tuples
It is important to note that this “language scheme” for specifying decision problems allows the application domain experts to formulate and describe their application at a high and non-technical level, solely within their familiar application language. The domain expert does not need to be aware of the technical details of the underlying argumentation framework in which the problem will eventually be expressed. Hence, the Scenario-based Preferences (SP), capture at a high level the required behaviour of any system for solving the problem. Depending on the application, these are expressions of expert knowledge, e.g., in a medical support application the expert (doctor or other medical personnel) provides the set of preferred possible causes, or actions to be taken, for various patient scenarios. On the other hand, for human-like AI applications, such as cognitive personal assistants, the scenario-based preferences come from personal preferences of the human user. These can be in the form of high-level guidelines for the assistant, such as for example, the preference for good quality food or the avoidance of red meat, in the context of building on-line shopping personal assistants.
Scenarios and scenario-based preferences
In expressing the scenario and scenario-based preference specification of an application problem there are two important notions that help us to relate and organize these requirements. Firstly, given a scenario S, we can expand this with further, non-empty, scenario information C, to obtain a new scenario
Clearly, the combination of two (different) scenarios also forms a refinement of each scenario by the other where the non-common part of the scenarios forms the context of the refinement.
Refinements and combinations of scenarios have an effect on the corresponding scenario-based preferences that refer to the scenarios involved. Given two scenario-based preferences
Note that when a refinement,
Finally, we note that when we refine or combine scenarios we need to know if the resulting scenarios are
In order to illustrate the high-level description of an application problem let us consider a simple example where we want to capture the guidelines of a human user for an on-line shopping personal assistant. The set of options in this problem is to buy, or not, various products in a supermarket. For simplicity, let us assume that this set contains the following options (and their negations):
The application problem is to decide which buy options to select. For ease of presentation, we assume that we only buy one type of these foods when shopping, i.e., that these options are mutually exclusive. The user has informed us that all these options are enabled under the minimal scenario information of “main shopping” for the week (denoted here by
As defined above, the general notation that we will use to denote scenarios (and correspondingly scenario-based preferences) is
We will say that these options are
The user may have a preference amongst the cheaper options, e.g., a preference for pork in the winter and for chicken in the summer. These additional preferences may be captured in further scenarios, which are
In refinements of scenarios the user is able to
When we have different scenarios whose conditions can hold together in the application then we are led to consider
In our example, we have considered so far refinements and combinations of scenarios stemming from the scenario condition of “cheap price”. We could have other scenario conditions on the application environment that are independently sufficient to express a preference. For example, the preference for locally produced foods of the user may be a general preference that applies irrespective of the price. If this is the case this general preference is not captured by the scenario-based preference,
In certain applications, it is possible for the list of preferred options in the new refined or combined scenarios, to contain options that are outside the (union of) options in the “parent” scenario-based preferences. For example, the user prefers lamb for special occasions and chicken when s/he is not feeling well, but when both these hold (i.e., in the combined scenario of a special occasion when s/he is not feeling well) s/he prefers fish. Finally, we note that we can also have “local” preference statements between an option and its negation, e.g, the user may express the preference not to buy fish if it is farmed:
Some of the scenario information may not be readily available to the shopping assistant at the time of operation, e.g., in our example the user may have expressed a preference for buying lamb or fish when the week contains a special occasion but the information of
A principled approach to capture the preference requirements, or guidelines, of an application problem, would involve identifying possible combinations of the scenarios expressed directly by the user, which contain conflicting preferences, and prompting or learning from the user further preferences under such combined scenarios and their refinements. This process can be applied iteratively to consider further combinations with any new scenarios introduced. In Section 5 we will present a general methodological approach for eliciting from the application domain expert, or user, these preference requirements.
In this section we briefly overview the Gorgias argumentation framework and indicate how application problems can be formulated as an argumentation theory in it.
Gorgias is a structured argumentation framework, where arguments are constructed using a basic argument scheme of Modus Ponens to link a set of premises with the claim, or position, of the argument. An
There are historical reasons for this as the original motivation of presenting the Gorgias argumentation framework in [11] was to give an argumentation formulation for Logic Programming without Negation as Failure.
In the context of the type of applications described in the previous section, the premises are typically given by a set of conditions describing a scenario and the claim is an option. There are cases, however, where the conditions are themselves defeasible. We call them
When the claim of an argument is a literal on an option (or belief) predicate, this argument is called an
The formulation of an application problem is then given by a
The
Once we have such a corresponding abstract argumentation framework,
Let us illustrate the Gorgias argumentation framework and how we can capture in this a problem specification using the example of the on-line shopping assistant (partially) specified above.
The knowledge of the various minimal (possibly empty) set of scenario conditions,
Note that in the implementation language of Gorgias these are written as rules with ⊳ replaced by rule implication →.
Given further scenario-based preference statements we can build priority arguments on top of these object-level arguments to capture these statements. For example,
Note that the last two priority rules capture the fact that the options of pork and chicken in
These higher level priority rules capture the implicit preference of the more specific scenario-based preferences over the more general ones. Similarly, the other refined scenario-based preference,
Then, the more refined scenario-based preference, given by
Therefore, we see that we can develop a systematic translation of scenario-based preferences, where successive refinements of a scenario give priority argument rules at a
Consider a current situation – a specific application scenario – where
The priority argument rules that these contain render them stronger than arguments supporting the options to buy lamb or fish. In addition, since there are no priority arguments that are enabled in the current application scenario which can give higher priority to lamb or fish over pork or chicken, the options of lamb and fish are not supported by any relative strong and hence admissible composite argument.
An application problem description in terms of scenario-based preferences can be automatically transformed into a Gorgias argumentation theory once its SPs have been arranged in a set of SPs hierarchies. Informally, the algorithm which carries this out maps the lowest level of an SP hierarchy,
The central part of this translation is Algorithm 1 that maps a focusing hierarchy,
This elaborate indexing of the argument rules is needed when we extend this algorithm to deal with several scenario-based hierarchies, where it is possible for the same scenario to appear in multiple hierarchies. It is also needed when we generalize this central algorithm to non-focusing scenario-based preference hierarchies. Both these extensions are straight forward to carry out but their details are outside the scope of this paper.

Central Algorithm for Argument Generation
Algorithm 1 captures the general meta preference of a statement in a specific scenario over statements in more general scenarios. Its application in our running example for the SP focusing hierarchy
Through this automatic translation, argumentation allows us to solve problems without the need to have an exhaustive representation and look up of scenarios and their preferences. The hierarchies allow the user to express the knowledge in less sentences than the generated rules: the rules in the hierarchy are created invisibly to the user. Argumentation provides a principled way to in effect lookup the scenario-based preferences even in cases where the current information is incomplete and/or contradictory.
The Gorgias system was developed as a Prolog meta-interpreter to support the dialectical argumentation process of the framework described above. It was made publicly available on the web in 2003. The system supports queries to find which options are admissibly supported by an argumentation theory. Moreover, it provides the admissible composite arguments that support these options. It also supports hypothetical (abductive) reasoning, integrated with that of its dialectical argumentation, so that it can be used to generate further scenario information under which a desired option would be supported by an admissible argument and, hence, become a possible solution.
As we will see below the Gorgias system was used by several groups to develop applications in various domains. In addition, the Gorgias argumentation framework and its system formed the basis to study several general important problems in AI such as non-monotonic learning [11], intra-agent control [23], multi-agent negotiation and dialogue [20,25], distributed decision making [40], and, reasoning about actions and change [24]. In 2016, a new tool, called Gorgias-B, was released to help the development of applications of argumentation under Gorgias. This tool is presented below in Section 5.
Real-life applications of Gorgias
In this section we present an overview of the various real-life applications problems that have been studied with the Gorgias argumentation framework and where the Gorgias system was used to implement and evaluate the argumentation-based approach to these problems. We illustrate one of these applications in more detail in Section 4.1.
One of the first real-life applications of Gorgias [30] was in the area of Medical Informatics, where the problem was to identify what medical actions, e.g., further medical tests or treatment, were needed to determine the seriousness of the condition of a patient with the possibility of Deep Venous Thrombosis (DVT). Medical expert knowledge was captured as Gorgias argumentation theories of different agents with different expertise. The application was build to provide support to medical practitioners and it was tested on a corpus of 600 patients at a hospital in Cluj-Napoca, Romania.
In the general area of Ambient Intelligence Gorgias has been used to address several decision making application problems. One such application, in the more specific area of Ambient Assisted Living [33], was concerned with providing home services for people suffering from cognitive problems, and more particularly from the Alzheimer disease. Personal assistant agents used argumentation to (a) resolve conflicts between competing activities in the user’s agenda (e.g., when the user’s favorite TV show coincided with the time for taking his/her pills) and to (b) take personalized and context-based decisions in special situations (e.g., to reduce a pill dosage when the weather is particularly hot). This work was part of a larger project, called HERA [48], which was successfully evaluated in real-life trials in two phases. The first phase took place at the Hygeia hospital in Athens, Greece, and the second phase at the users’ homes.
Gorgias was also applied to the Ambient Intelligence problem of conflict resolution from networked sensors whose information is incompatible with each other [5]. This enables the development of context aware-pervasive services that can adapt to the application environment. The sensors’ conflict resolution capability was tested extensively using real-life Web services technology, capable of resolving conflicting data gathered from up to 10 sensors. The authors argued that this shows the potential of argumentation theory to solve real-world problems in services computing.
Recently, we have used Gorgias for addressing another problem of conflict resolution, specifically for resolving diplomatic disputes between countries [51]. In another work [26], Gorgias was used in a context where disputes can arise in a shared environment by many stakeholders, where several legal and other contracts may apply.
Gorgias has been used in applications of network security to provide support tools for authoring, analyzing and managing the firewalls of a corporate network [3]. The management of firewalls becomes a challenging task as they grow through new requirements, imposed by the organization. It requires experienced administrators to address these new requirements by creating new firewall rules and inserting them at the “best place” inside the list of the existing rules. The overall aim of this application was to provide an automatic generation of firewall configurations from higher-level requirements and, thus, facilitate their authoring and maintenance. The argumentation-based formulation of firewalls allowed a direct mapping from the high-level network security policy to the firewall policies. Using Gorgias we had an executable firewall configuration, whose compliance to the policy was automatically ensured. This argumentation based approach was applied and evaluated with the firewall specification policy of a moderate-size enterprise, where it was used to examine the properties of the existing firewall and to test that it could automatically generate the relative rule orderings that would ensure the correctness, with respect to the given policy, of the firewall configuration. It was shown that this was possible and that the performance of Gorgias was comparable, on specialized tasks, to state of the art approaches dedicated to network configuration management [53]. In another work [1], following a similar approach of formulating firewalls through argumentation, the authors provided a framework where explanations of the behaviour of the firewalls can be documented and exploited by the administrators and users of the network. Recently, Gorgias was used to study another problem in the area of cyber security, namely that of trying to understand cyber attacks on the Internet and attribute to them a likely source [28]. Although this problem is difficult due to the lack of extensive knowledge on the changing nature of cyber attacks, argumentation gives us a principled way of analyzing the problem that helps in its solution.
Another application of Gorgias was Market-Miner, an innovative agent for automated product pricing, mainly targeted for the retail sector [47]. Market-Miner captures the points of view of different departments of a firm (production, financial, marketing, etc) together with information coming from internal (results of data mining on the corporate database) or external sources (e.g., prices of the competition, weather forecast) and defines appropriate preferences in conflicting scenarios. Briefly, the options considered were at which price to sell a product: normal, high or low price. Scenario-based preferences captured various company policies, e.g., a high pricing scenario when the object of the decision was a high technology product and an advertised invention, or a low pricing scenario when the product’s type was within a category that the company wanted to hit the competition.
A recent application of Gorgias concerned a practical problem of image analysis, namely that of automated discrimination between handwritten and printed text [9]. This problem was modeled as a distributed decision making problem, where the decision about the labeling of text (i.e., “handwritten” or “printed”) is made through a bilateral dialogue between autonomous agents. A dynamic decision making process was set up to deal with the possible dilemmas of the agents in conflicting situations, i.e., when both decisions “handwritten” or “printed” are admissible, based on expert default (or generic) and contextual knowledge for solving these conflicts. Each agent is able to propose, in a dialogue with the other agent, a clear decision based on its own point of view, in order to look for a commonly accepted decision when they have an initial disagreement. The system has been evaluated on real-life data taken from the IAM handwriting database,7
Typically, investors are concerned with constructing a portfolio of assets. One particular type of such assets is that of mutual funds. In this case, a set of candidate funds is chosen, which are then used by the investor to construct a portfolio according to forecasts and personal preferences. The different approaches applied in the literature, e.g., using linear programming, or applying multi-criteria decision aid methods (see for example [42,58]), do not provide the opportunity to an investor to define different investment strategies according to personal preferences, or take a decision in an environment with limited information. The investor can take into account the figures and metrics extracted from previous year(s), the market condition, e.g., bull (rising) or bear (falling) and her/his personal attitude ranging from aggressive (preferring high risk assets that promise high returns) to defensive (preferring known successful assets with low risk and low returns).
In the Gorgias argumentation based approach for this problem [42] the central question was whether or not to add an asset to the investment portfolio. Thus, the set of options were,
return of the funds for the previous period
standard deviation of the daily returns of a fund in the previous period
the beta coefficient that computes a fund’s risk in relation to the capital risk according to its sensitivity to fluctuations of the general financial market (its index)
the Sharpe and Treynor indices for a fund’s excess return based on a risk-free rate or investment.
Moreover, we get scenario information from the expected market condition, which can be unknown, or forecasted as
This problem has been captured within a Gorgias argumentation theory constructed along the following lines. First one considers the question of when a fund minimally qualifies to be included or not in a portfolio, i.e., we identify
These primary scenarios are then
the bear market context, where a mutual fund should not be selected unless it has low risk:
the risk tolerant investor doesn’t select funds unless they have high returns and high risk:
In generating the corresponding Gorgias argumentation theory all specific contexts are to be preferred over their more general contexts. Hence in the general context,
For the bear market scenario/context we have:
Similarly, for the risk tolerant investor scenario/context we have:
The application requires that we also considered
Given this we would extend our priority arguments to include:
High-level development of Gorgias applications
In this section we present a methodological approach to acquire, or machine learn, an application’s knowledge or requirements, in the form of scenario-based preferences. This new approach has emerged out of the experience of the last decade of applying Gorgias to real-life application problems. It allows the high-level development of applications of argumentation where the interaction with the problem domain expert, or user can occur in terms of the high-level language of the problem that the expert is familiar with. The experts do not need to have any technical knowledge of computational argumentation in general, or of the Gorgias argumentation framework.
Our approach allows a domain expert (e.g., medical doctor, lawyer, etc), or a user, to structure their expertise or personal guidelines using the simple structure of a table. In this table, the columns represent the possible options and the rows the scenarios in which the different options are enabled or are preferred. In other words, rows of the table correspond to statements of scenario-based preference. In the case where Machine Learning methods are used, e.g., data analytics, these will operate on the “natural” data of the application (and its operating environment) and will aim to learn the scenario-based preferences of the application, thus filling up a full row of the table. Once we have identified the language of options and description of scenarios the approach follows two basic steps as follows:
The expert (or user) names the columns of the table after the possible options. Then, s/he fills in the first rows, by defining for each option
The second step of the approach concerns a process of conflict analysis and possible resolution of conflicts. At the end of the previous step possible conflicts between different sets of options might occur. The reason for this can be (i) that in the same scenario there are several different preferred options, or (ii) that we have different scenarios that are simultaneously possible, as their scenario information can be valid at the same time in an application environment. For the first type of conflict the expert needs to define a next level scenario with new contextual information that narrows down the options range, thus defining a focusing hierarchy. For the second type of conflict the expert declares whether the combined scenario is indeed plausible (i.e it is not inconsistent or completely disjoint) and then considers the preferred options in it.
Some conflicts might still persist and new ones might appear. This process can continue repeating (STEP 2) as long as the expert is able to build further refined scenarios for resolving conflicts. A good practical guideline is to first consider and build hierarchies of scenario-based preferences by iteratively refining scenarios. Once we have such different hierarchies we start considering their combinations, using pairs of hierarchies whose scenarios are different at the lowest levels. We then build hierarchies on top of the combined scenarios. The approach does not impose any restrictions on the expert in making these statements of scenario-based preferences. The only property of the overall preference relation, captured by these statements, is that of being irreflexive, which is a simple consequence of the fact that it is not possible to express a preference of an option over itself in the table. Also note that in practice during these two steps the expert or user may introduce new elements in the language of the problem, particularly relations to describe scenarios.
We note that this approach of gathering requirements in the form of scenario-based preferences of increasing specificity is analogue to a form of evidential reasoning where as we increase the evidence we can make “sharper” decisions. The latter has been studied in AI, ranging from an early work in Inheritance Networks [17] to more recent studies of argumentation and evidential reasoning [44,55].
Table 1 shows an instance of a scenario-based preferences table, being an (intermediate) result at some stage of the process. At the first step the user gives the information in
Given these rows, i.e., rows 1, 2, 5, 6 and 7, we see that there are still conflicts as, for example, there is a conflict between options
The table also shows in row 7 that the options
Note that we do not have a combined scenario of rows 3 and 4 as it would contain both y and
It is important to note that the tables of our approach do not need to be exhaustive, or to be built completely from the start before analyzing them. The tables can be built incrementally, provided that each time we expand them, we also introduce a conflict analysis step to ascertain that the expert has information that would help resolve, at least partially, possible new conflicts. One of the features of the approach, and this is due generally to argumentation, is that the expert/user may not be able to resolve all conflicts when they first appear. At a later stage, when extra knowledge has been acquired, the user can discriminate between existing conflicts.
Example of scenario-based preferences on conflicting options
Example of scenario-based preferences on conflicting options
Gorgias-B is a Java-based tool built on top of
Gorgias-B (
In order to illustrate these roles and the general functionality of Gorgias-B we present here how this would be used to capture the scenario-based preferences in the example in Table 1. The tool supports the whole process from its start, where the different options of an application are declared. In the example of Table 1 the expert/user can then use the “Argument View”, shown in Fig. 1, to generate object-level arguments for the declared options, corresponding to the first step of the process of capturing initial scenarios. For example, in the figure we see that the user has selected option,

Gorgias-B: The arguments view (step 1 of the methodology).
Continuing with STEP 2 of the process, the user clicks the button “Resolve conflicts/Argue/Assign argument strength” which opens a new dialogue (see Fig. 2). Gorgias-B identifies scenarios with conflicting options and the user can work on these by selecting (using the controls on the right of the scenario) the option(s) that are preferred (if any) in each conflicting scenario. The user can make these preferences conditional on further contextual information in the scenario under consideration, thus constructing refinements of the scenario. These preference statements appear in the main window as binary preferences or priorities between pairs of options.
In this way, the tool allows the user to enter scenario-based preferences at higher levels of scenario refinements. For example, Fig. 2 shows the conflicting scenario

Gorgias-B: Arguing at higher levels (step 2 of the methodology, second iteration).

Gorgias-B: Arguing at higher levels (combination in second level and refinement in third).
By pressing this “Resolve Conflicts” button at the bottom we can move to a next level of conflict analysis corresponding to a new iteration of STEP 2 of our methodological approach. In this way, the user adds the scenario-based preferences identified at the higher-level steps. Figure 3 shows this for row 7 of Table 1, with the scenario
Row 8 of
The “Resolve Conflicts” button of the level “2” screen (left screen) in Fig. 3 is enabled. This means that in the current scenario Gorgias-B has still conflicting preferences that could be resolved at the next level. As soon as the user clicks this button, s/he arrives at the second screen (level 3) in Fig. 3 where such additional resolution statements from the expert can be entered. As mentioned above, Gorgias-B shows to the user all combined conflicting scenarios except those for which it has information that they are impossible in practice, e.g., combinations where a condition and its negation are present.
Finally, the “Gorgias file” view on the right hand side of the dialogues, e.g., as seen in Fig. 2, is optional and allows the user to see the Gorgias argumentation theory code that is automatically generated as the scenario-based preferences are entered.
In this section we present two real-life applications that are currently under development using the general methodological approach and the Gorgias-B tool described in the previous section.
Eye-clinic (first level) support
This application concerns the development of a system that can provide a first level support in an eye-clinic by analyzing the symptoms presented by the patient, possibly requesting extra information, with the primary aim to identify the urgency of the situation and thus arrange suitably the patient’s appointment with the doctor.
Sorting the patients and deciding about the urgency of their care, according to the severity of their diagnosed disease, is an important issue for the ocular emergencies departments in public hospitals (or private clinics). An AI-based diagnosis support system would help the receptionist/nurse to make a preliminary (i.e., before a doctor’s examination) diagnosis in order to plan the appointments of the doctors based on the severity of the patient’s condition. The nurse would supply the system with observable (or declared by the patient) facts (e.g., symptoms such as red eye, painful eye, etc.) thus building a current scenario of interest. The system would also prompt the nurse to request additional information when needed (e.g., to measure the intra-ocular pressure or ask the patient about past history) in order to make a more informed diagnosis.
The development of our Eye-clinic support system was based on a collaboration with a highly qualified ophthalmologist doctor of a public hospital in Paris (France) (see [43]). The system is based on the set of known ocular diseases (there are more than 80), which constitute the options in the application’s decision problem. The task is to select the most appropriate ones, given the information gathered from the patient. Options are represented by predicates of the form:
As mentioned above, the scenario information consists of observable facts in various categories, such as the area of the symptom, called zone (e.g., the eye), or the category of symptoms (e.g., red eye, painful eye) or the context (e.g., ocular surgery). We also have other hypothetical information such as whether the patient had (or not) a disease previously. The scenario-based preferences are provided by the expert ophthalmologist by expressing her natural way of thinking about patient symptoms to arrive at an appropriate diagnosis. Basic, or initial, scenarios with minimal information allow for several diseases to be initially chosen. The expert’s analysis of these gives refined or combined scenario-based preferences where the initially preferred diseases are narrowed down or (partly) replaced by other diseases.
In Table 2 we present some of the scenarios that involve the four diseases in our illustrative subset of options. In the description of the scenarios “z” stands for “zone”, “s” for “symptom”, “c” for “context”, “oc_sur” for “ocular surgery”, and “vis_dist” for “visual disturbance”. The expert has identified one initial scenario,
Example of eye clinic application
Example of eye clinic application
Our methodology has allowed us to structure the high level expertise of an ophthalmologist in several tables in a systematic and flexible way with respect to the complexity and the amount of knowledge that has been acquired. The use of tables provides a compact representation of the expert knowledge, but, more importantly, gives the opportunity to our expert to analyze several times new scenarios based on the combination of basic scenarios when she had to compare and discriminate between conflicting diseases in various existing scenario-based preferences. A prototype is under development and we have already implemented more than 3,000 rules representing object and priority arguments. A commercial product will be subsequently developed to be deployed in the collaborating eye clinic.
An important recent field of application is that of data sharing. When different stakeholders want to exchange and share data, they need to agree on a common policy, usually referred to as a data sharing agreement (DSA). Recent works [26,27] have applied an argumentation approach within the Gorgias framework for data access and sharing in the health sector. The
More specifically, in this problem the set of Options is captured by the predicate
Table 3 shows a representative case of scenario-based preferences extracted from the legislation. Normally none has access to a medical file. The owner of the file has full or suspended access for personal use. If the file is suspended then the owner has only suspended access. A doctor can have limited plus read only access for treatment purposes. However, even in this case, if the owner of the data is dead access is not granted.
A scenarios table. The decision predicate is
Currently, we are developing the
We are also working on applications requiring the merging of several diverse policies from independent organizations or people. The main challenge in this is to manage conflicts across policies where we need to understand how one policy’s preference takes precedence over the others. Such is the situation in the data sharing landscape (see e.g., [26,34]). Data is generated in independent and distributed nodes and access to it by different stakeholders is governed by a diverse set of policies. As stakeholders can be independent entities, with their own policies, there are typically several cases where their policies will conflict and in that case an arbitrator is needed to handle the conflicts.
Recently, we proposed a method [4] based on Gorgias for managing such conflicts across different stakeholders’ policies. The main idea is to build an arbitrator meta policy over the individual policies. Following our approach we formulate tables of scenario-based preferences as statements of preferences between the individual policies which take the role of the options for the meta policy. For example, in a medical data access application where we have several stakeholders such as the Patient, Legislation, Hospital and Emergency Organizations (e.g., the Fire Service) such a meta policy can be built from data sharing statements of the form: “The personal and legislation policies are preferred over others. Among them the personal policy is preferred. However, if the person is a victim in an accident scene, the fire service policy is preferred over the personal one. If the owner of the data is hospitalized, the hospital policy is preferred.”
This approach allows the arbitrator to be agnostic with regard to the individual reasons why a policy allows or denies access and at the same time be capable to arbitrate on such a matter. We are also working on applying such meta policy arbitration to regulate energy consumption in smart green buildings [4].
We have presented an approach for the high-level development of a (class) of applications of argumentation that has emerged out of the experience, during the last decade, of applying the argumentation framework of Gorgias to solve real-life problems. The proposed approach allows the modular development of real-life applications, where requirements are processed incrementally in their high-level form, through the systematic analysis of scenario-based conflicts and an automatic translation of scenario-based preferences to corresponding Gorgias argumentation theories and code. Our work shows in practical terms how argumentation is suited to solve problems under incomplete and incompatible information. Argumentation provides a principled and theoretically well founded way to solve such problems providing at the same time explanations for the solutions. The approach is sufficiently general to allow the development of applications in any, of the many existing argumentation frameworks (e.g., [15,38,39]), that support conditional and hierarchical forms of preference.
The approach can be improved in several ways. An important development of the authoring tool of Gorgias-B is the fully automated extraction of the Gorgias argumentation theory directly from the tables of scenario-based preferences so that while these tables are filled the argumentation code can be produced and tested. Given the current investor interest that we have in this we hope to develop a new interface tool for professional use in software companies.
We can also integrate within the application development approach various methods of Machine Learning. For example, scenario-based preferences can be extracted by data analytics on past cases of the application without the need for their explicit stipulation by the domain expert/user. Similarly, by including a feedback process during the operation of the system we can learn new or refined preferences from experience. This feedback can be linked to the provision of explanations that argumentation systems can offer for their operation and decisions. Thus, we are working to extend the explanation facility of our tools to so as to be able to give these in a natural form familiar to the users and to be able to engage in dialogues with the users. In fact, we believe that our approach shows how argumentation facilitates the integration of sub-symbolic Machine Learning methods with Symbolic Computation to build systems that can have a cognitively natural interface with human developers and users.
We are also experimenting with the development of personal Cognitive Assistants in various areas of applications, e.g., personal, tourist, calendar, shopping and social media assistants. This class of applications relies on user guidelines expressed in natural language. A suitable extension of the Gorgias system, called Gorgias-NL [36] is currently under development where scenario-based preferences would be extracted directly from dialogues with the user in structured forms of natural language.
Footnotes
Acknowledgements
The authors acknowledge the (partial) support of the project “Societies of Computees” (SOCS IST-2001-32530), carried out under the 5th framework program of the European Union, for the development of the Gorgias system in 2002-3. We thank the coordinator of the project, Francesca Toni, and all the partners of the project for their helpful interaction.
