de_DEen_USes_ESfa_IRfr_FRhi_INid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW

Język modelowania systemów wersja 2 (SysML v2) oznacza ogromny przeskok w inżynierii systemów. Przełamywając sztywne, oparte na UML ograniczenia graficzne SysML v1, SysML v2 wprowadzajęzykowo zorientowaną, tekstową składnię. Ta składnia traktuje strukturę, zachowanie, wymagania i analizę jako głęboko zintegrowane elementy tekstowe.

Ten kompletny przewodnik rozkłada podstawowe filary, koncepcje i składnię SysML v2, wykorzystując konkretny przykład projektuAutonomousDrone projektu.

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


1. Podstawowy paradygmat: Definicje wobec użyczeń

Najważniejszym koncepcyjnym elementem architektury w SysML v2 jest ostre rozróżnienie międzyDefinicjami (szkicami) iUżyciami (przypadkami kontekstowymi).

  • Thedef słowa kluczowego: Wskazuje na ponownie używalną definicję, typ lub szkic elementu. Nie istnieje jako obiekt fizyczny, dopóki nie zostanie użyty.

  • Brakdef słowa kluczowego: Wskazuje na użycie. Reprezentuje rzeczywiste wystąpienie lub instancję komponentu w określonym systemie nadrzędnym.

// DEFINICJA: Ponownie używalny szkic dowolnego akumulatora
part def Battery;

// UŻYCIE: Konkretna instancja akumulatora w naszym systemie drona
part powerSource : Battery;

To rozróżnienie pozwala inżynierom zdefiniować komponent raz i ponownie go używać w wielu podsystemach z różnymi nazwami, konfiguracjami i wewnętrznymi połączeniami.


2. Architektura strukturalna: Części, Elementy i Porty

SysML v2 dzieli architektury fizyczne lub logiczne na komponenty, rzeczy przepływające przez nie oraz interfejsy je łączące.

Części i Elementy

  • part def (Block / Komponent): Definiuje komponent systemu strukturalny, fizyczny lub logiczny.

  • item def (Element przepływu): Definiuje elementy niestałe – takie jak strumienie danych, ciecze, siły lub prąd elektryczny – które przepływają między częściami.

Porty i interfejsy

  • definicja portu (Specyfikacja interfejsu): Definiuje granicę interfejsu, jawnie określając, jakie dane lub elementy mogą wejść (wejście) lub wyjść (wyjście).

Oto sposób deklarowania tych komponentów i ich zagnieżdżania w przestrzeni nazw systemu:

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

    // Podstawowe szablony (definicje)
    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;

    // Kontekst zintegrowanego systemu
    part def AutonomousDrone {
        // Atrybuty / właściwości wartości
        attribute enduranceActual : Real;

        // Użycie podczęści (instancjonowanie definicji)
        part flightController : FlightController;
        part propulsionSystem : PropulsionSystem;
        part powerSource : Battery;

        // Użycie portów (instancjonowanie interfejsów)
        port pBatteryOut : PowerOutPort;
        port pPropulsionIn : PowerInPort; 
    }
}


3. Słup wymagań (przestrzeń problemu)

W SysML v1 wymagania często były blokami tekstu odizolowanymi od matematyki inżynierskiej. W SysML v2 wymagania są pierwszoklasowymi definicjami tekstowymi zawierającymi metadane, opisowy tekst oraz silnie typowane atrybuty do automatycznej weryfikacji.

requirement def RangeRequirement {
    doc /* Dron musi utrzymywać ciągłą trwałość lotu co najmniej 45 minut. */
    attribute enduranceTarget : Real = 45.0; 
}

Śledzenie z spełnia

Aby zamknąć pętlę między przestrzenią problemu (wymagania) a przestrzenią rozwiązania (struktura), SysML v2 używa jawnych słów kluczowych relacji takich jak spełnia wprost w kontekście części:

part def AutonomousDrone {
    // Instancjonuje użycie wymagania w celu spełnienia mapowania definicji w sposób czysty
    satisfy requirement : RangeRequirement;
}


4. Słup zachowania (przestrzeń wykonania)

SysML v1 wymuszał jasne rozdzielenie między strukturą (Diagramy bloków wewnętrznych) a zachowaniem (Diagramy działań). SysML v2 całkowicie usuwa tę barierę, uczyniając działania i przepływy sterowania elementami strukturalnymi zgodnymi z kontekstem.

Sekwencyjne działania i przepływ sterowania

