مهندسی مدل-رانده

** مهندسی مدل رانده** (**MDE**) یک روش توسعه نرم‌افزار است که بر ایجاد و بهره‌برداری از مدل دامنه تمرکز دارد. مدل دامنه، در واقع مدلی مفهومی از تمام موضوعات مربوط به یک مسئله خاص است. از این رو، هدف مدل دامنه برجسته نمودن نمایشی انتزاعی از دانش و فعالیت‌هایی است که در یک دامنه کاربردی خاص حاکم هستند، نه فقط مفاهیم محاسباتی (الگوریتمی).

## بررسی اجمالی
منظور از رویکرد مهندسی مدل رانده بالابردن بهره‌وری بوده‌است و این‌کار را به چند طریق پیش می‌برد: با بیشینه کردن سازگاری بین سیستم‌ها (از طریق بازاستفادهٔ مدل‌های استاندارد)، با ساده‌سازی فرایند طراحی (از طریق مدل‌های  الگوهای طراحی که به کرات در دامنه کاربرد ظاهر می‌شوند)، و نیز با تبلیغ ارتباطات بین افراد و تیم‌هایی که روی سیستم کار می‌کنند (از طریق نوعی استانداردسازی واژگان  و به‌روش‌هایی که در دامنه کاربرد استفاده می‌شوند.

در مهندسی مدل گرا، یک نگرش مدل‌سازی وقتی مؤثر است که مدل‌های ساخته شده با آن، از نظر کاربری که با دامنه مربوطه آشناست، مفید و مؤثر تلقی شوند و آن مدل‌ها را بتوان به‌عنوان پایه‌ای برای پیاده‌سازی سیستم‌ها مورد استفاده قرار داد. این مدل‌ها از طریق ارتباطات گسترده میان مدیران تولید، طراحان، توسعه‌دهندگان(برنامه‌نویسان) و کاربران دامنه کاربردی ایجاد و توسعه می‌یابند. هر چه مدل‌ها تکمیل‌تر می‌شوند،  توسعه نرم‌افزارها و سیستم‌ها را ممکن می‌سازند.

برخی از پیشتازان معروف عرصهٔ MDE عبارتند از:
* ابتکار معماری مدل رانده (MDA) از انجمن مدیریت شی (OMG)که یک علامت تجاری ثبت شده از OMG می‌باشد.
* اکوسیستم اکلیپس برای برنامه‌نویسی و ابزار مدل‌سازی (چارچوب مدل‌سازی اکلیپس).

## تاریخچه
اولین ابزارهایی که از MDE می‌کردند ابزارهای مهندسی نرم‌افزار به کمک کامپیوتر(CASE) بودند که در دهه ۱۹۸۰ توسعه یافتند. شرکت‌هایی مانند زیر پیشگامان در این زمینه بودند:  Integrated Development Environments (IDE - StP) یا Higher Order Software (در حال حاضر Hamilton Technologies, Inc., HTI) یاCadre Technologies   یا  Bachman Information Systems یا  Logic Works (BP-Win and ER-Win).

دولت آمریکا هم با ایجاد مشخصات IDEF در تعاریف مرتبط با مدل‌سازی درگیر شد. پس از ارائه تعاریف مختلفی از مدل‌سازی (به Booch، Rumbaugh، Jacobson، Gane and Sarson، هرال، Shlaer and Mellor و دیگران مراجعه کنید) آن‌ها در نهایت متحد شدند و زبان مدل‌سازی یکپارچه یا UML را ایجاد کردند. Rational Rose که توسط شرکت Rational ارائه شد، یک پیاده‌سازی از UML بود که منجر به بالاتر رفتن سطوح انتزاع در توسعه نرم‌افزار شد. این انتزاع، استفاده از مدل‌های ساده‌تر را با تمرکز بیشتر بر فضای مسئله ترویج می‌کند. اگر این موضوع با با معانی اجراپذیری ترکیب شود، سطح کلی خودکارسازی ممکن را بالاتر می‌برد. گروه مدیریت شی (OMG) مجموعه‌ای از استانداردها به نام معماری مدل رانده یا MDA را به عنوان پایه و اساسی برای این رویکرد پیشرفته متمرکز بر معماری توسعه داده است.

طبق گفتهٔ Douglas C. Schmidt, فناوری‌های مهندسی مدل‌رانده رویکردی امیدبخش را در پاسخ به ناتوانی زبان‌های نسل سوم در جهت کاهش پیچیدگی سکوها و بیان مؤثر مفاهیم دامنه پیشنهاد می‌دهند.

## ابزار
## جستارهای وابسته
* تبدیل مدل (به عنوان مثال با استفاده از QVT)
* برنامه‌نویسی زبان-گرا(LOP)
* مدل‌سازی خاص دامنه (DSM)
* مدل‌سازی چندگانه خاص دامنه
* زبان خاص دامنه (DSL)
* آزمون مبتنی بر مدل (MBT)
* کارخانه نرم‌افزار (SF)
* مدل‌سازی داستان رانده (SDM)
* توسعه کسب و کار-رانده (BDD)
* مدل‌سازی سطح بلوغ (MML)
* چارچوب مدل‌سازی مبتنی بر سرویس
* مدیریت چرخه حیات نرم‌افزار
* مدل فرایند کسب و کار مدل و Notation (BPMN)
* لیست ابزارهای زبان مدل‌سازی یکپارچه

## منابع

## جستارهای وابسته
* David S. Frankel, *Model Driven Architecture: Applying MDA to Enterprise Computing*, John Wiley & Sons, 
* Marco Brambilla, Jordi Cabot, Manuel Wimmer, *Model Driven Software Engineering in Practice*, foreword by Richard Soley (OMG Chairman), Morgan & Claypool, USA, 2012, Synthesis Lectures on Software Engineering #1. 182 pages.  (paperback),  (ebook). http://www.mdse-book.com

## پیوند به بیرون
* ''Model-Driven Architecture: Vision, Standards And Emerging Technologies'' at omg.org

رده:زبان مدل‌سازی یکپارچه
رده:مهندسی سامانه‌ها
رده:ویکی‌سازی رباتیک