ABSTRACT

Domain specific languages (DSLs) are increasingly used to enable subject matter experts in a variety of fields to take advantage of the power and convenience afforded by advancements in computation. A DSL is a language and associated idioms and concepts developed for a specific domain. A DSL can simplify programming in a given domain by focusing on the concepts and constructs relevant to that domain. DSLs can also introduce paradigm changing research methodologies into areas that have not traditionally relied on computation.

In this article we present the Versatile Multiscale Strategist (vmStrat) DSL. The vmStrat DSL was developed to allow analysts to represent a range of geopolitical scenarios with relevant actors, situations, and outcomes. vmStrat includes a set of well-defined programming constructs that embody carefully chosen abstractions based in social theory. These abstractions bridge the gap between the concreteness of software coding and the fluidity of social science. This bridge allows domain analysts to determine which social theories are relevant for a given problem, to implement working software to represent the chosen theories, and then to execute the software to derive useful conclusions from the theories.

The vmStrat ontology supports multiple types of social actors at different scales with different capabilities. The vmStrat approach is to represent social actors in general form and then customize only those aspects that are unique. Strategic actors may be nations, institutions, political parties, movements, or factions. All of the actor types draw upon the same core mechanisms, even though their particular choices are distinguished in appropriate ways. Actors of different scales can and do populate common scenarios and participate in shared interactions. vmStrat allows analysts to represent each actor’s affect and strategic propensities as well as how these factors map into outcomes. Analysts can also construct 448multiple models of the same scenarios for comparative analyses.

The vmStrat DSL leverages the Repast Simphony agent-based modeling platform and its ReLogo DSL. Repast Simphony is an integrated, richly interactive, cross platform Java-based agent-based modeling system that runs on most major computing environments. It supports the development of extremely flexible models of interacting agents for use on workstations and small computing clusters. The ReLogo agent-based modeling DSL is a Logo based dialect within Repast Simphony. It enables intuitive and rapid model development for beginning to advanced agent-based modelers. The vmStrat DSL substantially extends ReLogo by adding the nuanced support for modeling social actors described above.