Page 113 -
P. 113
6 What Software Engineering Has to Offer to Agent-Based Social Simulation 109
Fig. 6.6 Activity diagram for user agent state “compareWithHistory” [drawn with Visual
Paradigm]
Sanction?Dyes / Not Anonymous?”. In the literature we find that using mechanisms
to identify freerides and implement sanctions (social (e.g. gossip) or institutional
(e.g. fines)) reduces the likelihood of further freeriding (Fehr et al. 2002). This is
our justification for adding the action “decrease freeriding” for this case. In the end
we would evaluate our logic flow by discussing it in the focus group.
Defining Interactions
As we saw in Sect. 6.3.5, capturing interactions on a high level can be done using
UML use case diagrams. Capturing interactions in more detail can be done by using
UML sequence diagrams. These can be used to further specify use cases that involve
direct interactions (usually in the form of message passing) between entities (agents
and objects).
In software engineering UML sequence diagrams are used primarily to show
the interactions between objects in the sequential order in which those interactions
occur. Often they depict the actors and objects involved in a specific use case
realisation and the sequence of messages exchanged between the actors and objects
needed to carry out the functionality of the use case realisation. But sometimes
they also capture wider scenarios that go beyond a specific use case. The relevant
components of a sequence diagram are listed in Table 6.8.
In our case, we discussed the technical way of implementing the “observe others”
use case during one of our focus group discussions. Figure 6.7 shows the sequence
diagram we developed during our discussion for this use case. The entities involved