abstract network design