de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Bahasa Pemodelan Sistem versi 2 (SysML v2) menandai perubahan besar dalam rekayasa sistem. Dengan meninggalkan batasan grafis yang kaku berbasis UML dari SysML v1, SysML v2 memperkenalkan sebuah sintaks berbasis bahasa, berbentuk teks. Sintaks ini memperlakukan struktur, perilaku, persyaratan, dan analisis sebagai elemen teks yang terintegrasi secara mendalam.

Panduan komprehensif ini menguraikan pilar-pilar utama, konsep-konsep, dan sintaks SysML v2 menggunakan contoh desain yang nyata AutonomousDrone contoh desain.

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


1. Paradigma Utama: Definisi vs. Penggunaan

Konsep arsitektur paling penting dalam SysML v2 adalah pemisahan ketat antara Definisi (pola kerja) dan Penggunaan (contoh kontekstual).

  • The def Kata kunci: Menunjukkan definisi yang dapat digunakan kembali, tipe, atau pola elemen. Ini tidak ada sebagai objek fisik hingga digunakan.

  • Tidak ada def Kata kunci: Menunjukkan penggunaan. Ini mewakili kejadian aktual atau contoh komponen dalam sistem induk tertentu.

// DEFINISI: Pola kerja yang dapat digunakan kembali untuk baterai apa pun
part def Battery;

// PENGGUNAAN: Contoh khusus baterai di dalam sistem drone kita
part powerSource : Battery;

Perbedaan ini memungkinkan insinyur mendefinisikan komponen sekali dan menggunakannya kembali di berbagai subsistem dengan nama, konfigurasi, dan koneksi internal yang berbeda.


2. Arsitektur Struktural: Bagian, Barang, dan Port

SysML v2 membagi arsitektur fisik atau logis menjadi komponen, hal-hal yang mengalir melaluinya, dan antarmuka yang menghubungkannya.

Bagian dan Barang

  • part def (Blok / Komponen): Mendefinisikan komponen sistem struktural, fisik, atau logis.

  • item def (Item Aliran): Mendefinisikan elemen-elemen yang tidak tetap—seperti aliran data, fluida, gaya, atau listrik—yang mengalir antar bagian.

Port dan Antarmuka

  • def port (Spesifikasi Antarmuka): Mendefinisikan batas antarmuka, secara eksplisit menentukan data atau item apa yang dapat masuk (masuk) atau keluar (keluar).

Berikut adalah cara komponen-komponen ini dideklarasikan dan bersarang di dalam ruang nama sistem:

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

    // Blueprint Dasar (Definisi)
    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;

    // Konteks Sistem Terintegrasi
    part def AutonomousDrone {
        // Atribut / Properti Nilai
        attribute enduranceActual : Real;

        // Penggunaan Sub-bagian (Menginstansiasi definisi)
        part flightController : FlightController;
        part propulsionSystem : PropulsionSystem;
        part powerSource : Battery;

        // Penggunaan Port (Menginstansiasi antarmuka)
        port pBatteryOut : PowerOutPort;
        port pPropulsionIn : PowerInPort; 
    }
}


3. Pilar Kebutuhan (Ruang Masalah)

Dalam SysML v1, kebutuhan sering berupa blok teks yang terisolasi dari matematika rekayasa. Dalam SysML v2, kebutuhan adalah definisi teks kelas pertama yang berisi metadata, teks deskriptif, dan atribut bertipe kuat untuk verifikasi otomatis.

requirement def RangeRequirement {
    doc /* Drone harus mempertahankan daya tahan terbang terus-menerus minimal 45 menit. */
    attribute enduranceTarget : Real = 45.0; 
}

Pelacakan dengan memenuhi

Untuk menutup lingkaran antara ruang masalah (kebutuhan) dan ruang solusi (struktur), SysML v2 menggunakan kata kunci hubungan eksplisit seperti memenuhi secara langsung di dalam konteks bagian:

part def AutonomousDrone {
    // Menginstansiasi penggunaan kebutuhan untuk memenuhi pemetaan definisi secara bersih
    memenuhi requirement : RangeRequirement;
}


4. Pilar Perilaku (Ruang Eksekusi)

SysML v1 memaksa pemisahan yang jelas antara struktur (Diagram Blok Internal) dan perilaku (Diagram Aktivitas). SysML v2 sepenuhnya menghilangkan batas ini dengan menjadikan aksi dan aliran kontrol sebagai elemen struktural bawaan, dalam cakupan struktural.

Aksi Berurutan dan Aliran Kontrol

