The Principles of ASP