1 Introduction
Agent mining is a relatively recent area that combines approaches and techniques from the agent and data mining (DM) domains (Cao et al., Reference Cao, Weiss and Yu2012). Agent systems are made of multiple entities, the agents, interacting in a shared environment. Agents are generally characterized by a form of autonomy, which is guided by the pursuit of internal goals. The different terms used, agent-oriented, agent-based and multi-agent systems (MAS), reflect the diversity in integration of agent-related aspects in the software engineering process. At first, the agent can be used only as a useful and abstract concept to model a member of a system, even as an isolated entity (Pulmano & Estuar, Reference Pulmano and Estuar2016) and (Sateli & Witte, Reference Sateli, Witte, McCrae, Hellmann, Buitelaar, Gracia, Bond and Chiarcos2017). However, in most cases, the interacting aspect is considered and results in the design of communication and coordination elements for the agents to share their common environment made of common resources, etc. The potential coordination issues can be solved in very different ways, from simple interaction rules (Beni, Reference Beni, Şahin and Spears2005) to sophisticated negotiation protocols (Gorodetsky et al., Reference Gorodetsky, Karsaev, Samoylov and Serebryakov2008). Finally, the system design can be achieved using agent dedicated development frameworks (Bellifemine et al., Reference Bellifemine, Poggi and Rimassa2001; Yang et al., Reference Yang, Sung, Wu and Chen2010; Botelho et al., Reference Botelho, Marietto, Mendes, Sousa, Pimentel and da Silva2020).
DM is part of the data analytics field and also called knowledge discovery in databases. It consists in applying statistical and artificial intelligence (AI) methods to model large data sets (Gorunescu, Reference Gorunescu2011). More precisely, DM aims at providing prediction and/or description of the data (Pruengkarn et al., Reference Pruengkarn, Wong and Fung2017). On the basis of the available data, the first aim is to predict which are the more plausible values of some variables; the second aim is to search for characteristics and patterns to describe the data. The AI methods used in this domain are essentially machine learning methods such as classification and clustering algorithms.
When both agents and DM are combined, the distribution and autonomy aspects of the agents can improve the DM process, such as the power of the DM techniques can enhance the agent systems. However, a thorough study of their joint use, how to design it and which methodologies to use, is still lacking.
In a previous study (Grislin-Le Strugeon et al., Reference Grislin-Le Strugeon, Oliveira, Thilliez and Petit2021), a systematic mapping about the combination of agent and mining in the computer science studies from 2000 to 2020 was carried out. The result was a map that quantified the number of studies according to the publication source (journal, conference, workshop), the study type (theoretical, applied) and the research area (agents using DM, DM using agents, integration of agents and mining).
This article proposes to extend this previous study through a deep analysis of the set of articles that integrate both agents and mining in an interdependence way between the two research areas, namely the articles that really include agent mining solutions. The goal is to find out from those articles how the agent mining solutions were designed. More precisely, to find which models, architectures, techniques, etc. are used as approaches to design the systems that integrate agent and mining.
To that end, data related to each of those elements were extracted from the articles (i.e., methods, models, architectures and so on). As result, a lot of knowledge about agent mining approaches was obtained. This paper aims to capitalize this knowledge in some model. Class diagrams, feature models or ontologies could be used for that purpose. Among these models, ontologies offer the capability to express semantics and constraints from the concepts. According to Gruber (Reference Gruber1993), ‘an ontology is a formal and explicit specification of a shared conceptualisation’ that promotes ‘a shared and common understanding of some domain that can be communicated across people and computers’ (Studer et al., Reference Studer, Benjamins and Fensel1998). In this way, the shared knowledge obtained about the agent mining approaches could explicitly be specified and represented. To better take benefit from the result of the systematic mapping, the set of articles was divided in two subsets: one for the definition of the ontology and the other to corroborate it.
The major contributions of this study are:
the proposition of an ontology that describes the agent mining approaches using seven main facets: the addressed problems, the application domains, the agent-related and mining-related elements, the kinds of used models, processes and algorithms;
the analysis of 121 articles on agent mining to build the ontology;
the definition of a reusable taxonomy of application domains related to agent mining solutions.
The remainder of this article is organized as follows. Section 2 starts with a background about the use of ontologies in both agent and DM domains, and a brief summary of the systematic mapping study that is the basis for this paper. Then, Section 3 describes the methodology followed to extract the data from the literature. Section 4 presents the ontology definition and validation. In Section 5, the threats to validity of the study are analyzed, before the conclusion in the last section.
2 Background
To the best of our knowledge, there is no work that organizes the methodological concepts of agent mining using ontologies (or any other representation). However, ontologies have been used in both agent and mining domains, essentially as shared bases among the agents and as semantic supports for mining techniques. Some works present models that include organized concepts to support their development. This section starts by an overview of the use of ontologies in agent and mining systems. The previous study that provides the first result used as a basis for the analysis is then described.
2.1 Ontologies in agent systems
Several works can be found about the use of ontologies in agents systems (Cranefield et al., Reference Cranefield, Willmott and Finin2002). For instance, ontologies have been used for a long time to represent the agents’ knowledge, see Huhns & Singh (Reference Huhns and Singh1997) that first proposed to use an ontology as a ‘shared virtual world’ to help the agents in their communication. A similar principle is present in the MaSE extension proposed in Dileo et al. (Reference Dileo, Jacobs and DeLoach2002), in the PASSI methodology (Cossentino, Reference Cossentino2005) and in the OMNI framework (Dignum et al., Reference Dignum, Javier and Frank2005), where domain ontologies describe and store the domain knowledge to form a shared basis for the agent interactions. The ontologies are even central in the MOBMAS methodology (Tran & Low, Reference Tran and Low2008) to support agents’ reasoning with a link between the problem-solving knowledge and the domain-related knowledge. The goal is similar in the studies reviewed in Olivares-Alarcos et al. (2019) that analyzes the types of cognitive capabilities supported by ontologies for robot autonomy.
Ontologies have been used to support specific phases in the Agent-Oriented Software Engineering (AOSE) domain, which is the part of Software Engineering where the main concept is the software agent (Gómez-Sanz & Fuentes-Fernández, Reference Gómez-Sanz and Fuentes-Fernández2015). For instance, the requirements analysis phase of the agent system development approach proposed in Ribino et al. (Reference Ribino, Cossentino, Lodato, Lopes, Sabatucci and Seidita2013) is based on an ontological model to discover inconsistencies and lacks in the problem description. The ontology development phase is central in the MOMA methodology for multi-agent application development (Ying et al., Reference Ying, Ray and Lewis2013), with three steps of concept identification, ontology modelling and code generation. The ontology in Cordeiro et al. (Reference Cordeiro, Werneck, Santos and Cysneiros2016) is aimed at providing to the MAS designer a support to select relevant models from AOSE methodologies. The ontology-based approach in Freitas et al. (Reference Freitas, Bordini and Vieira2017) combines model-driven engineering and ontologies for the representation of the agent, environment and organization dimensions of the system, to address the phases of specification, development and verification of agent-oriented software. The Ontology for Autonomous Systems (OASys) (Rodríguez et al., 2012) contains a sub-ontology that defines and organizes concepts for the design of an autonomous system, especially its structure, behaviour and function. These concepts are used in the OASys-based methodology analysis models to develop autonomous systems, like robots for instance (Pignaton de Freitas et al., Reference Pignaton de Freitas, Bermejo-Alonso, Khamis, Li and Olszewska2020).
In addition, some of the AOSE methods and methodologies propose concept organizations that are similar to what exist in ontologies. These concept organizations form meta-models for MAS design. For instance, the ADELFE methodology, which is dedicated to cooperative agents, includes a meta-model based on the concepts of skills, aptitudes, cooperation rules, etc. (Bernon et al., Reference Bernon, Camps, Gleizes and Picard2004). The PASSI methodology (Cossentino, Reference Cossentino2005) proposes to use an agent society meta-model to describe the agents’ roles, tasks and communication capabilities in UML. The meta-models of the Tropos (Bresciani et al., Reference Bresciani, Perini, Giorgini, Giunchiglia and Mylopoulos2004) and Gaia (Zambonelli et al., Reference Zambonelli, Jennings and Wooldridge2003) methodologies are oriented to the organizational and planning aspects of the agent system, with the concepts of goal and resource for examples.
These organizations of concepts in meta-models are close to this work, but focused only on the agent system and its components, and not using the rule expressions included in ontologies. Guizzardi & Wagner (Reference Guizzardi, Wagner, Bresciani, Giorgini, Henderson-Sellers, Low and Winikoff2005) looked for organizing concepts of agents using ontologies. The study proposed an initial ontology with some concepts about roles and components of agent systems to support agent-oriented modelling. Although this work is well formalized, no evolution or use of it was found.
2.2 Ontologies and DM
Ontologies have been used in DM domain for different purposes, such as to support information retrieval, data analysis and knowledge discovery.
Regarding the information retrieval, ontologies allow semantic disambiguation with a conceptual representation of the domain. They can focus on the data of interest with precised meaning of text and multimedia data particularly, in relation to the web semantics. Ontologies are used to label data or meta-data. In return, mining algorithms allow now the automatic or semi-automatic annotation of documents (Canito et al., Reference Canito, Marreiros, Corchado, Rocha, Adeli, Reis and Costanzo2019; Chen et al., Reference Chen, Zeng, Chen and Guo2020). When used in association to data sources, ontologies can drive the data extraction in linking the source content to a conceptual view, see for instance the survey by Xiao et al. (Reference Xiao, Calvanese, Kontchakov, Lembo, Poggi, Rosati and Zakharyaschev2018). Regarding the data analysis, ontologies can guide association discovery (Wu et al., Reference Wu, Lin, Tseng and Wu2007), feature selection and knowledge reuse (Phillips & Buchanan, Reference Phillips and Buchanan2001). Regarding knowledge discovery, a dedicated ontology can be fully integrated in the mining methodology, like in Gottgtroy (Reference Gottgtroy2007). In this study, the ontology engineering process supports every step of the knowledge discovery process. However, the data analyst has still multiple choices to make, essentially regarding the data preparation, the selection of the relevant mining techniques, the parameters of these techniques and their evaluation. To support the decisions that are usually made manually during a DM process, the Data Mining OPtimization Ontology (DMOP) in Keet et al. (Reference Keet, Ławrynowicz, d’Amato, Kalousis, Nguyen, Palma, Stevens and Hilario2015) proposes DM concepts such as DM tasks and DM algorithms. For instance, a DM algorithm is described by its characteristics to specify its use of a random component or its tolerance to class imbalance. However, no study that organizes all of the methodological concepts used in the mining process was found.
2.3 Systematic mapping on agent mining
To perform the systematic study on which the study presented in this paper is based on, an investigation process according to Petersen’s work was followed (Petersen et al., Reference Petersen, Vakkalanka and Kuzniarz2015). The research goal (organized based on Reference Basili, Caldiera and RombachBasili et al. (1994)) is defined as: to analyze agent mining domain with the purpose of characterizing regarding the used approaches, characteristics and application domain from the point of view of software engineering researchers in the context of computer science domain.
Based on this goal, the research protocol was defined, including research questions, search string, inclusion and exclusion criteria, database and tool support as summarized in Table 1. As can be noted, the main research question was how are the agents and DM combined: is mining using agent(s), agent(s) using mining, integration of agent and mining, or otherwise. This protocol was executed twice: one in January 2019 and the second one in July 2020 (including papers after 2019). In total, 3384 were selected from the databases applying the research string, and from that 1634 were analyzed after applying the removal of duplicates and all inclusion and exclusion criteria. Figure 1 presents the distribution of articles in each category. The results of the systematic mapping study can be found in Grislin-Le Strugeon et al. (Reference Grislin-Le Strugeon, Oliveira, Thilliez and Petit2021).
Research protocol from Grislin-Le Strugeon et al. (Reference Grislin-Le Strugeon, Oliveira, Thilliez and Petit2021)

