زبان تبدیل مدل

یک **زبان تبدیل مدل** در سیستم ها و مهندسی نرم‌افزار زبانی است که به‌طور خاص برای تبدیل مدل در نظر گرفته شده‌است.

## بررسی اجمالی
مفهوم تبدیل مدل‌های نقطه عطف توسعه مدل-رانده است. تبدیل مدل، که اساساً برنامه‌ایست که روی مدلها اعمال می‌شود، می‌تواند به یک زبان عام-منظوره مانند جاوا نوشته شود. اما زبانهای تبدیل مدل خاص-منظوره مزایایی دارند برای مثال نحو آن‌ها کار با عناصر مدل را راحتتر می‌کند. برای نوشتن تبدیل مدل دوسویه، که سازگاری را بین دو یا بیشتر مدل حفظ می‌کند، زبان تبدیل مدل دوسویه به‌طور ویژه مهم است، زیرا از تکرار جلوگیری می‌کند. منظور از تکرار نوشتن جداگانۀ هر دو جهت تبدیل است.

در حال حاضر، اکثر زبانهای تبدیل مدل در دانشگاه‌ها توسعه می‌یابند.  انجمن مدیریت شی خانواده‌ای از زبانهای تبدیل مدل به نام QVT را استانداردسازی کرده‌است اما در این زمینه هنوز نابالغ است.

## زبانهای تبدیل موجود
* ATL : تحول زبان توسعه یافته توسط INRIA
* Beanbag (نگاه کنید http://code.google.com/p/synclib/) : عمل بر اساس زبان برای برقراری ثبات بیش از داده‌های تدریجی
* بزرگ : یک تغییر و تحول زبان در دسترس در GME
* اپسیلون خانواده (نگاه کنید http://www.eclipse.org/epsilon) : یک مدل مدیریت پلت فرم فراهم می‌کند که تحول زبان برای مدل به مدل به متن, به روز رسانی-در-محل مهاجرت و مدل ادغام تحولات است.
* Henshin (نگاه کنید ) : زبان تبدیل مدل بر مبنایEMF بر اساس مفاهیم تبدیل گراف قابلیت اکتشاف فضای حالت را فراهم می‌کند.
* JTL : زبان تبدیل مدل دوسویه که به‌طور خاص برای پشتیبانی از تبدیلهای غیر یک به یک و انتشار تغییر طراحی شده‌است.
* Kermeta : زبان مدل‌سازی و برنامه‌نویسی عام-منظوره که می‌تواند برای تبدیل نیز استفاده شود.
* خانواده Lx : مجموعه زبانهای تبدیل سطح پایین
* M2M پیاده‌سازی  استاندارد QVT معرفی شده توسط OMG که برای محیط اکلیپس توسعه یافته‌است.
* Mia-TL : زبان تبدیل توسعه یافته توسط Mia-Software
* زبان تبدیل مدل به متن MOF : انجمن مدیریت شی برای تبدیلهای مدل به متن این استاندارد را تعریف کرده‌است.
* MOLA : زبان تبدیل گرافیکی سطح بالا بر روی Lx ساخته شده‌است.
* MT : زبان تبدیل توسعه یافته در کالج کینگز لندن (انگلستان) (بر اساس زبان برنامه‌نویسی همگرا)
* QVT : انجمن مدیریت شی یک استاندارد برای بیان تبدیلهای مدل به مدل به نام **MOF/QVT** یا به اختصار QVT را تعریف کرده‌است.
* SiTra  : رویکرد تبدیل عملی بر مبنای یک زبان برنامه‌نویسی استاندارد مانند جاوا و C#
* Stratego/XT : زبان تبدیل بر اساس بازنویسی با استراتژی‌های قابل برنامه‌ریزی
* Tefkat : زبان و موتور تبدیل مدل
* Tom : زبانی بر مبنای حساب بازنویسی با استراتژی‌های تطبیق الگو
* UML-RSDS  : رویکرد تبدیل مدل و توسعه مدل-رانده با استفاده از UML و OCL
* VIATRA : یک چارچوب برای وارسی و اعتبارسنجی مبتنی بر تبدیل

## همچنین نگاه کنید
* تبدیل داده
* زبان خاص-دامنه
* Filter (software)
* مهندسی مدل-رانده
* معماری مدل-رانده
* پردازشگر الگو
* زبان تبدیل
* تبدیل گراف
* قالب وب
* زبان استاندارد XSLT

## منابع

## مطالعات بیشتر
* *The MDA Journal: Model Driven Architecture Straight From The Masters*
* *Model Driven Architecture: Applying MDA to Enterprise Computing*, David S. Frankel, John Wiley & Sons, 
* OMG MDA Guide ''MDA Guide Version 1.0.1''
* ''Model-Driven Architecture: Vision, Standards And Emerging Technologies'' at omg.org
* ''An Introduction to Model Driven Architecture'' at .com
* ''From Object Composition to Model Transformation with the MDA'' at omg.org
* Mens, T, and Van Gorp, P: , Electronic Notes in Theoretical Computer Science, Volume 152, 27 March 2006, Pages 125-142
* Czarnecki, K, and Helsen, S : Classification of Model Transformation Approaches. In: Proceedings of the OOPSLA'03 Workshop on the Generative Techniques in the Context Of Model-Driven Architecture, Anaheim, California, USA. ''Webpublished.''
* Gronmo, R, and Oldevik, J : An Empirical Study of the UML Model Transformation Tool (UMT). http://interop-esa05.unige.ch/INTEROP/Proceedings/IndustrialPresentations/Gronmo.pdf

## پیوند به بیرون

رده:زبان‌های تعریف مشخصات
رده:مهندسی سامانه‌ها