Skip to content
SysML v2 (structure) templates

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.

Template previewSysML v2 (structure)
AvionicsinterconnectionAvionicsBayinteriorbayPowerbcPowerlruAPowerlruBPowerbusAbusBBusFramepdu: PowerDistributionUnitinputrailArailBbc: BusControllerpowerbusAbusBlruA: LineReplaceableUnitpowerbuslruB: LineReplaceableUnitpowerbusaircraftPowermaintenanceEvery one of the 10 checks that had something to run on came back clean, over 10 definitions, 21 features and 7 connections. The other 3found nothing to examine — that is silence, not a pass.GAPNo connection joins two related port definitions that share a directed feature, so there was no direction to compare.GAPNothing here redefines anything, so there was no replacement to verify.GAPNothing here redefines a feature a supertype declares, so there was no narrowing to verify.OKAll 27 declared types resolve to a definition in this document, so every check below had the definition it needed to read.OKAll 14 connection ends resolve to a feature that exists, so every line drawn lands on something the document declares.OKAll 6 connections between two ports of one definition oppose them, or join ports with no direction to get backwards. Connections between ports of DIFFERENTdefinitions are the next check's business, not this one's.OKAll 6 typed connections bind the number of ends their definitions declare, with each port conforming to the end it sits at, in declared order.OKThe one flow leaves a feature that can emit and arrives at one that can accept, conjugation included.OKThe one payload conforms to what its destination accepts, by a specialization this document declares.OKAll 12 ports are named by a connection, interface or flow.OKAll 2 inbound items at composite parts' boundaries continue to something inside.OKThe composition tree over 4 part definitions is acyclic, so every definition here can be built. References were excluded, correctly: a reference cycle is an ordinarybidirectional association.OKEvery line was read and no cap bit: the 10 definitions above are the whole document, so the counts are totals rather than floors.

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;
  }
}