از زبان SysML[1] که یکزبان مدلسازی سیستم است در پشتیبانی از مهندسی سیستم مبتنی بر مدل (MBSE[2]) استفاده میشود. رویکرد مهندسی سیستم مبتنی بر مدل به مجموعهای از روشهای استاندارد توسعه سیستم اشاره دارد که از طریق نرمافزار مدلسازی، روشها و ابزار مربوطه برای کل چرخه عمر یک سامانه انجام میشود.
مهندسی سیستم مبتنی بر مدل میتواند کمک فراوانی به مدیریت پیچیدگی، در عین بهبود کیفیت طراحی و زمان چرخه، با افزایش ارتباط میان تیم توسعه مختلف و تسهیل در جذب دانش و تکامل طراحی کند. زبان مدلسازی استاندارد و قوی که در نظر گرفتهشده بهعنوان توانمند ساز حیاتی برای مهندسی سیستم مبتنی بر مدل (MBSE) میباشد.
زبان مدلسازی سیستم (SysML) چیست؟
زبان مدلسازی سیستم (SysML) یکزبان مدلسازی گرافیکی و استاندارد است که براي مدلسازی فرایندها در مهندسی سیستم طراحیشده است. بهویژه این زبان براي بیان مشخصات، تحلیل و تصدیق سیستمهای پیچیده به وجود آمده است که در آنها یک سیستم ممکن است از مؤلفههای متفاوتی همچون سختافزار، نرمافزار یا رویهها تشکیل شود. از آنجاییکه طراحی یک سیستم پیچیده حدود هشتاد درصد از هزینه و زمان یک چرخه حیات (عمر) متوازن را در برمیگیرد لذا مدلسازی بر اساس ضوابط یکزبان منسجم میتواند راهکاري مناسب براي تداوم اصول طراحی در حین انجام تغییرات باشد.
ارتباط UML و SysML ؟
زبان SysML بهعنوان یکزبان یکپارچه در حوزه مهندسی سیستمها و در واقع همتا و همزاد زبان UML[3] در مهندسی نرمافزار است. این زبان بر مبناي نمادهاي گرافیکی استاندارد توسعهیافته است و ساختار طراحی آن بهصورت شئ گرا میباشد. زبان مدلسازی سیستم (OMG SysMLTM) یکزبان مدلسازی برای اهداف عمومی است که از مشخصات، طراحی، تجزیهوتحلیل و تائید سیستم که ممکن است شامل سختافزار و تجهیزات، نرمافزار، اطلاعات، پرسنل، روشها و امکانات باشد، پشتیبانی میکند. SysML یکزبان مدلسازی گرافیکی با یکپایه معنایی برای ارائه الزامات، رفتار، ساختار و ویژگیهای سیستم و اجزای آن است. این مسئله برای مدل سیستمها در طیف گستردهای از حوزههای صنعت مانند هوافضا، خودرو، مراقبتهای پزشکی و غیره مدنظر است.
SySML بر مبنای UML (زبان مدلسازی یکپارچه) بنیان نهاده شده است که خود یکزبان مدلسازی متداول در مهندسی نرمافزار است و بر اساس مفاهیم عمیق شی گرایی طراحیشده است. به مدت چند سال، UML برای مدلسازی سیستمهای فیزیکی نیز بکار میرفت، اما مشکلاتی برای مدلسازی سیستمهای واقعی با UML که مشخصاً نرمافزاری است وجود داشت. راهحل این مشکلات بهصورت SySML مطرحشده است که درواقع زبان جدیدی نیست بلکه شکل توسعهیافته و اصلاحشده UML برای تشریح مدل سیستمهای فیزیکی است. INCOSE هدف خود را در سال 2001 ایجاد UML بهعنوان یکزبان استاندارد برای مهندسی سیستم تعیین کرد. ازآنجا که SysML و UML خیلی به هم مرتبط هستند، ساختارها و مفاهیم آنها خیلی مشابه هستند.
درحالیکه SysML یک فرمت و جزئی از UML است، در عین حال بعضی از عناصر UML در آن حذف میگردد. بسط معرفیشده برای SysML محدود به کلیشهها و چندین نمودار جدید میباشند. کلیشهها میتوانند در هر ابزار UML تعریف شوند. هیچ ابزار خاصی برای SysML لازم نیست. فقط نمودارهای جدید نیاز به حمایت خاص دارند؛ اما این نگرانیها فقط در سطح نمودار و نه در مدل است. بااینوجود، ابزار مدلسازی SysML بهطور طبیعی میتوانید از زبان بهتر و ارائه عملکرد مناسب پشتیبانی کند. شکل 1 رابطه میان UML و SySML را نشان میدهد. در شکل 1 مشخص است که SySML مقدار زیادی از ساختار UML را به عاریت گرفته است.
SySML حاوی مجموعهای از نمودارهای مختلف است که برای مدلسازی جنبههای مختلف سیستم بکار میروند. این نمودارها در شکل 2 نشان دادهشدهاند. شکل 2 نشان میدهد درحالیکه UML مشتمل بر سیزده نمودار مختلف است، SySML فقط نه نمودار دارد که از این میان فقط دو نمودار الزامات و پارامتری مختص SySML میباشند و بقیه نمودارها یا شکل اصلاحشده و تغییریافته نمودارهای UML میباشند؛ مانند نمودار بلاک (که تغییریافته نمودار کلاس است) و همچنین نمودارهای بلاک داخلی و فعالیت، یا اینکه مستقیم و بدون تغییر از UML به SySML منتقلشدهاند؛ مانند نمودارهای بسته، مورد کاربرد، ماشین حالت و توالی.
چهار زمینه موضوعی برای مدلسازی SysML
چهار زمینه موضوعی برای مدلسازی SysML تعریفشده است. ساختار، رفتار، پارامتریک و الزامات. این تقسیمبندی توسط گروه مدیریت شیء (OMG) ارائهشده است که مشخصات برای SysML را تولید کرده است. زبان مدلسازی SysML شامل دیدگاههای مختلف از یک سیستم است که این دیدگاهها بهعنوان چهار رکن این زبان مدلسازی شناخته میشود. اولین رکن اشاره به الزامات یک سامانه دارد و شامل تمام الزامات کارکردی و غیر کارکردی آن است. رکن دوم ساختار سامانه را با در نظر گرفتن تمام زیرسیستمها و اتصالات مختلف ارائه میکند. رکن سوم رفتار سامانه را در نظر میگیرد و شامل ایجاد فعالیتهای کارکردی، سناریوها و حالتهای مختلف سامانه میباشد. رکن آخر شامل ویژگیهای دقیق، قوانین و محدودیتهای فیزیکی بر روی سامانه است.
الف) نمودارهای ساختاری:
هر واحد پایهای که در سيستم بکار میرود. بلاک نام دارد و عنصر محوری در SysML است که میتواند سختافزاری یا نرمافزاری باشد. بلاک نمایانگر هر یک از سطوح بالایی سیستم، زیرسیستم یا مؤلفه سازنده سیستم یا حتی محیط است. بلاک نهتنها دارای ویژگیهای ساختاری میان بلاکهای سیستم هستند و عبارتاند از:
- نمودار تعریف بلاک (bdd): هسته اصلی در نمودارهای SySML است که سلسلهمراتب ساختاری سیستم و مؤلفههای سیستم را نشان میدهد و یک دید ایستا از سیستم ارائه میکند.
- نمودار بلاک داخلی (ibd): ساختار داخلی هر بلاک در سیستم را توصیف میکند و دید طراحی را ارائه میدهد.
- نمودار بسته (pKg): برای سازماندهی مدل و بیان ساختار آن بکار میرود و دید مدیریت مدل را ارائه میکند.
ب) نمودارهای رفتاری:
رفتار پویا میان بلاکهای سیستم را نشان میدهند و عبارتاند از:
- نمودار مورد کاربرد (llC): یک بیان سطح بالا از عملکردهای ناشی از تعامل میان سیستمها یا بخشهای آنها را نشان میدهد و حاوی یک دید کاربردی است.
- نمودار توالی (Sd): نمایانگر تعامل میان بخشهای همکار در سیستم است و دید برهمکنش را در بردارد.
- نمودار فعالیت (aCt): جریان دادهها و کنترل میان فعالیتها را نشان میدهد و دربردارنده دید فعالیت است.
- نمودار ماشین حالت (StIn): گذار میان حالات کل سیستم یا بخشهای آن در پاسخ به رخدادها را نشان میدهد و حاوی دید وضعیت نگاری است.
ج) نمودار الزامات (Teq):
بیانگر الزامات سیستم، سلسلهمراتب آنها و روابطی است که این الزامات را برآورده میسازند یا بازبینی مینمایند. این روابط، امکان ارتباط الزامات با یکدیگر و نیز با مدلهای طراحی سیستم و موارد تست را فراهم میسازند. نمودار الزامات همانند یک پل، اتصال میان مدلهای سیستم و ابزارهای متداول برای مدیریت الزامات را برقرار میسازند و یک دید مناسب از نیازمندیها ارائه میکنند.
د) نمودار پارامتری (par):
این نمودار محدودیتهای کمّی موجود در خصوصیات سیستم همانند کارایی، قابلیت اطمینان و خواص عمده آن را بیان میکند و ابزاری باهدف تجمیع مدلهای طراحی و مشخصات سیستم با تحلیلهای مهندسی آن است. این هدف با تعریف بلاک محدودیت برآورده میشود که شامل یک معادله ریاضی و پارامترهای آن است که میتوانند مربوط به خصوصیات بلاک باشند. این نمودار دید مهندسی نسبت به سیستم را نشان میدهد.
References
- Dennis M. Buede, William D. Miller. The Engineering Design of Systems: Models and Methods. John Wiley & Sons, 2016.
- Object Management Group.
- Weilkiens, Tim. Systems Engineering with SysML/UML Modeling, Analysis, Design. Morgan Kaufmann Publishers and the Object Management Group, 2007.
- سید امیر هادي مینوفام و همکاران. “1- ارائه یک چارچوب تجربی براي زبان مدلسازی سیستم (SysML) در طراحی سامانه های فرماندهی و کنترل توسعه محور به منظور انسجام مؤلفه های زیرساختی.” نهمین کنفرانس ملی فرماندهی و کنترل ایران. تهران: دانشگاه خوارزمی و انجمن علمی فرماندهی و کنترل ایران، 1395.
- علی ربانی، نیما واعظی. “مدلسازی سیستم هیبرید بادی-خورشیدی با استفاده از زبان مدلسازی سیستم.” همایش بینالمللی افقهای نوین در علوم پایه و فنی و مهندسی. تهران: انجمن افق نوین علم و فناوری، 1395.
[1] Systems Modeling Language
[2] Model-based systems engineering
[3] Unified Modeling Language
گذاشتن کامنت