1. A method to be used with a simulator and a controller, the controller for running execution code to provide output signals which, when linked to resources, cause the resources to cycle through requested activities, the simulator for receiving controller output signals and, in response thereto, generating motion pictures of resources as the resources cycle through requested activities, the simulator using data structures which model the resources to determine which motion pictures to generate, the method for generating execution code and data structures for use by the controller and the simulator, respectively, and comprising the steps of: for each resource, encapsulating resource information including resource logic in a control assembly (CA); instantiating at least one instance of at least one CA; compiling instantiated CA instance resource logic to generate execution code; gleaning simulation information from the instantiated CA instances; and using the gleaned simulation information to generate a simulation data structure for the resources corresponding to the instantiated CA instances.