Modular Answer Set Programming as a Formal Specification Language