یکشنبه, ۱۶ دی, ۱۴۰۳ / 5 January, 2025
ابزار متاکیس MetaCASE tool
ابزار متاکیس نوعی نرمافزار کاربردی است که امکان استفاده بیش از یک metodic یا نماد گذاری در طول فرآیند توسعه نرمافزار را فراهم میسازد.
تعریف دیگر ابزار متاکیس، ابزارهای نرمافزاری هستند که طرّاحی و تولید ابزار CASE را پشتیبانی میکنند. به طور کلّی ابزارهای متاکیس باید مؤلّفههای عمومی ابزار کیس را فراهم کنند تا آنها بتوانند سفارشی شده و نیز در ابزارهای کیس ویژه معرّفی شوند. هدف ابزارهای متاکیس، تسخیر خصوصیّات ابزار مورد نیاز و سپس تولید ابزار از خصوصیّات است.
● مرور کلّی بر ابزارهای کیس
ساختن نرمافزار کاربردی در مقیاس بزرگ، فرآیندی بسیار پیچیده است و به آسانی نمیتوان آن را کنترل کرد. شرکتهای نرمافزاری باید سیستم مناسبی برای همکاری تیمهای توسعه داشته باشند و این امر مستلزم نظم کاری بالاست.
با این وجود، استفاده از ابزارهای کیس برای بالا بردن سرعت توسعه نرمافزار و اطمینان از طرّاحی سطوح بالاتر برنامههای کاربردی، روشی نوین است. به هرحال پیامدهای دیگری هم وجود دارد که باید به خاطر سپرد. اوّل اینکه همه کاربرد این ابزارها، نتایج خوب را تضمین نمیکند چون آنها معمولا بزرگ، پیچیده و برای تولید شدن و پذیرش خیلی پر هزینه هستند.
ابزارهای کیس بسته به فاز عملیّات توسعه نرمافزاری که قرار است آن را پشتیبانی کنند، به دو دسته تقسیم میشوند : ابزارهای نرمافزار نهایی (Front-end) یا ابزارهای پشتیبان (Back-end). به عنوان مثال، ابزارهای تحلیل و طرّاحی نرمافزار نهایی در مقابل ابزارهای پیاده سازی پشتیبانی قرار دارند. وقتی مهندسان نرمافزار برروی یک پروژه کاربردی به خصوص کار میکنند، انتخاب ابزار کیس اصولا تحت تأثیر عواملی از قبیل اندازه پروژه، متدولوژی مورد استفاده، قابلیّت دسترسی ابزارها، بودجه پروژه و تعداد افراد درگیر تعیین میشود. برای برخی موارد کاربرد، یک ابزار مناسب ممکن است در دسترس نباشد یا اینکه پروژه خیلی کوچک باشد و سود چندانی نداشته باشد.
ایزارهای کیس تعداد مشخّصی از متدولوژیها را پشتیبانی میکنند ولی سازمانهای توسعه نرمافزار به صورت پویا متدولوژیهای پذیرفته شده خود را تغییر میدهند.
● تفاوتهای بین ابزارهای متاکیس و کیس
اغلب ابزارهای کیس مدل سازی شی گرا به شدّت بر پایه روش UML استوار هستند. همچنین یک متد توابع دیگر ابزار کیس را دیکته میکند؛ مثلا اینکه مدلها چگونه ساخته، تست و تحلیل میشوند و چگونه کد میتواند تولید شود. به عنوان نمونه، یک ابزار تنها در صورتی میتواند تعاریف زبان معرّف واسط CORBA را تولید کند که زبان مدل سازی بتواند به اندازه کافی واسطهای مورد قبول CORBA را تعیین و تحلیل کند. در صورتی که ابزار (و متد) آنها را تولید نکند، پشتیبانی برای کار کردن برروی پیاده سازی و طرّاحی واسط (آن هم اگر داشته باشد) خیلی کم است.
توسعه دهندگان در هنگام استفاده از متدها اغلب با مشکلات مشابهی مواجه میشوند. آنها نمیتوانند دامنه کاربرد و سیستم تحت توسعه را به طور مناسب مشخّص کنند زیرا آن متد نمیتواند مفاهیم کلّی یا نشانه گذاریهای را نزدیک به وظیفه فراهم کنند. خواندن و درک مدلها ممکن است برای کاربران نهایی دشوار باشد چون که آنها با مفاهیم مدل سازی آشنا نیستند. معمولا برای آنها فهم نگاشت مفاهیم و معناهای به کار رفته در مدلها به دامنه کاربردشان نیز دشوار است. پس از ساختن مدلها، در صورت مشخّص نشدن دامنه کاربرد به اندازه کافی، ابزار نه گزارشهای مورد نیاز را فراهم کرده و نه کد مورد استفاده را تولید میکند.
آنگاه آنچه مورد نیاز است همان توانایی تسخیر مشخّصات هر متد به آسانی و همچنین تولید ابزارهای کیس به صورت خودکار از این مشخّصات است. بعدا موقعی که وضعیّت دامنه کاربرد و همچنین محیط توسعه تغییر کرد، شما میتوانید به صورت فزایندهای، متد پشتیبانی در ابزار کیستان را به روز کنید. اصولا این همان چیزی است که تکنولوژی متاکیس ارائه میدهد.
● چگونه متاکیس کار میکند ؟
ابزارهای کیس سنّتی بر پایه یک معماری دو سطحی هستند : طرّاحیهای سیستم در یک مخزن ذخیره شدهاند که مدل آنها در ابزار کیس برنامه نویسی و کامپایل میشوند. این بخش hard-coded نوع مدلهای ساخته شده و چگونگی تحلیل آنها را تعریف میکند. مهمتر اینکه، تنها فروشنده ابزار میتواند متد را تغییر دهد زیرا آن در کد ثابت شده است. تکنولوژی متاکیس، این محدودیّت را با به کار گیری متدهای قابل انعطاف از بین برده است.
این امر با اضافه کردن یک سطح بالای سطح متد انجام پذیر است.
ابزارهای متاکیس، یک معماری سه سطحی دارند.
(شکل مقابل ساختار ابزار کیس و متاکیس)
۱) پایینترین، سطح مدل، شبیه سطح مدل در ابزارهای CASE میباشد. آن شامل مدلها و طرحهای سیستم است.
۲) سطح میانی، دربرگیرنده یک مدل از متد میباشد؛ یعنی یک متامدل. یک متامدل شامل مفاهیم، قوانین و نماد گذاریهای رسم نمودار متد فرضی است. به عنوان مثال، یک متامدل ممکن است در مورد مفاهیمی همچون کلاس و ارث بری تصریح کند که آنها چگونه با یکدیگر رابطه دارند و یا چگونه نمایش داده میشوند. به هر حال، به جای اینکه کد در ابزار قرار بگیرد، در یک ابزار کیس مشخّص، متد به عنوان داده در مخزن ذخیره میشود. اخیرا کاربرد متامدلها عمومیتر شده است. بسیاری از کتب متد امروزه شامل متامدلهای متدشان و چندین نوآوری مهم هستند؛ از قبیل XMI که مبتنی بر متامدل هستند. برخلاف یک ابزار کیس، یک ابزار متاکیس به کاربر این امکان را میدهد تا متامدل را اصلاح کند. از این رو، متاکیس به قابلیّت انعطاف مشخّصههای متد بستگی دارد.
۳) این امر با داشتن لایه سوم و بالاتر به دست میآید که شامل زبان مدل سازی متا برای مشخّص کردن متدها میباشد. این سطح همان بخش hard-coded نرمافزار متاکیس میباشد.
تمامی این سطوح به شدّت باهم در ارتباطند : یک مدل مبتنی بر یک متامدل است و به نوبه خود به یک زبان متامدل سازی وابسته است. واضح است که هیچ مدل سازی بدون تعدادی از انواع متامدل ممکن نیست. این ساختار وابستگی شبیه وابستگی بین اشیا، کلاسها و متاکلاسها در برخی زبانهای برنامه نویسی شیگرا میباشد.
● ابزارهای متاکیس
فهرستی از ابزارهای متاکیس در دسترس عبارتند از :
- Alfabet
- ArgoUML
- ConceptBase
- Coral
- GME
- IPSYS TOOLBUILDER
- MetaEdit+ (دنیای نرمافزار هدایت مدل سازی با دامنه خاص)
- Metamill
- MetaView
- OpenSoul Metamodeler
- Paradigm Plus تولید شده توسّط شرکای کامپیوتری.
▪ OpenSoul Metamodeler
OpenSoul Metamodeler یک MOF است که مبتنی بر ابزار کیس متامدل سازی است. آن برروی MDR (مخزن متاداده Netbeans) و JGraph ساخته شده است و بخش از پروژه OpenSoul است که قصد دارد تا یک framework برای به اشتراک گذاری مدلها بین اعضای انجمن متامدل سازی باشد.
▪ پروژه OSM توسّط تیم کوچکی از دانشجویان و اساتید ساختمان IT دانشگاه Economy پراگ ساخته شده است. OSM به زبان جاوا ایجاد شد و مبتی بر MOF، استانداردهای OMG، JMI، مخزن متاداده Netbeans، مؤلّفههای JGraph و استانداردهای W۳C است. آن با برخی ابزارهای کیس و متاکیس موجود مانند MetaEdit+، DOME، ArgoUML و Poseidon برای UML و شبیه ساز ریاضی خطوط راهنمای سیاست مالی شرکت القا شده بود.
▪ Metamill
Metamill، یک ابزار مهندسی round-trip (زمانی بین ارسال یک بسته اطلاعاتی از مبدأ به مقصد و برگشت آن را round-trip نامند) است. مهندسی میتواند مدلها را با تولید کد C++، Java، C#، C و VB.NET با کمک نشانگرهای کد ارسال کند تا تغییرات شما حفظ بماند.
سیستم متامدل مبتنی بر استاندارد UML ۲.۱ است. فایلهای مدل، فایلهای XML هستند که بر پایه استاندارد XMI ۲.۱ استوارند.
Metamill به خاطر نیاز به کاهش هزینه، ابزار مدلسازی سریع و پیشرفته UML ایجاد شد. ایده محرّک آن، پشتیبانی از مدل سازی ویژوال ابداعی است که تنها جنبههای مورد نیاز را پیشنهاد میکند.
همانگونه که طرّاحان شخصی برای مهندسی و مدل سازی UML به یک ابزار پیشرفته و در عین حال از نظر هزینه قابل کنترل نیازمندند، Metamill نیز برای گروههای مهندسی نرمافزار مناسب است.
● پروژههای تحقیقاتی متاکیس
MetaCASE در دانشگاه ساندرلند، بریتانیا.
Method Engineering در دانشگاه Twente کشور هلند.
ConceptBase از Rheinisch-Westfälische Hoschule در آخن (آلمان) که در واقع به طور قیاسی اشیا را برای پایگاههای داده متا مدیریّت میکند. آن Teloها را به همراه یک زبان مدل سازی ادراکی با خصوصیّات شیگرایی و قیاسی پیاده سازی میکند.
GOODSTEP از دانشگاه دورتموند (آلمان) یک پایگاه داده شیگرا برای فرآیندهای نرمافزاری است. در بالای پایگاه داده دو مولّد ابزار و یک سیستم مدل سازی و تصویب کننده فرآیند نرمافزاری ایجاد شده است.
Hardy از مؤسّسه کاربردهای هوش مصنوعی در ادینبورو (اسکاتلند)، یک ابزار ترسیم دیاگرام مبتنی بر فرامتن (hypertext) است. آن برروی سیستمهای Sun و همچنین PCها قابل اجراست.
HotDraw از ساختمان علوم کامپیوتر واقع در دانشگاه Illinois در Urbana-Champaign (ایالات متّحده امریکا)، یک framework گرافیکی برای ویرایشگرهای ترسیم ساخت یافته با انیمیشن هستند. آن برای ایجاد بسیاری از ابزارهای گوناگون CASE به کار میرود.
● فواید واقعی استفاده از ابزارهای متاکیس
جکسون تفاوت اساسی بین یک دامنه کاربرد و کد آن را اینگونه تشخیص میدهد : دو دنیای متفاوت، هر کدام با زبان، متخصّصان و روشهای تفکّر خودشان .... یک برنامه کاربردی تمام شده، اشتراک بین این دو جهان را تشکیل میدهد. وظیفه دشوار مهندس نرمافزار، ساخت پلی بین این دو جهان در ضمن حلّ مسائل در هر دو جهان است.
مطالعات تجربی به طور توافقی نشان دادهاند که تنها در نیمه نخست تمام پروژههای توسعه، متدها به کار گرفته میشوند. ضمن به کار گیری متدها، بیش از %۵۰ اصلاح متدها منجر به تطبیق بهتر آنها با نیازها یا حتّی توسعه متد خودشان شده است.
در یک ابزار کیس استاندارد، متد پشتیبانی شده توسّط ابزار، مشخّص و ثابت است : آن نمیتواند تغییر کند. در یک ابزار متاکیس، برای تغییر متد، یا حتّی ایجاد یک متد کاملا جدید، آزادی کامل وجود دارد. مدلها و متامدلها، هر دو (توصیفات متد) به عنوان عناصر درجه اوّل در مخزن محسوب میشوند. پس برای یک سازمان این امکان به وجود میآید که متدی را ایجاد کنند که با نیازها و موقعیّتشان سازگار باشد و همچنین بتوانند آن آگاهی و دانش را به تمامی توسعه دهندگان انتشار دهند. آنگاه ابزار و متدی که توسعه دهندگان را هدایت میکند، یک framework مشترک برای کار کردن آنها به وجود میآورد و کار را برای کلّ گروه یکپارچه میکند.
نمونههای اوّلیّه تحقیق و حتّی ابزارهای متاکیس تجاری، سالهای زیادی وجود داشته است ولی تنها اخیرا ابزارهایی به وجود آمده است که کامل شدهاند و برای توسعه دهنده متد و نیز کاربر متد user-friendly و پایدار شدهاند. یکی از شناخته شدهترین و پرکاربردترین ابزارهای متاکیس، MetaEdit+ میباشد.
فهرست ذیل انواع مختلفی از روشهایی که این ابزارها میتوانند در طول توسعه نرمافزار به کار گرفته شوند را نشان میدهد :
- کاهش زمان و هزینه برای ایجاد یک محیط به کمک کامپیوتر
- پشتیبانی از متدهای توسعه رسمی نرمافزار
- پشتیبانی از تطبیق محیطهای توسعه
- میتوانند به عنوان یک ابزار مدلسازی اطّلاعاتی سیستمها به کار گرفته شوند
- پشتیبانی از متدهای ساختار یافته
- پشتیبانی از طرّاحی و تحلیل شیگرا
- میتوانند به عنوان یک ابزار مدل سازی منطقی استفاده شوند
- پشتیبانی از طیف وسیعی از متدها
- کمک به آموزش CASE
این ابزارها همچنین بایستی مشخّصههای ذیل را دارا باشند :
- ایجاد امکان برای کاربران تا بتوانند متدی را ایجاد کنند که متدهای مهندسی نرمافزار خودشان را با منحنی آموزشی کم، پشتیبانی کنند
- استفاده آسان از ابزار گرافیکی CASE برای پشتیبانی از تعاملهای ساده و کارای کاربر
- توانایی بررسی پایداری مدل حتّی در زمان اجرا
- داشتن امکان تولید گزارش استاندارد
- داشتن قابلیّت تبدیل از یک متد به متد دیگر
- داشتن قابلیّت تزریق معیار متری CASE
- داشتن ابزار مدیریّت پیچیدگی برای ایجاد دیدهای محدود و نمایشهای ریز مدل
- داشتن ورودی محاورهای پیچیده و مصنوعی برای ایجاد و اصلاح دادههای مدل
- پشتیبانی از متدهای چندگانه و قابل سفارشی شدن
محمد معصومی شهربابک
منبع :
ترجمه کامل مقاله MetaCASE tool از دایرهالمعارف آزاد ویکی پدیا.
ایران مسعود پزشکیان دولت چهاردهم پزشکیان مجلس شورای اسلامی محمدرضا عارف دولت مجلس کابینه دولت چهاردهم اسماعیل هنیه کابینه پزشکیان محمدجواد ظریف
پیاده روی اربعین تهران عراق پلیس تصادف هواشناسی شهرداری تهران سرقت بازنشستگان قتل آموزش و پرورش دستگیری
ایران خودرو خودرو وام قیمت طلا قیمت دلار قیمت خودرو بانک مرکزی برق بازار خودرو بورس بازار سرمایه قیمت سکه
میراث فرهنگی میدان آزادی سینما رهبر انقلاب بیتا فرهی وزارت فرهنگ و ارشاد اسلامی سینمای ایران تلویزیون کتاب تئاتر موسیقی
وزارت علوم تحقیقات و فناوری آزمون
رژیم صهیونیستی غزه روسیه حماس آمریکا فلسطین جنگ غزه اوکراین حزب الله لبنان دونالد ترامپ طوفان الاقصی ترکیه
پرسپولیس فوتبال ذوب آهن لیگ برتر استقلال لیگ برتر ایران المپیک المپیک 2024 پاریس رئال مادرید لیگ برتر فوتبال ایران مهدی تاج باشگاه پرسپولیس
هوش مصنوعی فناوری سامسونگ ایلان ماسک گوگل تلگرام گوشی ستار هاشمی مریخ روزنامه
فشار خون آلزایمر رژیم غذایی مغز دیابت چاقی افسردگی سلامت پوست