Structures of problems and parallel software approaches.