SysML v2 — Avionics Bay, Power and Data
A larger model that reports clean: two independent port definitions — one for 28 V power, one for a data bus — a bus controller, two line-replaceable units and a power distribution unit, with the bay's boundary ports carrying both. It shows the pattern real models are built on: one interface definition per contract, conjugation on the consuming side, and the whole interior wired so that nothing arriving at the boundary stops there.
Make it your own.
package Avionics {
item def Power28V;
item def BusFrame;
port def PowerPort {
out item supply : Power28V;
}
port def DataPort {
out item tx : BusFrame;
in item rx : BusFrame;
}
interface def PowerFeed {
end source : PowerPort;
end load : ~PowerPort;
}
interface def BusLink {
end controller : DataPort;
end terminal : ~DataPort;
}
part def PowerDistributionUnit {
port input : ~PowerPort;
port railA : PowerPort;
port railB : PowerPort;
}
part def BusController {
port power : ~PowerPort;
port busA : DataPort;
port busB : DataPort;
}
part def LineReplaceableUnit {
port power : ~PowerPort;
port bus : ~DataPort;
}
part def AvionicsBay {
port aircraftPower : ~PowerPort;
port maintenance : DataPort;
part pdu : PowerDistributionUnit;
part bc : BusController;
part lruA : LineReplaceableUnit;
part lruB : LineReplaceableUnit;
interface bayPower : PowerFeed connect aircraftPower to pdu.input;
interface bcPower : PowerFeed connect pdu.railA to bc.power;
interface lruAPower : PowerFeed connect pdu.railB to lruA.power;
interface lruBPower : PowerFeed connect pdu.railB to lruB.power;
interface busA : BusLink connect bc.busA to lruA.bus;
interface busB : BusLink connect bc.busB to lruB.bus;
flow of BusFrame from maintenance.rx to bc.busA.rx;
}
}