The focus in this paper concerns the 14% of the studies that present integration of agent and mining. That corresponds to 121 articles, where 96 comes from the first execution of the protocol in 2019 and 25 from the second execution. Therefore, the articles resulting from the first selection were used for the definition of the ontology and the articles from the second selection to corroborate this definition.
3 Exploring agent mining approaches: the methodology
As previously defined, the main goal of this research is to identify which approaches (model, architecture, technique and so on) have been used in the design of agent mining applications. To identify the approaches and to what purpose they are used, a deep reading of the 96 papers selected from the first execution of the research protocol (see previous section) was performed.
To guide the reading of the papers, a data extraction form (Table 2) was elaborated. In this form, inspired on open coding procedure from ground theory methodology (Strauss & Corbin, Reference Strauss and Corbin1998), codes should be defined to a portion of data extracted from the paper for the identification of the problem being addressed by the paper and the proposed approach.
Answers for the main research question: How are agents and data mining combined? (adapted from Reference Grislin-Le Strugeon, Oliveira, Thilliez and PetitGrislin-Le Strugeon et al. (2021)).

Extraction form

With the data form and the set of 96 papers, the researchers started the reading and extracting data from the papers individually (Figure 2). Each paper was read and data extracted by one researcher and then the extraction was peer-reviewed. Biweekly meetings were held for discussion among researchers and alignment of interpretations and definitions of codes. After the data extraction from of all the papers, the researchers started another cycle of meetings.
In a first meeting, the researchers read all filled forms to review what was extracted. The papers were grouped, firstly considering the same code approach (e.g. all papers that proposed some model or algorithm). Then, a post-it noted with the name of the main category of approach (in this example, model and algorithm) was set. Then, an analysis of all extracted data about the proposed approaches was performed. The goal was to identify the different kinds of the corresponding approach (in the example, different kinds of models or algorithms) in a way that the approaches could be refined and organized in a hierarchy. When necessary, the researchers came back to the source, re-reading the paper.
In the same way, the researchers repeated these two steps: (1) identifying and grouping by category and (2) refining the category concepts considering the data presented in the papers. At this moment, the focus was on the following parts of the extraction form: the application domains, the problem and its coding, the approach and its coding (see Table 2).
4 An ontology of agent mining approaches
There are several methodologies to design an ontology (e.g. (Grüninger & Fox, Reference Grüninger and Fox1995; Noy & McGuinness, Reference Noy and McGuinness2001; Lopez et al., Reference Lopez, Gomez-Perez, Sierra and Sierra1999). All of them consider basically the following steps: definition of the ontology purpose, conceptualization, formalization and validation. The ontology defined in this paper followed in general those steps.
The purpose of this ontology is based on our research goal, that is, to establish a common conceptualization regarding the approaches used in the design of agent mining applications based on the analysis of literature (set of 96 papers) that present agent mining solutions. It is important to highlight that the resulting ontology represents the knowledge acquired from those papers.
The conceptualization represents the knowledge modelling itself focusing on the definition of concepts, relations and constraints (axioms). Considering the ontology purpose, all data extracted from the papers and recommendations from ontology methodologies (Grüninger & Fox, Reference Grüninger and Fox1995; Noy & McGuinness, Reference Noy and McGuinness2001). The ontology is organized according to Competency Questions (i.e., requirements in the form of questions that the ontology must answer), as follows:
CQ1 – How are the agent mining approaches characterized?
CQ2 – What kind of problem has agent mining been applied to?
CQ3 – For which application domains agent mining has been used?
CQ4 – Which are the approaches (model, architecture, technique and so on) used in agent mining?
Note that these questions refer strictly to the paper set examined in this study. For instance, the Competency Question 1 (CQ1) must be understood as: How are the agent mining approaches characterized in the papers included in the study set? This paper does not pretend to present an exhaustive representation of the agent mining studies. However, given its size, the studied set is likely to provide some knowledge of interest for the agent mining designers. Moreover, the competency questions are aligned with the information required in the data form (see Table 2) and vice versa to ensure that the ontology can be defined: CQ1 will be answered with the information from (d), (e) and (i); CQ2 with the information from (g) and (h); CQ3 from (f) and CQ4 from (i) and (j).
For the formalization, ontology editor and framework Protégé v5.5Footnote 1 (Musen & The Protégé Team, 2015), with OWL were used. Finally, for validation, a data-driven evaluation technique (Brank et al., Reference Brank, Mladenić and Grobelnik2006) was performed by instantiating the ontology with real instances collected in the analyzed papers and new ones from the mid-2020 collection.
4.1 Conceptualization and formalization
In the following section, the ontology conceptualization and formalization are presented by answering each of the four competency questions on the basis of the publication set.
Qualitative analysis process.

Elements of the agent mining approaches.

4.1.1 CQ1 - How are the agent mining approaches characterized?
The basic definitions of agent mining were considered to answer the first Competency Question (CQ1 – How are the agent mining approaches characterized?). Although agent mining is not a well-defined research topic, the researchers consider that a study belongs to the agent mining area if it includes both agent and mining parts. As explained in Cao et al. (Reference Cao, Luo and Zhang2007), there are three types of agent-mining interaction: (i) when agent(s) uses DM solutions, (ii) when DM uses agent(s) for instance to improve parts of the mining process or (iii) when agent and mining solutions are integrated, both contributing to a common purpose. In this paper, the focus is on the third type. Therefore, any AgentMiningApproach is composed of two main kinds of elements (Figure 3 Footnote 2 ): agent-related components and mining-related elements. Moreover, any agent mining approach includes at least two elements, one of each kind.
Several object properties were set to represent the connection between classes. Part-whole relations were formalized according to W3C (11 Aug 2005). All concepts of the ontology were defined in a glossary based on the analyzed papers. The following (software-specific) first-order logicFootnote 3 expressionsFootnote 4 were defined:
AgentMiningApproach hasPart only (MiningRelatedElement or AgentRelatedComponent)
AgentMiningApproach hasPart some (MiningRelatedElement and AgentRelatedComponent)
MiningRelatedElement PartOf_directly some AgentMiningApproach
AgentRelatedComponent PartOf_directly some AgentMiningApproach
AgentRelatedComponent integratedWith some MiningRelatedElement
MiningRelatedElement integratedWith some AgentRelatedComponent
Note that :
the word only is equivalent to the universal quantifier, denoted by
$\forall$
. It indicates that any instance of the class, AgentMiningApproach, has a relationship along the specified property hasPart only to instances that are members of the class AgentRelatedComponent or MiningRelatedElement.the word some here is equivalent to the existential restriction, denoted by
$\exists$
. For example, it indicates that any instance of the class AgentRelatedComponent participates in at least one relationship along the specified object property integratedWith to instances that are members of the class MiningRelatedElement.
The MiningRelatedElement and AgentRelatedComponent differ in nature. Indeed, MiningRelatedElement is defined by its functional aspect, that is, the description of a process or an algorithm related to the mining function, whereas AgentRelatedComponent is fundamentally defined by its compositional aspect, that is, the presence of one or several agents.
Every MiningRelatedElement is either a MiningProcess or a MiningAlgorithm, see Figure 4. A MiningProcess is a process that contributes to the discovery of data. A MiningAlgorithm is an algorithm that contributes to the discovery of data, generally using a more detailed or formal expression than a process. These concepts are detailed in Section 4.1.4.
Concepts of the mining-related elementsFootnote 5 .

Every AgentRelatedComponent is either a single agent or a set of agents (see Figure 5), where Agent is a software component of the system that shows a certain autonomy in its behaviour (AgentBehavior). Several works on agent mining are developed using only one Agent. For instance, in Pulmano & Estuar (Reference Pulmano and Estuar2016) one agent performs continuous learning to provide diagnostic results in a medical care service. In another work, the single agent in Sateli & Witte (Reference Sateli, Witte, McCrae, Hellmann, Buitelaar, Gracia, Bond and Chiarcos2017), called ‘semantic research agent’, learns the user’s topics of interest and formulates queries on databases. However, a large majority of the works includes two or more agents composing an AgentSet (86 of 96 papers). In these papers (such as Moemeng et al. (Reference Moemeng, Cao and Zhang2008), Gerardo & Lee (Reference Gerardo and Lee2009), Gorodetsky et al. (Reference Gorodetsky, Karsaev and Samoilov2005), Pinzón et al. (Reference Pinzón, De Paz, Herrero, Corchado, Bajo and Corchado2013) Saadi & Chaoui (Reference Saadi, Chaoui, El Mohajir, El Mohajir, Chahhou and Al Achhab2017) and Reference Garcia-Sanchez, Tomas Fernandez-Breis, Valencia-Garcia, Miguel Gomez and Martinez-BejarGarcia-Sanchez et al. (2008)), multiple agents interact and contribute to the DM. Several agents grouped in an AgentSet can perform a simulation (AgentBasedSimulation). In this case, the agents are used to simulate the dynamics of a distributed system, generally to produce emergent states that are difficult to anticipate by other methods due to the interaction between interdependent entities. AgentBasedSimulation can thus be used as an agent mining model, described in Section 4.1.4, to produce predictions (De Arruda et al. Reference De Arruda, Silva and Costa2017; Kaschesky et al. Reference Kaschesky, Sobkowicz and Bouchard2011).
Concepts of the agent-related components.

Several object properties were set to represent the connection between those defined classes (Figure 5), as follows:
AgentRelatedComponent shows only AgentBehavior
AgentSet hasPart min 2 Agent
AgentBasedSimulation isSimulated by only AgentSet
AgentBasedSimulation isSimulated by some AgentSet
When the interaction is structured according to an interaction mechanism, the agent set is often called a MAS (MultiAgentSystem). For example, in Gorodetsky (Reference Gorodetsky2013) a multi-agent architecture is proposed for anomaly detection, including two agents: Agent of network traffic-based Alert (NTA-agent) and Alert Correlation agent (AC-agent). Another example of MultiAgentSystem is in Ioniţă & Ioniţă (Reference Ioniţă and Ioniţă2013) where several agents contribute to the DM process (IDS Data Gathering Agent, Classification Agent, Decision/Action Agent, Alarm Generation Agent, Configuration Agent). The interaction method can be specified according to defined communication (AgentCommunication), coordination (AgentCoordination) and/or organization (AgentOrganisation) structures (see Figure 6).
Concepts to define multi-agent interaction mechanisms in agent mining approaches.

When specified, the AgentCommunication is often based on message passing, where agents communicate by sending individual messages to each other. This can be formalized by a define protocol (CommunicationProtocol), as shown, for instance, in Sinnappan et al. (Reference Sinnappan, Williams and Muthaly2001), Ponte et al. (Reference Ponte, De La Fuente, Pino and Rosillo2015) and Reference Liu, Niu, Yang and ShengLiu et al. (2009)). The papers present two kinds of AgentCoordination as follows:
competition (AgentCompetition), when the agents have distinct goals and compete for resources. In some of the competition cases, the agents negotiate to make joint decisions, while they pursue different goals. One example of AgentNegotiation is given in Gorodetsky et al. (Reference Gorodetsky, Karsaev, Samoylov and Serebryakov2008) where seven agents communicate asynchronously by message passing according to a protocol and apply a strategic negotiation.
cooperation (AgentCooperation), when the agents contribute to a common goal. For example in Ghedini Ralha & Sarmento Silva (Reference Ghedini Ralha and Sarmento Silva2012), Haider et al. (2009) and Kotova (Reference Kotova2017), the global task is divided into subtasks to be distributed among the agents, taking into account the resources available and the skills of the agents.
Note that the specific mechanism or technique is not always detailed in the paper. In such cases, instead of adding a ‘miscellaneous’ category, it was decided that the higher level category should be used (e.g. AgentCoordination when the exact kind of coordination is not known).
Lee & Park (Reference Lee and Park2005), Pinzón et al. (Reference Pinzón, De Paz, Herrero, Corchado, Bajo and Corchado2013), Santos Jr. & Johnson Jr. (2004), Xue et al. (Reference Xue, Guo, Zhang and Kang2009), Bajo et al. (Reference Bajo, Campbell and Zhou2016) and Gago et al. (Reference Gago, Santos, Silva, Cortez, Neves and Gomes2005) propose an AgentOrganisation defined by several Rules. The organizational rules define constraints on agent behaviour and their interactions. At the analysis level, this equates to restrictions on the roles an agent may play or how an agent may interact with other agents. For example, in Gago et al. (Reference Gago, Santos, Silva, Cortez, Neves and Gomes2005) inference rules called ‘bridge rules’ defining the interaction among the system components (the agents) describe the agents’ reactions to events occurring in their environment. Several object properties were set to represent the connection between these defined classes (Figure 6), as follows:
MultiAgentInteractionMechanism partOf_directly some MultiAgentSystem
OrganisationalRule partOf_directly some AgentOrganisation
4.1.2 CQ2 – What kind of problem has agent mining been applied to?
To answer the second Competency Question (CQ2 – What kind of problem has agent mining been applied to?), the problem description and its coding (see Table 2 – (g) and (h)) were analyzed for all papers, following the procedure presented in Figure 2 right side. As a result, a taxonomy of problem domain (AgentMiningProblem) was defined in Figure 7. Four main kinds of problem were identified: DataVisualisationProblem, InformationRetrievalProblem, DataManagementProblem and DataAnalysisProblem. DataIntegration was defined as a specific kind of DataManagementProblem.
Taxonomy of problems addressed by agent mining approaches.

