Model'no-orientirowannaq inzheneriq (Model Driven Engineering, MDE) - äto razwiwaüschijsq podhod k razrabotke programmnogo obespecheniq. Osnownymi ponqtiqmi w MDE qwlqütsq modeli i preobrazowaniq. Model' - äto predstawlenie swoego predmeta, opisywaüschee tol'ko ego relewantnye aspekty. Sub#ektami ätih modelej qwlqütsq aspekty razrabatywaemoj programmnoj sistemy. Yazyki preobrazowaniq modelej (Model Transformation Languages, MTL) chasto realizuütsq s ispol'zowaniem tradicionnogo podhoda k proektirowaniü qzyka, s ispol'zowaniem specializirowannogo kompilqtora ili interpretatora. My rassmotrim al'ternatiwnyj metod, a imenno, ego razrabotku w kachestwe qzyka, specifichnogo dlq domena, w kontexte qzyka-hosta obschego naznacheniq. V kachestwe hostowogo qzyka my wybrali Ruby iz-za ego lakonichnogo i gibkogo sintaxisa, podderzhki deklaratiwnogo i funkcional'nogo programmirowaniq, reflexiwnyh wozmozhnostej i zreloj standartnoj biblioteki. Dlq nashej celi naibolee wazhnymi iz nih qwlqütsq bloki koda i peregruzka operatorow. Jetot otchet predstawlqet i ob#qsnqet nash MTL pod nazwaniem TRans. TRans podderzhiwaet neskol'ko ishodnyh i celewyh modelej, porqdok wypolneniq s ispol'zowaniem algoritma topologicheskoj sortirowki, rasshirennuü funkcional'nost' trassirowki i funkcii AOP. Vnedrqq TRans w kachestwe MTEL, my mozhem znachitel'no sokratit' usiliq po wnedreniü.