Most crowd simulation research either focuses on navigating characters through an environment while avoiding collisions or on simulating very large crowds. The authors' work focuses on creating populations that inhabit a space as opposed to passing through it. Characters exhibit behaviors that are typical for their setting. They term these populations functional crowds. A key element of this paper is ensuring that the simulations are easy to create and modify. They use roles and groups to help specify behaviors, they use a parameterized representation to add the semantics of actions and objects, and they implemented four types of actions (i.e. scheduled, reactive, opportunistic, and aleatoric) to ensure rich, emergent behaviors.