Menggunakan aksikata kunci, Anda dapat mendeklarasikan fungsi yang menerima input (masuk) dan mengirimkan output (keluar). Alur kontrol ditulis secara linier menggunakan kemudiankata kunci, menghilangkan kebutuhan akan diagram alur kontrol yang rumit.

aksi executeMission {
    masuk targetCoordinates;
    keluar missionStatus;
    
    aksi sTakeoff;
    kemudian aksi sNavigate;
    kemudian aksi sLand;
}


5. Alokasi Fungsional: Menghubungkan Perilaku dengan Struktur

Alokasi menjawab pertanyaan dasar rekayasa sistem: Komponen mana yang melakukan fungsi apa?

SysML v2 menangani ini secara bersih menggunakan lakukankata kunci dalam blok penggunaan bagian. Menggunakan Notasi Titik (.), Anda dapat menjangkau ke dalam loop aksi bersarang untuk memetakan operasi langsung ke perangkat keras fisik.

bagian def DroneOtonom {

    // Bagian bawah mengalokasikan perilaku dengan secara eksplisit 'melakukan' langkah-langkah yang ditugaskan
    bagian flightController : FlightController {
        lakukan executeMission.sNavigate;
    }
    
    bagian propulsionSystem : PropulsionSystem {
        lakukan executeMission.sTakeoff;
    }

    // Definisi perilaku tertanam
    aksi executeMission {
        aksi sTakeoff;
        kemudian aksi sNavigate;
        kemudian aksi sLand;
    }
}


 

Ringkasan Kata Kunci Utama

Kata Kunci Ruang Tujuan
paket Struktural Mendefinisikan ruang nama kontainer untuk mengatur model Anda.
impor pribadi Struktural Membawa perpustakaan standar eksternal (seperti NilaiSkalar atau SI satuan) ke dalam cakupan tanpa mengalirkannya ke hilir.
def Paradigma Menandakan kerangka kerja yang dapat digunakan kembali atau definisi tipe.
bagian / item Struktural Menyatakan komponen fisik/logis atau aliran cairan/data yang mengalir melalui sistem.
port Struktural Membentuk batas antarmuka yang menentukan masuk dan keluar aliran.
kebutuhan Masalah Menentukan kontrak berbasis teks yang berisi atribut bertipe dan target matematis.
memenuhi Hubungan Menghubungkan elemen struktural langsung ke kebutuhan yang dipenuhinya.
aksi Eksekusi Menentukan langkah perilaku atau fungsi operasional.
maka Eksekusi Memaksa urutan eksekusi secara berurutan antara tindakan.
lakukan Alokasi Memetakan tindakan perilaku langsung ke bagian fisik yang bertanggung jawab untuk mengeksekusinya.

 

Contoh Lengkap dari SysML V2: Tiga Pilar

paketDroneSystemExample {

pribadi imporScalarValues::*;

pribadi imporSI::*;

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

// DEFINISI RANCANGAN DASAR

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

item defPower;

port defPowerOutPort {

out itempowerElec : Power;

}

port defPowerInPort {

in item powerElec : Power;

}

bagian def FlightController;

bagian def SistemPropulsi;

bagian def Baterai;

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

// 1. Pilar Kebutuhan (Ruang Masalah)

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

kebutuhan def RangeRequirement {

doc /* Drone harus mempertahankan daya tahan terbang terus-menerus setidaknya 45 menit. */

atribut targetDayaTahan : Real = 45.0;

}

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

// 2. Pilar Struktur & Perilaku

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

bagian def DroneOtonom {

atribut enduranceActual : Real;

// Sub-parts mengalokasikan perilaku dengan secara eksplisit ‘melakukan’ langkah-langkah yang ditugaskan

bagian flightController : FlightController {

melakukan executeMission.sNavigate;

}

bagian propulsionSystem : PropulsionSystem {

melakukan executeMission.sTakeoff;

}

bagian sumberDaya : Baterai;

// Koneksi antarmuka

port pBatteryOut : PowerOutPort;

port pPropulsionIn : PowerInPort;

// PERBAIKAN 1: Membuat instans penggunaan persyaratan untuk memenuhi pemetaan definisi secara bersih

memenuhi persyaratan : PersyaratanJangkauan;

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

// 3. Pilar Perilaku (Ruang Eksekusi)

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

// Definisi tindakan yang bersih dan berurutan secara bawaan dalam cakupan

aksi executeMission {

dalam targetCoordinates;

keluar missionStatus;

aksi sTakeoff;

lalu aksi sNavigate;

lalu aksi sLand;

}

}

}