This research defines the term “encapsulated model” or “emodel.” An encapsulated model is an animated object containing an integrated set of dynamic attributes — e.g., shape, motion, materials (surface properties), light sources, cameras, user interfaces, sound — represented by a procedural data format (i.e., a program written in a procedural animation language). A set of properties that characterizes encapsulated models is presented. From these properties, a set of requirements for an appropriate procedural animation language is derived. Chief among these requirements is the requirement for mechanisms that permit interactive manipulation of the procedural specification of an emodel. To satisfy this requirement, a new programming language mechanism called “articulation functions” (or “afuncs”) is proposed. To demonstrate the practical application of the concepts in this research, a prototype procedural animation language, called AL, was developed. The AL language incorporates the best features of previous animation languages and includes several new features including the articulation function mechanism. The AL software environment includes an AL language interpreter and graphical user interface tools for interactive manipulation of encapsulated models via articulation functions.