Moreover, DataAnalysisProblem is applied for different purposes, as follows:
for profiling (DataAnalysisForProfiling)—to record and analyze behavioural characteristics, so as to assess or predict their capabilities in a certain sphere, or to assist in identifying categories of people (see, for instance, Mgbemena & Bell (Reference Mgbemena and Bell2016), Matei et al. (Reference Matei, Di Orio, Jassbi, Barata and Cenedese2016) and Lee & Park (Reference Lee and Park2005)),
for decision making (DataAnalysisForDecisionMaking)—to identify and choose alternatives based on the values and preferences. Every decision-making process produces a final choice, which may prompt action (e.g. Islam (Reference Islam, Ong, Li and Gao2007), Kularbphettong et al. (Reference Kularbphettong, Meesad and Clayton2012) and Reference Kwon, Kim and YoonKwon et al. (2004)),
for simulation (DataAnalysisForSimulation)—to test, in a modelling environment, scenarios with varying starting conditions assess and characterize their likely outcome (e.g. Izumi et al. (Reference Izumi, Matsui and Matsuo2007), Jayyousi & Reynolds (Reference Jayyousi and Reynolds2014) and Li & Lin (Reference Li and Lin2012)),
for prediction (DataAnalysisForPrediction)—to extract information from data and use it to predict trends and behaviour patterns (e.g. Haider et al. (2009), Kwon et al. (Reference Kwon, Kim and Yoon2004) and Pulmano & Estuar (Reference Pulmano and Estuar2016)),
for optimization (DataAnalysisForOptimization) – to take the most efficient decisions by way of determining a satisfactory solution (e.g. Chen & Chen (Reference Chen, Chen, Yan, Zhong, Lu, Wu, Qiu and Hu2017), Eugin Lilly & Venkataraman (Reference Eugin Lilly and Venkataraman2013) and Reference Liu, Niu, Yang and ShengLiu et al. (2009)),
for detection (DataAnalysisForDetection)—to identify and filter noises, frauds and anomalies (e.g. Kusumura et al. (Reference Kusumura, Hijikata and Nishida2004), Esfandi (Reference Esfandi2010) and Reference Dahl, Barahona, Bel-Enguix and KrippahlDahl et al. (2010)),
for negotiation (DataAnalysisForNegotiation)—to generate future arguments, to evaluate alternative arguments and to improve process of argumentation using contextual information (e.g. Islam (Reference Islam, Ong, Li and Gao2007)),
for personalization (DataAnalysisForPersonalisation)—to adapt the output of a system to a specific user, her context and profile (e.g. Cobos et al. (Reference Cobos, Niño, Mendoza, Fabregat and Gomez2007), Loia et al. (Reference Loia, Pedrycz, Senatore and Sessa2007) and Oskouei & Moradi-Kor (Reference Oskouei and Moradi-Kor2016)).
The following properties apply to the problem-related concepts:
AgentMiningApproach isAppliedFor only AgentMiningProblem
AgentMiningApproach isAppliedFor some AgentMiningProblem
4.1.3 CQ3 – For which application domains agent mining has been used?
The same procedure was followed to answer the third Competency Question (CQ3 – For which application domains agent mining has been used?) resulting in a taxonomy of application domains. Indeed, even if few papers are purely theoretical and if application system or result is not always presented, almost all of the papers propose at least one type of application for the proposed approach.
The AgentMiningApplicationDomain represents the domain the approach is meant for. There are previous taxonomies of application domains, for example, the taxonomy by Kotonya et al. (Reference Kotonya, Sommerville and Hall2003). The taxonomy presented here is specific to the agent mining area and non-exhaustive: it includes all and only the domains found in the studied set of documents (Figure 8).
Taxonomy of agent mining application domains.

