de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Ngôn ngữ mô hình hóa hệ thống phiên bản 2 (SysML v2) đánh dấu một bước chuyển lớn trong kỹ thuật hệ thống. Bằng cách rời bỏ các ràng buộc đồ họa cứng nhắc dựa trên UML của SysML v1, SysML v2 giới thiệu một ngữ pháp văn bản dựa trên ngôn ngữ. Ngữ pháp này coi cấu trúc, hành vi, yêu cầu và phân tích như các thành phần văn bản được tích hợp sâu sắc.

Cuốn hướng dẫn toàn diện này phân tích các trụ cột cốt lõi, các khái niệm và ngữ pháp của SysML v2 bằng cách sử dụng một ví dụ thiết kế cụ thể AutonomousDrone về thiết kế.

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


1. Mô hình cốt lõi: Định nghĩa so với Sử dụng

Khái niệm kiến trúc quan trọng nhất trong SysML v2 là sự phân tách nghiêm ngặt giữa Định nghĩa (bản vẽ thiết kế) và Sử dụng (thực thể trong ngữ cảnh).

  • Thì def từ khóa: Chỉ ra một định nghĩa tái sử dụng, kiểu hoặc bản vẽ thiết kế cho một phần tử. Nó không tồn tại như một đối tượng vật lý cho đến khi được sử dụng.

  • Không có def từ khóa: Chỉ ra một sử dụng. Nó đại diện cho một sự kiện thực tế hoặc một thể hiện thành phần bên trong một hệ thống cha cụ thể.

// ĐỊNH NGHĨA: Một bản vẽ thiết kế tái sử dụng cho bất kỳ pin nào
part def Battery;

// SỬ DỤNG: Một thể hiện cụ thể của pin bên trong hệ thống máy bay không người lái của chúng ta
part powerSource : Battery;

Sự phân biệt này cho phép các kỹ sư định nghĩa một thành phần một lần và tái sử dụng nó trong nhiều hệ thống con với tên gọi, cấu hình và kết nối nội bộ khác nhau.


2. Kiến trúc cấu trúc: Các bộ phận, Đối tượng và Cổng

SysML v2 chia kiến trúc vật lý hoặc logic thành các thành phần, những thứ chảy qua chúng, và các giao diện kết nối chúng.

Các bộ phận và Đối tượng

  • part def (Block / Thành phần): Định nghĩa một thành phần hệ thống cấu trúc, vật lý hoặc logic.

  • item def (Phần tử dòng chảy): Định nghĩa các phần tử không cố định—như luồng dữ liệu, chất lỏng, lực hoặc điện—chảy giữa các bộ phận.

Cổng và Giao diện

  • định nghĩa cổng (Chuẩn giao diện): Định nghĩa ranh giới giao diện, chỉ rõ rõ ràng những dữ liệu hay mục nào có thể đi vào (vào) hoặc rời khỏi (ra).

Dưới đây là cách các thành phần này được khai báo và lồng ghép bên trong một không gian tên hệ thống:

package DroneSystemExample {
    private import ScalarValues::*;
    private import SI::*;

    // Bản vẽ cơ sở (Định nghĩa)
    item def Power; 

    port def PowerOutPort {
        out item powerElec : Power;
    }
    
    port def PowerInPort {
        in item powerElec : Power;
    }

    part def FlightController;
    part def PropulsionSystem;
    part def Battery;

    // Bối cảnh hệ thống tích hợp
    part def AutonomousDrone {
        // Thuộc tính / Tính chất giá trị
        attribute enduranceActual : Real;

        // Sử dụng bộ phận con (Tạo thể hiện từ định nghĩa)
        part flightController : FlightController;
        part propulsionSystem : PropulsionSystem;
        part powerSource : Battery;

        // Sử dụng cổng (Tạo thể hiện từ giao diện)
        port pBatteryOut : PowerOutPort;
        port pPropulsionIn : PowerInPort; 
    }
}


3. Cột mốc Yêu cầu (Không gian vấn đề)

Trong SysML v1, các yêu cầu thường là các khối văn bản tách biệt khỏi toán học kỹ thuật. Trong SysML v2, các yêu cầu làđịnh nghĩa văn bản cấp cao chứa metadata, văn bản mô tả và các thuộc tính có kiểu mạnh để kiểm tra tự động.

requirement def RangeRequirement {
    doc /* Máy bay không người lái phải duy trì thời gian bay liên tục ít nhất 45 phút. */
    attribute enduranceTarget : Real = 45.0; 
}

Tính truy xuất nguồn gốc với thỏa mãn

Để đóng vòng khép kín giữa không gian vấn đề (yêu cầu) và không gian giải pháp (cấu trúc), SysML v2 sử dụng các từ khóa quan hệ rõ ràng như thỏa mãn trực tiếp bên trong ngữ cảnh bộ phận:

part def AutonomousDrone {
    // Tạo thể hiện một sử dụng yêu cầu để thỏa mãn bản đồ định nghĩa một cách rõ ràng
    satisfy requirement : RangeRequirement;
}


4. Cột mốc Hành vi (Không gian thực thi)

SysML v1 buộc phải tách biệt rõ ràng giữa cấu trúc (Sơ đồ khối nội bộ) và hành vi (Sơ đồ hoạt động). SysML v2 loại bỏ hoàn toàn rào cản này bằng cách đưa hành động và luồng điều khiển trở thành các thành phần cấu trúc bản địa, trong phạm vi.

