1. Static allocation assigns storage locations to data objects at compile time. Stack allocation uses a stack to dynamically allocate memory for procedure activations and local variables at runtime. Heap allocation allocates memory for dynamic data structures from a heap region at runtime.
2. Access to non-local names can use lexical scoping by following access links or displays, or dynamic scoping by searching the stack.
3. Blocks can be nested and treated as parameterless procedures, with memory allocated on the stack when entered and deallocated on exit.
4. The activation record stores information for a procedure execution, including local data, saved registers, parameters, return values, and links to enclosing activations.