SoftwareEngineering is the most represented domain. Indeed, when an approach was proposed to improve a DM method or a new system architecture, it was classified in the SoftwareEngineering domain, subclass of the ComputerScienceDomain. Otherwise, the most represented domains are the Education, the ISSecurity and the Marketing domains. The Education, classified in the HumanitiesDomain, appears mainly in studies where the approach is applied to e-Learning and tutoring systems as in Oskouei & Moradi-Kor (Reference Oskouei and Moradi-Kor2016) and Rosé & Ferschke (Reference Rosé and Ferschke2016). The ISSecurity (Information System Security), which combines elements from the ComputerScienceDomain and the Security domain, includes, for example, all the studies where the approach is applied to intrusion detection (Silva & Ralha, Reference Silva and Ralha2011). The Marketing domain, subclass of the CommercialDomain, includes for instance the approaches used to increase the sales on the basis of customer profiling (Kularbphettong et al., Reference Kularbphettong, Meesad and Clayton2012).
Most applications domains are disjoint but some concepts combine different elements, such as the ISSecurity previously cited and the SocialNetworks defined as subclass of both the DistributedSystems to represent its technical aspects and the HumanitiesDomains to represent its social aspects. In addition, several papers mention more than one application domain. For example, Lee & Park (Reference Lee and Park2005) combine ComputerScienceDomain and CommercialDomain.
The following properties apply to the application domain concepts:
AgentMiningApproach isAppliedIn only AgentMiningApplicationDomain
AgentMiningApproach isAppliedIn some AgentMiningApplicationDomain
4.1.4 CQ4 – Which are the approaches (model, architecture, technique and so on) used in agent mining?
Finally, to answer the fourth Competency Question (CQ4 – Which are the approaches (model, architecture, technique and so on) used in agent mining?) the data extracted from the papers were analyzed and organized first in main categories and then refined in a specific taxonomy. Three main concepts that support the description of the approaches (Figure 9): AgentMiningProcess, AgentMiningModel and AgentMiningAlgorithm were identified. For each of these concepts, a specific taxonomy was defined.
Main concepts to describe the agent mining approaches.

