de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

زبان مدلسازی سیستم نسخه ۲ (SysML v2) نشانگر تغییر بزرگی در مهندسی سیستم است. با دور شدن از محدودیت‌های گرافیکی سفت و سخت مبتنی بر UML در SysML v1، SysML v2 یک سینتکس مبتنی بر زبان و متنی. این سینتکس ساختار، رفتار، الزامات و تحلیل را به عنوان عناصر متنی عمیقاً یکپارچه در نظر می‌گیرد.

این راهنما جامع، ستون‌های اصلی، مفاهیم و سینتکس SysML v2 را با استفاده از یک مثال طراحی ملموس Droneخودران مثال طراحی.

The core pillars, concepts, and syntax of SysML v2 using a concrete AutonomousDrone example


۱. مفهوم اصلی: تعاریف در مقابل استفاده‌ها

مهم‌ترین مفهوم معماری در SysML v2، جداسازی دقیق بین تعریف‌ها (طرح‌های اولیه) و استفاده‌ها (نمونه‌های متنی).

  • این def کلمه کلیدی: نشان‌دهنده یک تعریف قابل استفاده مجدد، نوع یا طرح اولیه عنصر است. تا زمانی که استفاده نشود، به صورت یک شی فیزیکی وجود ندارد.

  • نه def کلمه کلیدی: نشان‌دهنده یک استفاده است. نماینده وقوع واقعی یا نمونه مؤلفه در یک سیستم والد خاص است.

// تعریف: یک طرح اولیه قابل استفاده مجدد برای هر باتری
part def Battery;

// استفاده: یک نمونه خاص از باتری درون سیستم درون‌پروازی ما
part powerSource : Battery;

این تفکیک به مهندسان اجازه می‌دهد یک مؤلفه را یک بار تعریف کنند و آن را در چندین زیرسیستم با نام‌های مختلف، پیکربندی‌های متفاوت و اتصالات داخلی متفاوت استفاده کنند.


۲. معماری ساختاری: قطعات، اقلام و پورت‌ها

SysML v2 معماری‌های فیزیکی یا منطقی را به مؤلفه‌ها، چیزهایی که از آن‌ها عبور می‌کنند و اتصالاتی که آن‌ها را به هم متصل می‌کنند، تقسیم می‌کند.

قطعات و اقلام

  • part def (بلوک / مؤلفه): یک مؤلفه ساختاری، فیزیکی یا منطقی سیستم را تعریف می‌کند.

  • item def (آیتم جریان): عناصر غیرثابت را تعریف می‌کند—مانند جریان‌های داده، مایعات، نیرو یا برق—که بین قطعات جریان دارند.

پورت‌ها و رابط‌ها

  • تعریف پورت (مشخصات رابط): مرز رابط را تعریف می‌کند، به طور صریح مشخص می‌کند که چه داده‌ها یا اقلامی می‌توانند وارد شوند (ورودی) یا خارج شوند (خروجی).

اینجا نحوه اعلان و نهاده شدن این مؤلفه‌ها درون نام‌فضای سیستم آمده است:

بسته DroneSystemExample {
    private وارد کردن ScalarValues::*;
    private وارد کردن SI::*;

    // طرح‌های اصلی (تعریف‌ها)
    آیتم تعریف Power;

    پورت تعریف PowerOutPort {
        خروجی آیتم powerElec : Power;
    }
    
    پورت تعریف PowerInPort {
        ورودی آیتم powerElec : Power;
    }

    قطعه تعریف FlightController;
    قطعه تعریف PropulsionSystem;
    قطعه تعریف Battery;

    // زمینه سیستم یکپارچه
    قطعه تعریف AutonomousDrone {
        // ویژگی‌های ویژگی‌ها / ویژگی‌های مقداری
        ویژگی enduranceActual : Real;

        // استفاده از زیرقطعه‌ها (ایجاد نمونه از تعاریف)
        قطعه flightController : FlightController;
        قطعه propulsionSystem : PropulsionSystem;
        قطعه powerSource : Battery;

        // استفاده از پورت‌ها (ایجاد نمونه از رابط‌ها)
        پورت pBatteryOut : PowerOutPort;
        پورت pPropulsionIn : PowerInPort;
    }
}


3. ستون مطالبه (فضای مسئله)

در SysML v1، مطالبه‌ها اغلب بلوک‌های متنی بودند که از ریاضیات مهندسی جدا شده بودند. در SysML v2، مطالبه‌ها هستندتعریف‌های متنی اولویت اول حاوی متادیتا، متن توصیفی و ویژگی‌های قوی‌النوع برای بررسی خودکار است.

مطالبه تعریف RangeRequirement {
    توضیح /* درون باید حداقل 45 دقیقه پرواز مداوم را حفظ کند. */
    ویژگی enduranceTarget : Real = 45.0;
}

ردیابی با برآورده کردن

برای بستن حلقه بین فضای مسئله (مطالبه‌ها) و فضای راه‌حل (ساختار)، SysML v2 از کلمات کلیدی رابطه‌ای مشخص مانند برآورده کردن مستقیماً درون متن قطعه:

قطعه تعریف AutonomousDrone {
    // نمونه‌سازی استفاده از مطالبه برای برآورده کردن تعریف به صورت تمیز
    برآورده کردن مطالبه : RangeRequirement;
}


4. ستون رفتار (فضای اجرایی)

SysML v1 تقسیم تمیزی بین ساختار (نمودارهای بلوک داخلی) و رفتار (نمودارهای فعالیت) ایجاد کرد. SysML v2 این مانع را کاملاً حذف می‌کند و با تبدیل اقدامات و جریان‌های کنترلی به عنوان عناصر ساختاری اصلی و در دامنه مربوطه.

اقدامات توالی‌ای و جریان کنترل

