Tags and keywords
SimpleDomesticInverterAirCon
within the «system context» block SimpleDomesticInverterAirConContext
, along with usages of a block External
representing the outdoor environment and a usage of an air-conditioned IndoorSpace
:This is not quite a black box view, because it exposes the :parts compartment of SimpleDomesticInverterAirCon
. We'll drill down into more of the internal details later.
Speaking of black boxes, notice how there is a Connector across the block boundary of :IndoorSpace
from the output Port of its :TemperatureSensor
to an input Port of :SimpleDomesticInverterAirCon
. You can do this (it's allowed in SysML) but long term it's not always such a good idea:
This diagram only shows the Port names, it does not show the Port types (we'll see them progressively introduced in later slides). Note the Port naming pattern:
We can, however, tell from the little direction indicator arrows inside the Port rectangles that every Port type used here has at least one FlowProperty defined on it.
There are some simple "InformationFlow-style" ItemFlows for Air
, TemperatureReading
, and SineWavePower
, each just conveying a Classifier (without a SysML ItemFlow::itemProperty).
One has to be careful not to over-interpret boundaries of Blocks as physical constructs; typically they primarily represent contracts between the connected Ports:
In the example here, it is not specified whether the air conditioner is a split commercial air conditioning system or a single domestic unit stuck halfway through the window or wall of house (with the back facing the external environment). From the point of view of the flows in the model it does not matter!
Dr Darren says:My father was a sparky, and amongst other things installed domestic air conditioning units. I once helped him knock a hole through a wall of a customer's house (mostly I just had to help clean up the mess of rubble afterwards).
Let's now see how the underlying SysML machinery that enables us to construct such an Internal Block Diagram (IBD) is setup.