AgentMiningProcess taxonomy.

The following properties apply to describe the approach concepts:
AgentMiningApproach follows only AgentMiningProcess
AgentMiningApproach follows some AgentMiningProcess
AgentMiningApproach isRepresentedBy only AgentMiningModel
AgentMiningApproach isRepresentedBy some AgentMiningModel
AgentMiningApproach applies only AgentMiningAlgorithm
AgentMiningApproach applies some AgentMiningAlgorithm
AgentMiningProcess . A AgentMiningProcess is an orderly set of steps to follow to achieve the mining operation. Figure 10 presents the different kinds of processes identified, according to the element(s) concerned by the process:
methodological (MethodologicalProcess) can represent a methodology either to perform the data processing (AnalysisProcess) (Mgbemena & Bell, Reference Mgbemena and Bell2016)), to evaluate the performance of the system (EvaluationProces) (Dimou et al., Reference Dimou, Symeonidis and Mitkas2007) or to design the agent system (SystemEngineeringProcess) (Cobos et al., Reference Cobos, Niño, Mendoza, Fabregat and Gomez2007; Liu et al., Reference Liu, Niu, Yang and Sheng2009);
process related to agents (AgentProcess) describing the steps conducted by agents, either for decision making (DecisionMakingProcess) (Wang et al., Reference Wang, Niu, Li, Yang and Shi2012; Liu et al., Reference Liu, Niu, Yang and Sheng2009) negotiation (NegotiationProcess) (Garcia-Sanchez et al., Reference Garcia-Sanchez, Tomas Fernandez-Breis, Valencia-Garcia, Miguel Gomez and Martinez-Bejar2008; Dos Santos & Bazzan, Reference Dos Santos and Bazzan2005) and/or collaboration (CollaborativeProcesses) (Shih et al., Reference Shih, Chiang and Lin2008; Pedrycz & Rai, Reference Pedrycz and Rai2008), (Pi et al., Reference Pi, Wang, Li and Lv2005);
process for the mining (MiningProcess) describing the procedures for mining, mainly learning (LearningProcess) (Kadhim et al., Reference Kadhim, Alam and Kaur2016; Duarte & Julia, Reference Duarte, Julia, Esposito, Alamaniotis, Mali and Bourbakis2017), detection (DetectionProcess), information discovery (InformationDiscovery) (Aridor et al., Reference Aridor, Carmel, Maarek, Soffer and Lempel2002; Hamdi, Reference Hamdi2007).
The following properties apply to the process concept:
AgentProcess describesBehaviorOf only AgentRelatedComponent
MethodologicalProcess refersTo some (AgentRelatedComponent or MiningRelatedElement)
MethodologicalProcess disjoint withFootnote 6 AgentProcess and MiningProcess
AgentMiningModel . Figure 11 presents the taxonomy of models with the AgentMiningModel concept. A AgentMiningModel can be a representation of a AgentMiningElement, an object used by a AgentMiningElement or an interaction between several AgentMiningElement. The models are distinguished according to their form, more or less formal.
AgentMiningModel taxonomy.

