login

The Rand-Abel Programming Language: History, Rationale, and Design

Munich Personal RePEc Archive (Ludwig Maximilian University of Munich)Published 1 November 1985
Norman Shapiro, H. E. Hall, Robert Anderson, Mark LaCasse
Citations6

TL;DR

RAND-ABEL was designed to meet the needs of the Rand Strategy Assessment Center, which is building a large system for automated war gaming in which separate rule-based models represent U.S., Soviet, and third-country behavior.

Abstract

This report describes the motivations behind the development of the RAND-ABLE programming language and some of its novel features. RAND-ABEL was designed to meet the needs of the Rand Strategy Assessment Center, which is building a large system for automated war gaming in which separate rule-based models represent U.S., Soviet, and third-country behavior. To satisfy the requirements for speed and transparency, the language was designed to be: (1) rapidly compilable and executable; (2) self-documenting; (3) understandable by nonprogrammer domain experts after modest instruction; (4) reasonably easy to learn and use, especially for modifying or incrementally extending existing code; (5) portable across different computers; and (6) well suited to development of large and complex rule-based simulations. Certain of its features are unique: the ability to express directly in RAND-ABEL source code such natural structures as decision tables (isomorphic with decision trees) and order tables, which lay out orders to be executed sequentially, and its novel declaration-by-example feature, which is useful for rule-based programs with enumerated variables and many distinct data types. RAND-ABEL has built-in support for a data dictionary for communication between separate modules. (Author)

Keywords

Computer ScienceDecision Sciences