Symbolic methods for developing new domain decomposition algorithms