In this paper, we discuss the issues that must be addressed in the specification and generation of synthetic workloads for distributed real-time systems. We describe a synthetic workload specification language (SWSL) that defines a workload in a form that can be compiled by a synthetic workload generator (SWG) to produce an executable synthetic workload. The synthetic workload is then downloaded to the target machine and executed while performance and dependability measurements are made. SWSL defines the workload at the task level using a data flow graph, and at the operation level using control constructs and synthetic operations taken from a library. It is intended to be easy to use, flexible, and capable of creating synthetic workloads that are representative of real-time workloads. It provides a compact, parameterized notation. It supports automatic replication of objects to facilitate the specification of large workloads for distributed real-time systems. It also provides extensive support for the experimentation process. Index Terms-Synthetic workloads, real-time workloads, distributed real-time systems, performance and dependability measurement experiments I. INTRODUCTION SYNTHETIC WORKLOAD (SW) is a set of artificial A or synthetic programs that execute on a computer system and produce resource demands on the system. The synthetic programs are parameterized to allow the user to easily modify their execution and resource consumption behavior. SW's have long been recognized as useful tools to be used during the experimental evaluation of computer systems. The tasks, or jobs, that make up the SW are selected to represent a particular application domain for a certain class of computers. Early SW's were designed to represent typical business applications running on a mainframe computer, e.g., [41, [171, [261, [361. SW design was later studied extensively by Ferrari [8]-[ 101. However, his work also concentrated on general purpose uniprocessor computers.