1. A method for customizing a fixed mapping between a computer program code and a code-model, comprising the steps of: in a computer processor, given a fixed mapping between (a) a computer program code expressed in a certain programming language and (b) a code-model expressed in a modeling language extending the fixed mapping by defining one or more customization points in the mapping; and for each customization point, using the computer processor and associating a respective mapping key with the customization point, there being different mapping keys for different customization points, the mapping keys enabling at least one of (i) certain pieces of the computer program code to be derived from corresponding pieces of the code model in the modeling language notation, and (ii) certain pieces of the code-model in the modeling language notation to be derived from corresponding pieces of the computer program code , wherein in the computer processor, each mapping key specifies both a forward transformation and a reverse transformation between the computer program code and the code-model in the modeling language notation, such that a same mapping key is useable to specify the reverse transform, during mapping a subject point in the computer program code to the code-model, determining whether the subject point is one of the defined customization points, if the subject point is one of the customization points then applying the respective associated mapping key to only certain code pieces and certain corresponding pieces of the code-model, otherwise treating the subject points as a non-customization point and applying the fixed mapping as given before the extending.