Garment: a mechanism for abstraction and encapsulation of languages

Domain-specific languages are closely related to interface languages of domain-oriented software. Thus, the specifications of such software can be abstracted to specifications of language systems, and implementation of such software can be abstracted to implementation of the language systems. As a unified model to support software development and research, a mechanism named Garment for abstracting and encapsulating languages is proposed. Garment provides a unified framework for defining languages (syntax and semantics) and describing relations between languages (which are classified as inheritance, shielding and extension). Finally, an experimental environment, which supports software development with Garment, is introduced briefly.