Domain-specific languages are used to develop highly specialized software. From the implementation perspective, evolution of such software can not utilize evolutionary methods used for software developed in a traditional way. This paper presents the model of evolution, considering the software system as a composition of two separate parts - domain-specific language reflecting the application environment and system by itself reflecting the actual solution to a specified problem. The process of evolution is driven in accordance to the nature of evolutionary change. The paper also discusses the categorization of changes by cause which induced them.