In this model, there are two main components that interacted with each other: the room and the humidifier system. The purpose of the humidifier is to control the humidity of the room once a user has selected a humidity level for the room. State machines are used to show the control of humidity in the room, both to depict the user’s input and the humidifier’s control system. For the sake of brevity, the following SysML diagrams form only the core set of diagrams from the SysML model, and include all three state machines used in this example.

  1. HumidifierSystem Internal Block Diagram: This diagram is part of the HumidifierSystem block. The flow between the part properties room (typed by HumidifiedRoom) and humidifier (typed by Humidifier) are shown to be going through ports. These ports are the interfaces between the two system components, and contain numeric information about the humidity and vapor going between the two components.



  2. Humidifier Internal Block Diagram: This diagram is part of the Humidifier block. The flow within the humidifier system are depicted in this diagram. With information about the room’s current humidity from the humidity_in port, and control signal from the humidity control system from the part property control (typed by Control), the part property heaterControl (typed by HeaterControl) uses a state machine to decide whether or not to turn on the heater control system in order to generate vapor in the part property vaporgenerationplant (typed by VaporGenerationPlant). The part property vaporgenerationplant also uses information from the part property control to determine the amount of vapor released into the room (and consumed from the part property watertank, typed by WaterTank) as well as let control  know the temperature of water in the vapor generation system. The part property control also uses information from when the user wants to turn on the humidifier from the part property usage (typed by UsageScenario) and information about the amount of water in the water tank from the part property watertank.

  3. UsageScenarioStateMachine State Machine Diagram: This state machine diagram depicts the behavior of the part property usage in the Humidifier internal block diagram and it determines when (as in, at which times) the humidifier system should humidify the room.

  4. ControlStateMachine State Machine Diagram: This state machine diagram depicts the behavior of the part property control  in the Humidifier internal block diagram and it determines the operation of the heater control system heatercontrol  and the vapor generation plant vaporgenerationplant based on information about the water levels in the tank from the watertank, the temperature of vaporization from the vaporgenerationplant, and the operation of when the humidifier system should be started from usage.

  5. HeaterControlSM State Machine Diagram: This state machine diagram depicts the behavior of the part property heaterControl in the Humidifier internal block diagram. It uses information from the room’s current humidity from the humidity_in  pin, the target humidity from the part property targetHumidity, and the control signal from control  in order to decide whether or not to turn on the heater control system for the generation of vapor with vaporgenerationplant.

  6. VaporGenerationPlant Internal Block Diagram: This internal block diagram depicts numerical calculations for the informational flow associated with the part property vaporgenerationplant in the Humidifier internal block diagram. Given the control signal from control  for its water fan and the control signal from the heaterControl, after the numeric calculations it gives information about the water temperature to the control as well as information about the generated vapor from the watertank and for the room.

  7. WaterTank Parametric Diagram: This parametric diagram depicts numerical calculations for the informational flows associated with the part property watertank in the Humidifier internal block diagram. Given the information about water consumed for vapor generation from vaporgenerationplant, numeric calculations provide information about the volume of remaining water and this new information is sent to the control part property.

  8. HumidifiedRoom Internal Block Diagram: This diagram is part of the HumidifiedRoom block. This internal block diagram depicts the information flow of the vapor going into the room and the humidity that results from this vaporization. The information about the vapor being inputted into the room goes through a unit conversion with the part property mLpH2mLpS (typed by block VolumeConversion) before passing on the information to part property rH (typed by RelativeHumidity). This information, along with information about current relative humidity of the room from part property rH and information about the saturated vapor pressure from part property sVP (typed by SaturationVaporPressure), is used to calculate the amount of humidity in the room. The part property toPercentage (typed by PercentageConversion) converts the signal about room humidity from fractions into a percentage value and sends this new information about the percentage value back to the humidifier system.

  9. SaturationVaporPressure Parametric Diagram: This parametric diagram depicts numerical calculations for the informational flows associated with the part property sVP (typed by SaturationVaporPressure) in the HumidifiedRoom internal block diagram. Numerical calculations in this diagram provide information about the room’s vapor pressure to be sent as a signal used to calculate current room humidity in the HumidifiedRoom internal block diagram.

  10. RelativeHumidity Internal Block Diagram: This internal block diagram depicts numerical calculations for the informational flows associated with the part property rH (typed by RelativeHumidity) in the HumidifiedRoom internal block diagram. It calculates the current humidity of the room given the room’s vapor pressure levels as well as the incoming vapor coming from the humidifier system.