Formal models (AgentMiningFormalModel) are mostly represented using Logics (e.g. Wang et al. (Reference Wang, Niu, Li, Yang and Shi2012), Reference Dahl, Barahona, Bel-Enguix and KrippahlDahl et al. (2010)); sometimes in the context of GameTheory (e.g. Abdelrahman et al. (Reference Abdelrahman, Bahgat and Farag2011), Reference Liu, Merrick and AbbassLiu et al. (2017)), used by agent systems to perform reasoning. GameTheory supports especially agent competitions.
Semi-formal models (AgentMiningSemiFormalModel) often use UML diagrams, mostly UseCaseDiagram (e.g. Samoylov & Gorodetsky (Reference Samoylov and Gorodetsky2005), Gerardo & Lee (Reference Gerardo and Lee2009)) and SequenceDiagram (e.g. Xue et al. (Reference Xue, Guo, Zhang and Kang2009), Dos Santos & Bazzan (Reference Dos Santos and Bazzan2005)). Among the semi-formal models, Graph (e.g. Thanawala & Joshi (Reference Thanawala and Joshi2017), Šlapák & Neruda (Reference Šlapák and Neruda2014)), Flowchart (e.g. Sadhasivan & Balasubramanian (Reference Sadhasivan and Balasubramanian2017); Reference Moemeng, Wang and CaoMoemeng et al. (2012)) and OntologyDiagram (e.g. Sateli & Witte (Reference Sateli, Witte, McCrae, Hellmann, Buitelaar, Gracia, Bond and Chiarcos2017), Gorodetsky (Reference Gorodetsky2013)) can be also found. Agent communication can be described using the well-known language KQML and also included as a semi-formal model (KQML_Model) (e.g. Jiang et al. (Reference Jiang, Mair and Feng2007), Reference Yang, Feng and SongYang et al. (2007)).
The less formal models are SpecificInformalModel proposed by the authors with specific representations. For instance, some papers present a generic illustration, here named GlobalSystemArchitecture, where all elements of the approach (agents and mining elements) are organized to show how they are associated or how they interact (see, for instance, Silva & Ralha (Reference Silva and Ralha2011), Pultar et al. (Reference Pultar, Raubal and Goodchild2008), Fowler & Hammell (Reference Fowler and Hammell2015)). This illustration is represented by a subclass of the SpecificInformalModel.
Some of the AgentMiningModel represent agent(s) behaviour (AgentBehavior). The AgentBehavior defines the behaviour of one or several agents: the activities performed and sometimes the activity sequence or life cycle of the agent(s). The AgentBehavior is explained in Liu et al. (Reference Liu, Merrick and Abbass2017), Pedrycz & Rai (Reference Pedrycz and Rai2008) and Santos Jr. & Johnson Jr. (2004) and can also be more precisely described by an algorithm as in Menczer (Reference Menczer2003).
The following properties apply to the model concept:
AgentMiningModel concerns only AgentBehavior
GameTheoryModel supportsReasoningFor only AgentCompetition
GlobalSystemArchitecture organizes some (AgentRelatedComponent and MiningRelatedElement)
KQML_Model describesCProtocol exactlyFootnote 7 1 CommunicationProtocol
CommunicationProtocol formalizes exactly 1 AgentCommunication
AgentMiningFormalModel disjoint with AgentMiningSemiFormalModel and SpecificInformalModel
AgentBasedSimulation isUsedAs min 1 AgentMiningModel
AgentMiningAlgorithm . An AgentMiningAlgorithm is an orderly set of actions that must be performed to achieve one or several mining steps. Figure 12 presents the taxonomy of AgentMiningAlgorithm that can be of two kinds according to the concerned AgentMiningElement, as in the process taxonomy.
AgentMiningAlgorithm taxonomy.

