A - specification B - architecture C - communication channels, and implementation. D - All of the above.