Swirl: Simulating Warfare in the Ross LanguageThis Note describes a program called SWIRL, designed for simulating military air battles. The Note serves three purposes: (1) It is a user's guide to SWIRL. Those wishing to run SWIRL, and to some extent modify its behaviors, can use this Note as a guide. (2) The Note provides an extensive example of a simulation written in the ROSS language for those wishing to examine how one might design and build a simulation in ROSS. (3) At a more general level, the Note focuses on some important techniques for constructing simulations in an object-oriented programming environment. The Note describes the design and implementation of SWIRL and includes all of the SWIRL code and documentation. SWIRL embodies an air penetration simulation of offensive forces attacking a defensive area. Objects represented include offensive penetration, defensive radars (both ground and air), SAMs, missiles, filter centers, defensive fighters, command centers and targets. |
Common terms and phrases
alert ask fighter documentation ask fighter-base ask mathematician distance ask moving-object ask radar documentation ask scheduler ask the fighter ask the GCI ask the penetrator AWACS AWACS3 behaviors cadr car ask changed route chase penetrator command-center compute Description of SWIRL EMACS end game fighter recall fighter to penetrator fighter when receiving fighters guided filter centers filter-center when receiving flight-plan follow unguided policy GCI recall GCI3 guide fighter guide the fighter in-range intercept local variables lose or draw mathematician when receiving max-speed megaton missiles moving object moving-object when receiving obj2 object-oriented programming PEN2 PEN3 penetrator recall penetrator when receiving physicist position-now possible-penetrators radar range radar recall radar when receiving recall your position return to base revector Run simulation Sender set your status simulation environment SWIRL Code ask SWIRL Documentation SWIRL Interaction tell mathematician documentation tell moving-object documentation tell scheduler tells the fighter time-until-interaction TRANSMIT unplan update your position