The first one represents the algorithms related to the mining parts (MiningAlgorithm) (e.g. Fowler & Hammell (Reference Fowler and Hammell2015), Ioniţă & Ioniţă (Reference Ioniţă and Ioniţă2013)). These algorithms were classified according to their objective: Extraction (i.e. access and retrieval of data) (e.g. De Arruda et al. (Reference De Arruda, Silva and Costa2017), Chen & Plale (Reference Chen and Plale2015)), Classification, Clustering and Association. Three well-known types of algorithms are mostly used for the classification objective: SVM (Pinzón et al., Reference Pinzón, De Paz, Herrero, Corchado, Bajo and Corchado2013), DecisionTree (Oskouei & Moradi-Kor, Reference Oskouei and Moradi-Kor2016) and GeneticAlgorithms (Gaya & Giráldez, Reference Gaya and Giráldez2011). Fuzzy techniques (FuzzyClustering) (Loia et al., Reference Loia, Pedrycz, Senatore and Sessa2007) and density-based clustering (DensityClustering) (Saadi & Chaoui, Reference Saadi, Chaoui, El Mohajir, El Mohajir, Chahhou and Al Achhab2017) are mostly used for the clustering objective. When detailed, the APriori algorithm is generally the association algorithm that is mentioned (e.g. Wang et al. (Reference Wang, Niu, Li, Yang and Shi2012), Reference Mateo, Yoon and LeeMateo et al. (2008)).
The second kind of agent mining algorithm concerns the agents (AgentRelatedAlgorithm), indeed they specifically describe agent behaviours (e.g. Jayyousi & Reynolds (Reference Jayyousi and Reynolds2014), Reference Qiu, Luo and ZhangQiu et al. (2009)). The ant colony (AntColonyOptimization) algorithms (Xu & Yan, Reference Xu and Yan2009) and the Q-Learning (QLearningOptimization) algorithms (Xu et al., Reference Xu, Zhang, Liu and Ferrese2012) are two kinds of agent mining algorithms that are used for optimization. The latter appears both as a MiningAlgorithm and an AgentRelatedAlgorithm.
The following properties apply to the AgentRelatedAlgorithm concept:
AgentRelatedAlgorithm concernsAgComponent some AgentRelatedComponent
AgentRelatedAlgorithm concernsAgComponent only AgentRelatedComponent
AgentRelatedAlgorithm describesAgBehavior some AgentBehavior
AgentRelatedAlgorithm describesAgBehavior only AgentBehavior
AntColonyOptimization isPerformedBy some AgentSet
AntColonyOptimization isPerformedBy only AgentSet
4.1.5 General view of the ontology
Finally, a general view of the ontology is presented in Figure 13 and described as follows:
the problem that is tackled by the approach (AgentMiningApproach);
the domain(s) of application for the approach (AgentMiningApplicationDomain);
the approach elements: agent-related components and mining-related elements (AgentRelatedComponent and MiningRelatedElement);
the model(s) (AgentMiningModel), process(es) (AgentMiningProcess) and algorithm(s) (AgentMiningAlgorithm) in some of the approaches.
General view of the ontology on agent mining approaches.

Considering the knowledge acquired during the analysis, some additional object properties and constraints presented in Table 3 were defined. All concepts were defined in a data glossary. Table 4 presents an extract of this glossary for the concepts presented in Figure 13.
Other constraints (axioms)

Extract of Data Glossary

