What One Can Learn from Extracting OWL Ontologies from a NetLogo Model That Was Not Designed for Such an Exercise

J. Gary Polhill's forum paper in this issue was an invitation to try the OWL extension on a model that was written more than a year ago. Download and installation was a matter of a few minutes, extending the old model with a few lines as shown in the paper was not a problem either, visualising the OWL output with different versions of Protégé was a little more difficult, but in the end showed interesting suggestions how to improve the original version of the NetLogo model.

J. Gary Polhill's forum paper in this issue was an invitation to try the OWL extension on a model that was written more than a year ago (Polhill 2015).The candidate used for testing the OWL extension was a NetLogo model written for the GLODERS project and published in Troitzsch (2015) in which an artificial society is described with criminals of the mafia type, their victims (shops and their owners), consumers who buy from these shops, and the police prosecuting the criminals.For the sake of being used as a test site for the owl extension no more than about ten lines of codes where necessary after successful download of the OWL extension and of Protégé.Both the structure and state files were produced and used as input to Protégé.The remainder of the paper first gives some more details of the model, then shows the results and in the end discusses suggestions to improve the model which can be derived from the results of the extracted ontology.
The model

2.1
The main agent types of the ARDERS model are the extorters, the targets, consumers, and police.Extorter agents threaten target shop agents, asking for extortion and announcing punishment in case extortion is not paid; target agents (shop owners) decide whether to pay extortion (hoping not to be approached by competing extorters) or to denounce the extorter to the police (hoping that they prosecute the criminals); police agents which try to prosecute criminals, send them to jail and confiscate their assets part of which is used to compensate victims for punishment losses; and finally the consumer agents which have a certain preference to buy from shops which never pay extortion and always denounce.Two kinds of relations between agents are expressly modelled as directed links in ARDERS, namely the relations pay and threaten between targets and extorters, and the relations levies-tribute-from and reports-to between extorters, as a competition between extorters for the same target can lead to a subordination of the unsuccessful extorter under the successful one -a consequence of the promise of the successful extorter towards the target to protect the latter against competitors.

2.2
The model is originally visualised in NetLogo's view with targets as little houses (originally blue, but red when they have refused to pay extortion), extorters as persons with medium or larger size, police with NetLogo's police shape, consumers with very small person shapes, and finally -just for illustrative purposes without any influence on the rest of the model -villages marked in different colours and with centres marked as church shapes, whereas the relations are arcs between the individual agents (red and blue for pay and threaten, green and yellow for levies-tribute-from and reports-to), as Figure 1 shows.
http://jasss.soc.surrey.ac.uk/18/2/14.html 1 20/10/2015 The OWL extension together with Protégé 5.0.0 and OntoGraf produced the following ontology: The agent breeds (including the villages and patches) were easily identified as subclasses of the class of things (which in NetLogo is the union of the sets of turtles and patches) -see Figure 2 which shows the two agent classes with their explicitly modelled links in the top half (this graph stems from the structure file) and the agent classes and their members in the lower half (this graph stems from the state file).The members belonging to the consumer class are left out, as they are too many, and the patches class was suppressed with OWL extension option owl:options no-patches (as these are even more than the comsumers).Protégé's legend (top right) shows the colours which it uses for the different relations.Protégé also shows which extorter agents currently extort which target shops (but not in a graph).Additionally, it can also depict the values of all instance variables of all agents: Figure 3 shows the tool tip connected to target_15 with all values of its current instance variables.Lessons learnt for an improvement of the ARDERS model 4.1 Obviously and as described in the section about the model there are more relations between the agent classes than the OWL extension could find out.This does not apply to the location relation, as the OWL extension correctly produces the relations between all members of the turtle breeds and the patches they currently inhabit.But the relation between villages and patches -as it is not explicitly defined in the ARDERS model -and consequently between shops, extorters and consumer on one hand and the villages on the other cannot be detected by the OWL extension.Thus one of the lessons learnt is that one should make these indirect relations explicit in one's model.Something similar applies to the relation between shops and consumers (which is stable for quite a while).
In the ARDERS model, the shops know only how many regular customers they have, but they do not know their identities; the customer agents on the other hand (which seems quite realistic) have an instance variable called my-current-shop which is a direct reference to a target shop (and Protégé knows only the string "target_24" as the value of this variable in customer_210 -if one had modelled this relation with a link breed in NetLogo, the OWL extension would have been able to detect this relation and to deliver it to OntoGraf for another type and colour of a relation arc.The same applies to a relation between extorter and police agents, perhaps the prosecution relation.

4.2
Thus the exercise of extracting an ontology from a NetLogo model and analysing it even in a simple graphical way opened a number of interesting suggestions for a better modelling style in NetLogo.

Figure 1 .
Figure 1.NetLogo view of the ARDERS model

Figure 2 .Figure 3 .
Figure 2. Protégé output from the ontology extracted from the ARDERS model