An Executable Theory of Multi-Agent Systems Refinement by