Structure and Behavioral Analysis with an Analysis Tool

An analysis tool (using JGraphX [1] for visualizations) is suitable for testing, checking, and optimizing an actor system. Such a tool is shown in Fig. 1. The actor system’s internal structure and the actor system’s behavior are shown on the left. The ellipses each correspond to one actor. The numbers at the edges between the actors correspond to the frequency of the exchange of messages. The right representation contains two rings, a hub, and a tuple, linked in the message exchange. The impetus for message distribution is triggered via a timer (marked as system, since implemented from outside the actor system). It might be useful to see what kind of messages are exchanged between the actors.

Representation of the analysis tool for actor4j

Fig. 1: Representation of the analysis tool for actor4j

Colorized Actors linked to Threads

In this example, 16 ring group structures were distributed equally across 16 threads. The ring group members are always belonging to the same thread. The master node of every ring group extends the class ActorWithBothGroups (implements ActorDistributedGroupMember and ActorGroupMember). All other ring members extend the class ActorWithGroup (implements ActorGroupMember).

Representation

Fig. 2: Representation of 16 ring structures with 16 threads

In this example, 16 ring group structures were distributed equally across four threads. This results in four by four ring groups of the same color that belong to the same thread

Representation

Fig. 3: Representation of 16 ring structures with four threads

References

[1] JGraph Ltd (2016). JGraphX. https://github.com/jgraph/jgraphx