Domain-specific modeling (DSM) is a software development methodology that promises greater gains in productivity by systematizing the use of domain-specific languages (DSL). This paper first addresses the notions of abstraction and specificity by comparing some existing languages, and proposes an original representation that highlights the global advantages of using DSLs. This document presents then MEtaGile, our DSM environment that provides facilities for creating and supporting evolved DSLs. This environment is mainly designed for supporting pragmatic modeling concepts, and implements practical features for supporting the code-generation phase. The development of DSLs is facilitated by the use of a simple but efficient metalanguage that allows the domain-specific developers to focus on the final model-to-text transformation; they are neither expected to be expert in modeling nor to master complex transformation languages.