Principles of Process Planning: A logical approach