It details the syntax, macros, functions, and structures that comprise the Amulet language. An example program is provided along with information on how to acquire the Amulet source. Introduction Amulet is a real-time programming system developed to be a general tool for handling time critical processes. Amulet was inspired by the parallel programming language Charm and borrows freely from the syntax of that language. As in Charm, a chare is a class of objects, as used in object oriented programming.
Messages are the vehicles by which information is passed between chares.
Each chare has one or more entries , each of which implements a method of that class of objects, to use object oriented terminology. When a message is sent to an entry of an instance of a chare, the associated block of C code is executed. All Amulet messages contain a deadline , and the Amulet kernel delivers messages in deadline order. Furthermore, messages may also have start times , before which the Amulet kernel will not deliver them. Between them, the start time and deadline of a message define the window in real-time during which that message must be processed.