In this section, we describe the architecture of Triveni. A game called Battle, whose rules are summarized in Figure 2, is used as a running example throughout this section. We discuss the design of Triveni at an abstract level using descriptions somewhat in the style of design patterns. Finally, we present a concrete design of Battle.