The Compartment Role Object Metamodel (CROM) is a comprehensive model for role-based modeling and programming languages.