Concepts of Meta Modelling: A case study of code development for distributed memory architectures