Publication Date

Spring 5-20-2016

Degree Type

Master's Project

Degree Name

Master of Science (MS)


Computer Science

First Advisor

Jon Pearce

Second Advisor

Robert Chun

Third Advisor

Thomas Austin


This thesis begins by defining agent based modeling. Agent based models are used to model the emergent behavior of complex systems with many interacting components, known as agents. Several model examples are given using NetLogo, which is a popular agent-based modeling platform. A model of concurrent computation is described that uses message passing as the only form of communication between the model’s components, which are called actors. The model is called an actor model. Actors are primitive objects of concurrency in an actor model. In particular, we describe the actor model implemented by Akka, which is Scala’s new actor library. To explore the relationship between actors and agents, we develop an agent based modeling framework called Hive. Hive is inspired by NetLogo. Like NetLogo, Hive is implemented in Scala and uses actors to represent agents. Unlike NetLogo, which uses Scala’s deprecated actor library, Hive uses Scala’s new Akka library.