4.2 Validation
To validate the defined ontology, the articles on agent mining selected from the systematic mapping were considered to create instances for all defined ontology classes, which means all elements presented in the article (i.e. its domain application, algorithm, models, process and so on) were considered to instantiate the related concepts in the ontology.
Firstly, the concepts have been instantiated considering the 96 articles from the first execution of the protocol (see Section 2.3) and that were used for the definition of the ontology (see column #1st in Table 5). In this way, instances are defined for all classes, what was expected since the ontology is defined based on the 96 articles. This instantiation process enables to confirm that all the defined classes are really based on a published research.
Number of instances for each concept from articles selected in the first(1st) and (2nd) execution of the protocol

Then, the 25 papers selected from the second execution of the protocol (after 2019) have been used to instantiate the concepts (see column #2nd in Table 5). Of course, in that case, all the defined ontology classes are covered since the instantiation is based on a limited set of papers. However, it confirmed that all approaches used in those 25 papers could be instantiated with the ontology, which corroborates that it represents a good conceptual representation of the approaches used for agent mining design and implementation. This validation step confirms also that the main concepts of the ontology (at the top of the taxonomies presented in Figures 3, 4, 5 and 13) are instantiated.
Some results that can be highlighted from Table 5 are :
regarding MiningRelatedElement, mining algorithms are largely presented in the papers (86/96 from the first set of papers and 21/25 from the second set). Moreover several papers present both MiningAlgorithm and MiningProcess, for instance Yu et al. (Reference Yu, Zheng, Wu, Guo, Gong and Lai2019), Zhao et al. (Reference Zhao, Cai and Turner2018) and Zhang (Reference Zhang2018);
regarding AgentRelatedComponent, most of the papers present the use of several agents (86 papers in the first set and 20 papers in the second set), while some papers present the use of a unique agent (for instance, Atto & Kotova (Reference Atto and Kotova2019), De Souza et al. (Reference De Souza, Vilasbôas, Notargiacomo and De Castro2019) and Reference Yu, Zheng, Wu, Guo, Gong and LaiYu et al. (2019)). When the study includes several agents, these are generally described as a MAS, with 8 exceptions in the first set of papers and 2 in the second, mainly in agent-based simulation (e.g. Mgbemena & Bell (Reference Mgbemena and Bell2016), Reference Liu, Merrick and AbbassLiu et al. (2017));
the main problem addressed is the data analysis (named DataAnalysisProblem) in both sets of articles. In particular, the data analysis for detection (DataAnalysisForDetec- ion) and the data analysis for optimization (DataAnalysisForOptimization) are well represented: respectively 14 and 17 instances. For example, in Sethi et al. (Reference Sethi, Sai Rupesh, Kumar, Bera and Madhav2019), an instance of DataAnalysisForDetection is presented to prevent and detect intrusions in enterprise network. In Chen & Chen (Reference Chen, Chen, Yan, Zhong, Lu, Wu, Qiu and Hu2017), an instance of DataAnalysisForOptimization is described to optimize scheduling;
almost all articles are applied to a specific domain (AgentMiningApplicationDomain). The application domain that is the most represented in the articles from the 1st set is some sub-domain from ComputerScienceDomain. However, in the 2nd set the SecurityDomain is the most applied domain. In ComputerScienceDomain,Calpur2018DomainSC presents an example of solution focused on human computer interaction, specially on natural language processing. SecurityDomain is well represented in Tangod & Kulkarni (Reference Tangod and Kulkarni2020), Thanudas et al. (Reference Thanudas, Shridharan, Raj, Sairam, Gajmoti and Joshi2019), Yang et al. (Reference Yang, Li, Liang, He and Zhao2019);
AgentMiningAlgorithm, AgentMiningModel and AgentMiningProcess can be found in several papers. Some papers even include instances for each of these three concepts (e.g. Larsen et al. (Reference Larsen, Burattin, Davis, Hjardem-Hansen and Villadsen2019), Roldán et al. (Reference Roldán, Olivares-Méndez, del Cerro and Barrientos2018), Reference Sethi, Sai Rupesh, Kumar, Bera and MadhavSethi et al. (2019));
finally, the use of an illustrative and informal figure of the global system (named GlobalSystemArchitecture) is very common: 46 instances from 96 papers during the first round and 13 from 25 in the more recent papers. Good examples of GlobalSystemArchitecture can be found in Aksvonov & Antonova (Reference Aksvonov and Antonova2018) and Xu et al. (Reference Xu, Yao, Li, Ji and Tang2020).
For a better view, the article (Tounsi et al., Reference Tounsi, Anoun and Hassouni2020) can be used as a complete example including instances of the ontology concepts, from the addressed problem to the elements used for the system design. The paper (Tounsi et al., Reference Tounsi, Anoun and Hassouni2020) presents a software system to address a credit scoring problem, based on specialized agents that perform data pre-processing and mining. To that end, the authors describe the solution using the following elements represented in the ontology:
one instance of the concept AgentMiningApplicationDomain and more specifically of the concept FinancialDomain;
instances for the concepts DataIntegration, DataAnalysisForPrediction and DataAnalysisForDetection;
one instance of the concept MethodologicalProcess: a CRISP-DM (Cross-Industry Standard Process for Data Mining) methodology extension for Credit Scoring is described;
one instance of the concept AgentCoordination: several types of agent and the coordination between them are detailed;
instances of the concept SpecificInformalDiagram: informal diagrams are used to explain the CRISP-DM framework, in addition to a GlobalSystemArchitecture detailing the different layers of the system general architecture.
5 Threats to validity
According to Wohlin et al. (Reference Wohlin, Runeson, Höst, Ohlsson, Regnell and Wesslén2012), four threats to validity should be considered in software engineering studies: construct validity, internal validity, conclusion validity and external validity.
Threats to the construct validity illustrate the relation between theory and observation. It must be assured that (a) the treatment (information extracted from the articles) adequately reflects the construct (in this study: the articles) and (b) the outcome (final model obtained from the analysis of the competency questions introduced in Section 4) adequately reflects the effects of the construct. This threat is associated with the appropriate extraction of the information from the articles and is limited by the used set of articles. To address (a) a specific data extraction form was developed to extract the information, and the exact transcription of the content of the article was required to support the comprehension and analysis by all researchers. Periodical meeting to discuss what was extracted for each required information assured the correct identification of the treatment. To address (b), the competency questions (CQ) and the data form used for data extraction (see Section 3) were defined consistently, that is, the selected data should answer the CQs and these in turn should correspond to the collected data required in the data form as explained in Section 4. Moreover, after having defined the complete ontological model, all articles were used to instantiate the model assuring that the final model (b) represents the construct.
Threats to the internal validity draw from influences that can affect the independent variables with respect to causality without the researchers’ knowledge. In a study based on a systematic mapping, this threat is related to the possibility to miss some studies in the set of paper considered for this analysis. Moreover, the natural bias the researchers can have in selecting the papers can influence also the results. First of all, since only two databases were used for the systematic mapping, some studies may have been missed, which may imply incomplete results. Nevertheless, SCOPUS and Web of Science are recognized for indexing different journals, conferences and workshops in computer science. Moreover, considering the large number of articles analyzed in the systematic mapping (3384) that allow to select the articles for this study, the set of 121 articles can be considered quite representative of the domain; therefore, this risk was accepted. Researcher bias may have appeared during the selection and data extraction not only because of differences in interpretation but also because the researchers have different levels of experience in the two fields of study (agents and DM). Several actions were undertaken to mitigate this threat. First, in the article selection step, several trials were performed to harmonize understanding about what should be collected. Periodical discussions about the doubtful articles were also held. Moreover, a well-defined protocol and process can lead to consistency studies. Finally, peer-review of the data extraction was performed, contributing to mitigate this risk.
Threats to the conclusion validity are those that affect the ability to draw the correct conclusion about the relation between the treatment and the outcome of the study. In this study, this threat concerns the final model itself (the concepts and relationship between concepts) and the treatment (the information collected from the papers). As presented in the previous section, the conclusion was drawn from data analysis, systematically retrieved from data collected from a systematic mapping study, ensuring a high degree of traceability between data and conclusions as shown in the validation section. However, like any qualitative study, a significant threat is the interpretation bias. To reduce such bias, several meetings with the participation of the four researchers had been accomplished aiming to discuss the interpretation of the different concepts extracted from the data as described in the methodological section. From those meetings has emerged the organization of concepts and the choice of how to name these concepts in the ontology model. There is always a risk that the researchers missed some information, however considering that four researchers working on that and several consensual meetings were organized, this risk was accepted. Finally, the meaning of each defined concept was clarified using a data dictionary to avoid any further misinterpretation, mitigating the interpretation bias.
Finally, threats to the external validity are conditions that limit our ability to generalize the results of the experiment outside the scope of the study. This study relies on data analysis from the literature, and the results represent synthesized concepts related to agent mining, as found in the primary sources. Although the results come from the set of articles, the main concepts of the ontology (concerning the top concepts of taxonomies and main concepts presented in Figures 3, 4, 5 and 13) can be used outside of this study, as confirmed by the analysis of new articles (see Section 4.2). However, new concepts can be defined from new papers. Indeed, the 2nd set of articles (25 against to 96 used for the definition) is not large to confirm the generalizability of all concepts since it considered only papers of half a year. Therefore, further instantiation of the ontology may include new sub-classes in the taxonomies, and as consequence, make the model evolve.
6 Conclusion
Emerged from the integration of two large domains (software agents and DM), agent mining software systems have been developed for diverse purposes and applied for several domains. In the absence of a proper methodology, designers have used different approaches to the development of these applications. In this paper, we analyzed 121 articles on agent mining with the goal of identifying the approaches used for the development of agent mining systems. The analysis was performed from an ontological perspective, organizing the approaches and elements of the approaches in an ontology.
The main contributions of this paper are:
an ontology describing the agent mining approaches according to the addressed problems, the application domains, the agent-related and mining-related elements, the models, processes and algorithms. This ontology is formalized in Protégé and is composed of 108 classes, 51 relationships (‘object properties’) and 255 logical axioms;
a set of instances collected from the agent mining studies presented in the 121 analyzed articles; and
a taxonomy of application domains for agent mining solutions. This taxonomy can be further used to complete the largely used classification from Kotonya et al. (Reference Kotonya, Sommerville and Hall2003) with current application domains not considered in 2003.
As future work, we plan to develop a recommendation system to support agent mining designers in choosing the right approach considering the problem and the application domain to tackle. This recommendation system will be developed on top of the ontology and its instances collected from published studies. The ontology and the instances would be used as a data repository to query the best approach for the problem domain on hand. The ontology can also be used to support the definition of guidelines for agent mining design. Finally, there is no specific model for the design of agent mining systems. This could be explored in a further research considering the 46 propositions of general architecture model presented in the studies.
Competing interests
The authors declare none.
Acknowledgments
This work was conducted using the Protégé resource, which is supported by grant GM10331601 from the National Institute of General Medical Sciences of the United States National Institutes of Health.

















