The Common Programmable Abstraction Layer