Hành động tuần tự và Luồng điều khiển

Sử dụng hành động từ khóa, bạn có thể khai báo các hàm chấp nhận đầu vào (vào) và truyền đầu ra (ra). Luồng điều khiển được viết theo tuyến tính bằng cách sử dụng rồi từ khóa, loại bỏ nhu cầu về các sơ đồ luồng điều khiển phức tạp.

hành động executeMission {
    vào targetCoordinates;
    ra missionStatus;
    
    hành động sTakeoff;
    rồi hành động sNavigate;
    rồi hành động sLand;
}


5. Phân bổ chức năng: Kết nối hành vi với cấu trúc

Phân bổ trả lời câu hỏi cốt lõi của kỹ thuật hệ thống: Thành phần nào thực hiện chức năng nào?

SysML v2 xử lý điều này một cách rõ ràng bằng cách sử dụng thực hiện từ khóa trong khối sử dụng phần. Sử dụng Ký hiệu chấm (.), bạn có thể truy cập sâu vào các vòng lặp hành động lồng nhau để ánh xạ các thao tác trực tiếp đến phần cứng vật lý.

phần định nghĩa AutonomousDrone {

    // Các phần con phân bổ hành vi bằng cách rõ ràng 'thực hiện' các bước được giao
    phần flightController : FlightController {
        thực hiện executeMission.sNavigate;
    }
    
    phần propulsionSystem : PropulsionSystem {
        thực hiện executeMission.sTakeoff;
    }

    // Định nghĩa hành vi nhúng
    hành động executeMission {
        hành động sTakeoff;
        rồi hành động sNavigate;
        rồi hành động sLand;
    }
}


 

Tóm tắt các từ khóa chính

Từ khóa Không gian Mục đích
package Cấu trúc Xác định một không gian tên chứa để tổ chức mô hình của bạn.
nhập riêng tư Cấu trúc Nhập các thư viện tiêu chuẩn bên ngoài (như Giá trị vô hướng hoặc SI đơn vị) vào phạm vi mà không làm rò rỉ chúng xuống dòng sau.
def Tham chiếu Chỉ ra một bản vẽ mẫu có thể tái sử dụng hoặc định nghĩa kiểu.
phần / mục Cấu trúc Thông báo một thành phần vật lý/lôgic hoặc một luồng chất lỏng/dữ liệu chảy qua hệ thống.
cổng Cấu trúc Thiết lập một ranh giới giao diện xác định vào và ra luồng.
yêu cầu Vấn đề Định nghĩa một hợp đồng dựa trên văn bản chứa các thuộc tính có kiểu và các mục tiêu toán học.
thỏa mãn Mối quan hệ Kết nối một thành phần cấu trúc trực tiếp với yêu cầu mà nó đáp ứng.
hành động Thực thi Định nghĩa một bước hành vi hoặc chức năng vận hành.
thì Thực thi Cưỡng chế thứ tự thực thi tuần tự giữa các hành động.
thực hiện Phân bổ Ánh xạ một hành động hành vi trực tiếp đến phần vật lý chịu trách nhiệm thực hiện nó.

 

Ví dụ đầy đủ của SysML V2: Ba trụ cột

gói DroneSystemExample {

riêng tư nhập ScalarValues::*;

riêng tư nhập SI::*;

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

// ĐỊNH NGHĨA BẢN VẼ CƠ BẢN

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

mục định nghĩa Power;

cổng định nghĩa PowerOutPort {

ra mục powerElec : Power;

}

cổng định nghĩa PowerInPort {

vào mục powerElec : Công suất;

}

phần def Bộ điều khiển bay;

phần def Hệ thống đẩy;

phần def Pin;

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

// 1. CỘT YÊU CẦU (Không gian vấn đề)

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

yêu cầu defYêu cầu phạm vi {

doc /* Máy bay không người lái phải duy trì thời gian bay liên tục ít nhất 45 phút. */

thuộc tính enduranceTarget : Số thực = 45.0;

}

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

// 2. CỘT CẤU TRÚC & HÀNH VI

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

phần def Máy bay không người lái tự động {

thuộc tính enduranceActual : Thực;

// Các phần phụ gán hành vi bằng cách rõ ràng ‘thực hiện’ các bước được giao

phần flightController : FlightController {

thực hiện executeMission.sNavigate;

}

phần propulsionSystem : PropulsionSystem {

thực hiện executeMission.sTakeoff;

}

phần powerSource : Pin;

// Kết nối giao diện

cổng pBatteryOut : CổngCungCấpNăngLượng;

cổng pPropulsionIn : CổngNhậnNăngLượng;

// SỬA 1: Tạo một lần sử dụng yêu cầu để đáp ứng bản đồ định nghĩa một cách sạch sẽ

thỏa mãn yêu cầu : YêuCầuPhạmVi;

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

// 3. CỘT TRỤ HÀNH VI (Không gian Thực thi)

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

// Định nghĩa hành động tuần tự, sạch sẽ ngay trong phạm vi

hành động executeMission {

trong targetCoordinates;

ra missionStatus;

hành động sTakeoff;

sau đó hành động sNavigate;

sau đó hành động sLand;

}

}

}