Skip to content

Internal Block Diagrams

ESL

In ESL, the hierarchical structure of a system is created by defining components within components. For example, the pump is a component of the world, and the drive-mechanism consists of three subcomponents: power-source, motor and power-switch. All components all have their own parameters. The purpose of a component with respect to other components is defined using goal-requirements.

world.esl
# Specification of a drive-mechanism driving a pump.
define type
  mechanical-energy-flow is a real with unit Nm
  electrical-energy-flow is a real with unit W
  liquid-material-flow is a real with unit L/s
  energy-potential is a real with unit Wh
  control-signal is a boolean
  distance is a real with unit m
  spatial-measure is a distance of at least 0.0 [m]
  efficiency is a real  of at least 0.0 and at most 1.0


define verb
  provide to
  convert into
  send to


define relation
  battery-efficiency-model
    relating parameters
    * potential is an energy-potential
    * output is an electrical-energy-flow


world
  variables
    torque is a mechanical-energy-flow #< Comments on variable torque.
    water-flow is a liquid-material-flow
    drive-length is a spatial-measure
    pump-length is a spatial-measure



  components
    pump is a CentrifugalPump with arguments
      * torque
      * water-flow
      * pump-length

    drive-mechanism is an ElectricalDriveMechanism with arguments
      * torque
      * drive-length



  comments
    pump #< Can be sourced by manufacturer XYZ.
         #< Part number CFG.PMP.0.1


  goal-requirements
    provide-torque: drive-mechanism must provide torque to pump



  design-requirements
    min-water-flow: water-flow must be at least 1.0 [L/s]



  design-constraints
    dc-drive-length: drive-length must be equal to pump-length

  need
    IP68: drive-mechanism must be IP68 compliant


define component CentrifugalPump
  parameters
    torque is a mechanical-energy-flow
    water-flow is a liquid-material-flow
    length is a spatial-measure property

  transformation-requirements
    convert-torque: must convert torque into water-flow


define component ElectricalDriveMechanism
  parameters
    torque is a mechanical-energy-flow
    length is a spatial-measure property

  variables
    power-potential is an energy-potential
    power is an electrical-energy-flow
    motor-control-signal is a control-signal

  transformation-requirements
    convert-power-potential: must convert power-potential into torque


  components
    power-source is a Battery with arguments
      * power-potential
      * power

    motor is a BrushlessMotor with arguments
      * power
      * torque

    power-Switch is a Switch with arguments
      * motor-control-signal


  goal-requirements
    provide-power: power-source must provide power to motor
    send-control-signal: power-Switch must send motor-control-signal to power-source


  behavior-requirements
    toggle-power:
      case on:
        when
          * c1: motor-control-signal is equal to True [-]
        then
          * r1: power must be at least 300 [W]
      case off:
        when no other case applies
        then
          * r2: power must be equal to 0 [W]


define component BrushlessMotor
  parameters
    power is an electrical-energy-flow
    torque is a mechanical-energy-flow

  variables
    conversion is an efficiency

  transformation-requirements
    convert-power: must convert power into torque with subclauses
      * s1: conversion must be at least 0.8


define component Battery
  parameters
    power-potential is an energy-potential
    power is an electrical-energy-flow

  transformation-constraints
    convert-potential: does convert power-potential into power


  relations
    efficiency-model: battery-efficiency-model
      relating arguments
      * power-potential
      * power


define component Switch
  parameters
    motor-control-signal is a control-signal
goal requirement
1
2
3
  goal-requirements
    provide-power: power-source must provide power to motor
    send-control-signal: power-Switch must send motor-control-signal to power-source
parts world
world
  variables
    torque is a mechanical-energy-flow #< Comments on variable torque.
    water-flow is a liquid-material-flow
    drive-length is a spatial-measure
    pump-length is a spatial-measure



  components
    pump is a CentrifugalPump with arguments
      * torque
      * water-flow
      * pump-length

    drive-mechanism is an ElectricalDriveMechanism with arguments
      * torque
      * drive-length
parts ElectricalDriveMechanism
define component ElectricalDriveMechanism
  parameters
    torque is a mechanical-energy-flow
    length is a spatial-measure property

  variables
    power-potential is an energy-potential
    power is an electrical-energy-flow
    motor-control-signal is a control-signal

  transformation-requirements
    convert-power-potential: must convert power-potential into torque


  components
    power-source is a Battery with arguments
      * power-potential
      * power

    motor is a BrushlessMotor with arguments
      * power
      * torque

    power-Switch is a Switch with arguments
      * motor-control-signal

SysML

In SysML, the internal structure of a system, meaning their parts, purpose and properties, is defined using Internal Block Diagrams (IBD).

The component drive-mechanism can be mapped to a block, with parts power-source, motor, and power-switch. The relation between the parts is retrieved from the goal-requirements.

For example, take the following goal-requirement:

\[ \underbrace{\text{power-source}}_{\text{sender}} \quad \text{must } \quad \underbrace{\text{provide }}_{\text{connector}} \quad \underbrace{\text{power }}_{\text{flow}} \quad \text{to } \quad \underbrace{\text{motor }}_{\text{receiver}} \tag{1} \]

The part power-source sends (has as output) the flow power, which is received by the part motor. This connection is represented by connectors. The allowable in- and output is represented by ports.

pumpmodule ibd

Internal Block Diagrams of the world, pump and drive-mechanism. The connector with the arrow is used to depict flows.
  • The IBD world shows how the blocks pump and drive-mechanism are connected. Note that for each proxy port the direction and allowable flows are defined, and that they match the ports and flow properties in the BDD.
  • The IBD drive-mechanism shows how the blocks power-source, motor and power-source are connected using object flows and how the ValueProperty drive-length is connected to a proxy port that can send the information of drive-length to the outside of the block.
  • The IBD pump shows how the ValueProperty pump-length is connected to a proxy port that can send the information of pump-length to the outside of the block. Internally there is no flow of objects.

Next!

Press next (or N on your keyboard) to head over to the next page! P is for Previous.