 Acceleo can use any EMF compatible models defined from any kind of metamodel like UML or even a custom DSLs.From this metamodel, the user can define a code generator that will produce any kind of textual language from a model using the metamodel.Here we are using the following elements