Formal software specification with refinements and modules of typed graph transformation systems