The document presents a taxonomy called ProMeTA for classifying program metamodels used in program reverse engineering. ProMeTA defines dimensions for characterizing metamodels such as target language, abstraction level, meta-language, and quality attributes. The taxonomy is used to analyze and classify five popular metamodels (ASTM, KDM, FAMIX, SPOOL, UNIQ). Key findings are that metamodels should support widely used languages and standards for long-term use and provide robust functionality and quality.