A tutorial manual describing the ECSS II programming language and how it is used to build simulation models. The language provides a rich variety of concepts for representing the hardware, software, and environments of computer-based systems so that system performance can be predicted and analyzed. Statements implementing the concepts enable modeling at the process/resource level, the (deeper) event/state-change level, or at a combination of levels of detail. To reduce programming effort, elements endemic to modern computer systems can be specified directly in a natural and straightforward notation. Such elements include asynchronous processes, application jobs, multiprocessors, interrupts, contiguous-storage devices, I/0 subsystems, supervisor behavior and overhead. ECSS II is implemented as an extension of the general purpose language SIMSCRIPT II. This manual presents the language "top-down," proceeding from general methods to specialized variations, with many examples. Several appendixes supply reference summaries of the language constructs.