Sounds very similar to NASA C programming guidelines. Each module during the initialization period would allocate its static memory size. Every loop had a upper bound's max iteration to prevent infinite loops.
I think they posted the guidelines and it was a wonderful read about how they developed real time systems.