موضوع مقاله: مدل‌سازی دامنه خاص | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # مدل‌سازی دامنه خاص | مقدمه: مدل‌سازی دامنه خاص ( DSM ) یک روش مهندسی نرم‌افزار برای طراحی و توسعه سیستم‌هایی مانند نرم‌افزار کامپیوتری است. | ## بخش 1: مدل‌سازی دامنه خاص | این شامل استفاده سیستماتیک از یک زبان دامنه خاص برای نمایش جنبه های مختلف یک سیستم است. زبان‌های مدل‌سازی اختصاصی دامنه نسبت به زبان‌های مدل‌سازی همه‌منظوره از انتزاعات سطح بالاتر پشتیبانی می‌کنند، بنابراین به تلاش کمتر و جزئیات سطح پایین کمتری برای تعیین یک سیستم معین نیاز دارند. نمای کلی مدل‌سازی اختصاصی دامنه اغلب شامل ایده تولید کد نیز می‌شود: ایجاد خودکار کد منبع اجرایی مستقیماً از مدل‌های زبان خاص دامنه. عاری بودن از ایجاد و نگهداری دستی کد منبع به این معنی است که زبان خاص دامنه می تواند به طور قابل توجهی بهره وری توسعه دهنده را بهبود بخشد. قابلیت اطمینان تولید خودکار در مقایسه با کدگذاری دستی نیز باعث کاهش تعداد عیوب در برنامه های حاصل شده و در نتیجه کیفیت را بهبود می بخشد. زبان اختصاصی دامنه با تلاش‌های قبلی برای تولید کد در ابزارهای CASE دهه 1980 یا ابزارهای UML در دهه 1990 متفاوت است. در هر دوی اینها، تولیدکنندگان کد و زبان‌های مدل‌سازی توسط فروشندگان ابزار ساخته شده‌اند.[ نیازمند منبع ] در حالی که ممکن است یک فروشنده ابزار یک زبان و مولدهای خاص دامنه ایجاد کند، طبیعی‌تر است که زبان دامنه خاص در یک سازمان رخ دهد. یک یا چند توسعه دهنده خبره زبان مدل سازی و ژنراتورها را ایجاد می کنند و بقیه توسعه دهندگان از آنها استفاده می کنند. داشتن زبان مدل سازی و مولد ساخته شده توسط سازمانی که از آنها استفاده می کند، امکان تناسب دقیق با دامنه دقیق آنها و در پاسخ به تغییرات در دامنه را فراهم می کند. زبان‌های مخصوص دامنه معمولاً می‌توانند طیف وسیعی از سطوح انتزاعی را برای یک دامنه خاص پوشش دهند. به عنوان مثال، یک زبان مدل‌سازی خاص دامنه برای تلفن‌های همراه می‌تواند به کاربران اجازه دهد انتزاع‌های سطح بالا را برای رابط کاربری و همچنین انتزاع‌های سطح پایین‌تر برای ذخیره داده‌هایی مانند شماره تلفن یا تنظیمات مشخص کنند. | ## بخش 2: مدل‌سازی دامنه خاص | به همین ترتیب، یک زبان مدل‌سازی دامنه خاص برای خدمات مالی می‌تواند به کاربران اجازه دهد انتزاعات سطح بالا را برای مشتریان و همچنین انتزاعات سطح پایین‌تر برای پیاده‌سازی الگوریتم‌های معاملات سهام و اوراق قرضه مشخص کنند. موضوعات تعریف زبان های خاص دامنه برای تعریف یک زبان، به زبانی نیاز است که تعریف را در آن بنویسد. زبان یک مدل اغلب متامدل نامیده می شود، از این رو زبان برای تعریف یک زبان مدلسازی، متا-مدل است. متا مدل‌ها را می‌توان به دو گروه تقسیم کرد: آنهایی که از زبان‌های موجود مشتق شده‌اند یا سفارشی‌سازی شده‌اند، و آن‌هایی که به‌طور خاص به‌عنوان فرامدل‌ها توسعه یافته‌اند. رفتار مدل‌سازی دامنه خاص از ایجاد یک زبان جدید برای یک کار خاص حمایت می‌کند، و بنابراین، زبان‌های جدیدی وجود دارند که به‌عنوان متا-مدل طراحی شده‌اند. پشتیبانی ابزار برای زبان های دامنه خاص بسیاری از زبان‌های مدل‌سازی همه‌منظوره در حال حاضر پشتیبانی ابزار را به شکل ابزارهای CASE دارند. زبان‌های زبان مخصوص دامنه معمولاً اندازه بازار بسیار کوچکی دارند تا از ساخت ابزار CASE سفارشی از ابتدا پشتیبانی کنند. درعوض، اکثر ابزارهای پشتیبانی از زبان‌های زبان خاص دامنه بر اساس چارچوب‌های زبانی خاص دامنه یا از طریق محیط‌های زبانی خاص دامنه ساخته می‌شوند. یک محیط زبان خاص دامنه ممکن است به عنوان یک ابزار فرامدلینگ در نظر گرفته شود، به عنوان مثال، یک ابزار مدل سازی که برای تعریف یک ابزار مدل سازی یا ابزار CASE استفاده می شود. ابزار به دست آمده ممکن است در محیط زبان خاص دامنه کار کند یا کمتر به عنوان یک برنامه مستقل جداگانه تولید شود. در مورد رایج تر، محیط زبان خاص دامنه در مقایسه با ابزار CASE سنتی، از یک لایه انتزاعی اضافی پشتیبانی می کند. | ## بخش 3: مدل‌سازی دامنه خاص | استفاده از یک محیط زبان خاص دامنه می تواند هزینه دریافت پشتیبانی ابزار برای یک زبان دامنه خاص را به میزان قابل توجهی کاهش دهد، زیرا یک محیط زبان خاص دامنه که به خوبی طراحی شده باشد، ایجاد بخش های برنامه را که ساخت آنها از ابتدا پرهزینه است، مانند ویرایشگرها، مرورگرها و مؤلفه های خاص دامنه، خودکار می کند. متخصص دامنه فقط باید ساختارها و قوانین خاص دامنه را مشخص کند و محیط زبان خاص دامنه یک ابزار مدل سازی متناسب با دامنه هدف را فراهم می کند. زبان دامنه و UML خاص زبان مدل سازی یکپارچه (UML) یک زبان مدل سازی همه منظوره برای سیستم های نرم افزار فشرده است که برای پشتیبانی از برنامه نویسی شی گرا طراحی شده است. در نتیجه، برخلاف زبان‌های زبان خاص دامنه، UML برای اهداف مختلف در طیف وسیعی از دامنه‌ها استفاده می‌شود. اولیه‌های ارائه شده توسط UML، برنامه‌نویسی شی گرا هستند، در حالی که زبان‌های خاص دامنه، اولیه‌هایی را ارائه می‌کنند که معنای آنها برای همه پزشکان در آن حوزه آشناست. به عنوان مثال، در حوزه مهندسی خودرو ، مدل‌های نرم‌افزاری برای نمایش ویژگی‌های سیستم ترمز ضد قفل ، یا فرمان و غیره وجود خواهد داشت. UML شامل مکانیزم پروفایل است که به آن اجازه می دهد برای دامنه ها و پلتفرم های خاص محدود و سفارشی شود. نمایه‌های UML از کلیشه‌ها ، ویژگی‌های کلیشه (معروف به مقادیر برچسب‌گذاری شده قبل از UML 2.0) و محدودیت‌هایی برای محدود کردن و گسترش دامنه UML به یک دامنه خاص استفاده می‌کنند. شاید بهترین نمونه شناخته شده سفارشی کردن UML برای یک دامنه خاص، SysML باشد، یک زبان دامنه خاص برای مهندسی سیستم . UML یک انتخاب محبوب برای رویکردهای مختلف توسعه مبتنی بر مدل است که به موجب آن مصنوعات فنی مانند کد منبع، مستندات، آزمایش‌ها و موارد دیگر به صورت الگوریتمی از یک مدل دامنه تولید می‌شوند. | ## جمع‌بندی | همچنین ببینید مهندسی نرم افزار به کمک کامپیوتر طراحی دامنه محور زبان مخصوص دامنه زبان مدل سازی چارچوب خاص مدل سازی همه منظوره چند مدل سازی مخصوص دامنه مهندسی مدل محور معماری مدل محور کارخانه های نرم افزاری مدل سازی ویژه رشته لینک های خارجی مدل‌سازی دامنه خاص برای توسعه نرم‌افزار مولد ، مقاله وب توسط مارتین ایزگر، 2010 مقاله مدل سازی اختصاصی دامنه در چارچوب های IoC توسط Ke Jin ، 2007 مدل‌سازی اختصاصی دامنه برای تولید کد کامل از روش‌ها و ابزارها مقاله وب توسط Juha-Pekka Tolvanen، 2005 ایجاد یک زبان مدلسازی دامنه خاص برای یک چارچوب موجود در وب مقاله توسط Juha-Pekka Tolvanen، 2006 مراجع