Używając działania kluczowe słowo, możesz deklarować funkcje, które akceptują dane wejściowe (wejście) i przekazują dane wyjściowe (wyjście). Przepływy sterowania są zapisywane liniowo przy użyciu następnie słowo kluczowe, eliminując potrzebę skomplikowanych schematów przepływu sterowania.

działanie executeMission {
    wejście targetCoordinates;
    wyjście missionStatus;
    
    działanie sTakeoff;
    następnie działanie sNavigate;
    następnie działanie sLand;
}


5. Przydział funkcji: łączenie zachowań z architekturą

Przydział odpowiada na podstawowe pytanie inżynierii systemów: Który komponent wykonuje którą funkcję?

SysML v2 obsługuje to sprawnie za pomocą wykonaj słowa kluczowego w bloku użycia części. Używając notacji kropkowej (.), możesz dotrzeć głęboko do zagnieżdżonych pętli działań, aby bezpośrednio przypisać operacje do sprzętu fizycznego.

część def AutonomousDrone {

    // Podczęści przydzielają zachowanie poprzez jawne 'wykonanie' przypisanych kroków
    część flightController : FlightController {
        wykonaj executeMission.sNavigate;
    }
    
    część propulsionSystem : PropulsionSystem {
        wykonaj executeMission.sTakeoff;
    }

    // Zdefiniowanie zagnieżdżonego zachowania
    działanie executeMission {
        działanie sTakeoff;
        następnie działanie sNavigate;
        następnie działanie sLand;
    }
}


 

Podsumowanie kluczowych słów

Słowo kluczowe Przestrzeń Cel
pakiet Strukturalny Definiuje kontener przestrzeni nazw do organizowania modelu.
prywatne importowanie Strukturalny Importuje zewnętrzne biblioteki standardowe (takie jak WartościSkalarne lub SI jednostki) do zakresu bez ich wyciekania w dół strumienia.
def Paradygmat Wskazuje na ponownie używalny szablon lub definicję typu.
część / element Strukturalny Deklaruje składnik fizyczny/logiczny lub strumień płynu/danych przepływający przez system.
port Strukturalny Ustanawia granicę interfejsu definiującą wejście i wyjście przepływy.
wymóg Problem Definiuje kontrakt oparty na tekście zawierający typowane atrybuty i cele matematyczne.
spełniać Relacja Łączy element strukturalny bezpośrednio z wymogiem, który spełnia.
działanie Wykonanie Definiuje krok zachowania lub funkcję operacyjną.
następnie Wykonanie Wymusza kolejność wykonywania działań sekwencyjnie.
wykonaj Przypisanie Mapuje działanie behawioralne bezpośrednio na część fizyczną odpowiedzialną za jego wykonanie.

 

Pełny przykład SysML V2: Trzy filary

pakiet DroneSystemExample {

prywatny importuj ScalarValues::*;

prywatny importuj SI::*;

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

// DEFINICJE PODSTAWOWYCH SZABLONÓW

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

element def Power;

port def PowerOutPort {

wyjście element powerElec : Power;

}

port def PowerInPort {

wejście element powerElec : Moc;

}

część def SterownikLotu;

część def SystemPropulcyjny;

część def Bateria;

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

// 1. PILAR WYMAGAŃ (przestrzeń problemu)

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

wymaganie def WymaganieZasięgu {

doc /* Dron musi zapewnić ciągły czas lotu co najmniej 45 minut. */

atrybut docelowyCzasTrwania : LiczbaRzeczywista = 45.0;

}

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

// 2. PILARY STRUKTURY I BEHAVIORU

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

część def DronAutonomiczny {

atrybut enduranceActual : LiczbaRzeczywista;

// Części składowe przypisują zachowanie poprzez jawne „wykonanie” przypisanych kroków

część kontrolerLotu : KontrolerLotu {

wykonaj executeMission.sNawiguj;

}

część układSilnikowy : UkładSilnikowy {

wykonaj executeMission.sWylot;

}

część źródłoMocy : Bateria;

// Połączenia interfejsów

port pBateriaWyj : PortWyjściaMocy;

port pUkładSilnikowyWej : PortWejściaMocy;

// POPRAWKA 1: Tworzy użycie wymogu w celu czystego spełnienia mapowania definicji

spełnij wymóg : WymógZasięgu;

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

// 3. PŁYTA ZACHOWANIA (Przestrzeń wykonania)

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

// Czyste, sekwencyjne definicje działań domyślnie w zakresie

działanie executeMission {

w targetCoordinates;

wyjście missionStatus;

działanie sTakeoff;

następnie działanie sNavigate;

następnie działanie sLand;

}

}

}