Foundations in Program Planning