با استفاده از اقدامکلیدواژه، شما می‌توانید توابعی تعریف کنید که ورودی‌ها را قبول می‌کنند (ورودی) و خروجی‌ها را انتقال می‌دهند (خروجی). جریان کنترل به صورت خطی با استفاده از کلیدواژه سپس کلیدواژه، نیاز به نمودارهای پیچیده جریان کنترل را حذف می‌کند.

اقدام executeMission {
    ورودی targetCoordinates;
    خروجی missionStatus;
    
    اقدام sTakeoff;
    سپس اقدام sNavigate;
    سپس اقدام sLand;
}


5. تخصیص عملکردی: اتصال رفتار به ساختار

تخصیص پاسخی به سؤال اساسی مهندسی سیستم‌ها می‌دهد: کدام جزء کدام عملکرد را انجام می‌دهد؟

SysML v2 این موضوع را به شکل تمیز با استفاده از کلیدواژه انجام کلیدواژه در یک بلوک استفاده از قطعه. با استفاده از نوتاسیون نقطه‌ای (.))، شما می‌توانید به داخل حلقه‌های اقدامات تو در تو بروید تا عملیات را مستقیماً به سخت‌افزار فیزیکی نگاشت کنید.

قسمت تعریف AutonomousDrone {

    // زیر قطعات رفتار را با صراحت 'انجام دادن' مراحل اختصاص یافته تخصیص می‌دهند
    قسمت flightController : FlightController {
        انجام executeMission.sNavigate;
    }
    
    قسمت propulsionSystem : PropulsionSystem {
        انجام executeMission.sTakeoff;
    }

    // تعریف رفتار داخلی
    اقدام executeMission {
        اقدام sTakeoff;
        سپس اقدام sNavigate;
        سپس اقدام sLand;
    }
}


 

خلاصه کلیدواژه‌های اصلی

کلیدواژه فضا هدف
بسته ساختاری فضای نامی کانتینر را تعریف می‌کند تا مدل شما را سازماندهی کند.
وارد کردن خصوصی ساختاری کتابخانه‌های استاندارد خارجی را وارد می‌کند (مثل مقادیر اسکالریاSIواحد‌ها) به دامنه مورد نظر درآورده شوند بدون اینکه به سمت پایین‌دست نشت کنند.
تعریف پارادایم نشان‌دهنده الگوی قابل استفاده مجدد یا تعریف نوع است.
جزء / آیتم ساختاری یک مؤلفه فیزیکی/منطقی یا جریان مایع/داده‌ای که از سیستم عبور می‌کند را اعلام می‌کند.
پورت ساختاری مرزی را برای تعیین رابطه تعریف می‌کندورودیوخروجیجریان‌ها.
نیازمندی مشکل قرارداد مبتنی بر متنی را تعریف می‌کند که شامل ویژگی‌های تایپ‌شده و اهداف ریاضی است.
برآورده کردن رابطه عنصر ساختاری را مستقیماً به نیازمندی‌ای که آن را برآورده می‌کند متصل می‌کند.
اقدام اجرای مرحله رفتاری یا عملکرد عملیاتی را تعریف می‌کند.
سپس اجرای ترتیب اجرای توالی‌ای بین اقدامات را اجباری می‌کند.
انجام دادن تخصیص یک اقدام رفتاری را به طور مستقیم به بخش فیزیکی که مسئول اجرای آن است، نگاشت می‌کند.

 

مثال کامل از SysML V2: سه ستون

بسته DroneSystemExample {

خصوصی وارد کردن ScalarValues::*;

خصوصی وارد کردن SI::*;

// ==========================================

// تعریف‌های پایه الگوی اصلی

// ==========================================

آیتم تعریف قدرت;

درگاه تعریف PowerOutPort {

خروجی آیتم powerElec : Power;

}

درگاه تعریف PowerInPort {

ورودی آیتم قدرتالکتریکی : قدرت;

}

قسمت تعریف کنترلکنندهپرواز;

قسمت تعریف سیستمپیشرانه;

قسمت تعریف باتری;

// ==========================================

// 1. ستون نیازمندی (فضای مسئله)

// ==========================================

نیازمندی تعریف نیازمندیمحدوده {

مستندات /* درون باید حداقل 45 دقیقه پرواز مداوم را حفظ کند. */

ویژگی هدفبازدهی : حقیقی = 45.0;

}

// ==========================================

// 2. ستونهای ساختار و رفتار

// ==========================================

قسمت تعریف هواپیمای خودکار {

ویژگی دوام واقعی: واقعی;

// قسمت‌های فرعی رفتار را با انجام صریح مراحل اختصاص داده شده تخصیص می‌دهند

قسمت کنترل‌کننده پرواز: کنترل‌کننده پرواز {

انجام بده اجرای مأموریت.sNavigate;

}

قسمت سیستم محرکه: سیستم محرکه {

انجام بده اجرای مأموریت.sTakeoff;

}

قسمت منبع توان: باتری;

// اتصالات رابط

پورت pBatteryOut: پورت خروجی قدرت;

پورت pPropulsionIn: پورت ورودی قدرت;

// اصلاح 1: یک استفاده از نیازمندی را ایجاد می‌کند تا تطبیق تعریف به صورت تمیز برآورده شود

برآورده کردن نیازمندی : نیازمندی محدوده;

// ==========================================

// 3. ستون رفتار (فضای اجرایی)

// ==========================================

// تعریف‌های تمیز و متوالی اقدامات به صورت طبیعی در دامنه

اقدام اجرای مأموریت {

در مختصات مقصد;

خارج وضعیت مأموریت;

اقدام sبرخاستن;

سپس اقدام sجهت‌گیری;

سپس اقدام sپرواز;

}

}

}