Кіріспе

Модельді трансформациялау, модельге негізделген инженерияда, платформадан тәуелсіз модельдерден платформаға қатысты модельді өзгерту мен жасаудың автоматтандырылған жолы. Модельді трансформациялауды қолданудың мысалы – модельдер тобының бағдарламалық жасақтама инженері анықтай алатын нақты мағынада үйлесімділігін қамтамасыз ету. Модельді трансформациялауды пайдаланудың мақсаты – модельдерді құру және өзгертуді автоматтандыру арқылы күш-жігерді үнемдеу және қателерді азайту.

Шолу

Модельді түрлендірулерді модельдерді кіріс ретінде қабылдайтын бағдарламалар деп қарастыруға болады. Модельді түрлендірулердің және оларды қолданудың алуан түрлері бар, олар кіріс және шығыстар жағынан, сондай-ақ оларды бейнелеу тәсілі бойынша да өзгешеленеді. Модельді түрлендіру, әдетте, қандай модельдерді кіріс ретінде қабылдайтынын және қажет болған жағдайда, қандай модельдерді шығару ретінде тудыратынын, модельдің сәйкес болуы тиіс метамодельді анықтау арқылы көрсетеді.

Үлгі түрлендірулерін жіктеу

Модельдік түрлендірулер мен оларға арналған тілдер көптеген жолдармен жіктеледі. Мысалы, OMG Model Driven Architecture талаптарына сәйкес келетін процесте платформадан тәуелсіз модель сыртқы модельдік түрлендіру арқылы платформаға қатысты модельге түрлендірілуі мүмкін.

Бірбағытты және екібағытты

Бір бағытты модельді түрлендірудің бір ғана орындалу режимі бар: яғни, ол әрқашан бірдей кіріс түрін қабылдайды және бірдей шығыс түрін шығарады. Бір бағытты модельді түрлендірулер компиляция сияқты жағдайларда пайдалы, онда кез келген шығыс модель тек оқуға арналған. Сәйкестіктің тиісті ұғымы өте қарапайым: кіріс модельі трансформация шығаратын модельбен ғана сәйкес келеді. Екі бағытты модельді түрлендіру үшін, модельдің бірдей түрі кейде кіріс ретінде, ал кейде шығыс ретінде қолданылуы мүмкін. Екі бағытты трансформациялар адамдар бірнеше модельмен жұмыс істейтін және модельдердің сәйкес болуын қамтамасыз ету қажет жағдайларда қажет. Сонда бір модельге енгізілген өзгеріс, модельдер арасындағы сәйкестікті сақтау үшін екінші модельге де өзгеріс енгізуді талап етуі мүмкін. Әрбір модельде екіншісінде көрінбейтін ақпарат болуы мүмкін болғандықтан, берілген модельге сәйкес келетін көптеген модельдер болуы мүмкін. Маңызды ерекше жағдайлар:

биективті трансформациялар, онда кез келген берілген модельге сәйкес келетін тек бір модель бар; яғни, сәйкестік қатынасы биективті. Модельдер жұбы, егер және тек қана егер олар сәйкестік биекциясы арқылы байланысты болса, сәйкес келеді. Екі модель де бірдей ақпаратты қамтиды, бірақ олар әртүрлі түрде ұсынылған. көрініс трансформациялары, онда нақты модель бір көрініс моделін анықтайды, бірақ бір көрініс моделі көптеген түрлі нақты модельдерден жасалуы мүмкін. Көрініс моделі – нақты модельдің абстракциясы. Егер көріністі жаңартуға болады, екі бағытты трансформация қажет. Бұл жағдай деректер базасы саласында көрініс жаңарту деп белгілі. Кез келген нақты модель өзінің көрінісімен сәйкес келеді. Екі бағытты модельді трансформацияның дұрыс жұмыс істеуі үшін тиісті қасиеттері болуы өте маңызды: мысалы, қажетсіз өзгерістер жасаудан аулақ болу немесе қасақана жасалған өзгерістерді жоймау.