Try TT Now

ADL®

Safety And Preventive Design With Visual Feedback

ADL's internal safety mechanism will alert and prevent the user from committing one of the following design errors:

  • Attempting to connect unlike port types

    Unlike connections

    ADL allows an edge to be formed between output portsThe color coded ports (where information flows out of an ADL block) on the right side of an ADL Block. and input portsThe color coded ports (where information flows in to an ADL block) on the left side of an ADL Block. of the same type. When any “unlike” connection is attempted, the following visual warning is generated on the canvas to inform the user that the connection is not possible.

    Example. Attempting an unlike connection

  • Circular reference

    Circular reference

    ADL does not allow a single block’s output to be fed back into its own input. When the user attempts to create such a circular reference, the following visual warning is generated on the canvas to inform the user that the connection is not possible.

    Example. Cyclical dependency

  • Wrong Message Input Into A Single Order Container

    Wrong Message Input Into A Single Order Container

    The Single Order Container accepts only an Order Add or an Order Request message. To be specific, only the following output ports may be fed into a Single Order Container:

    • Existing Order Block's Message Output Port
    • Order Block's Add Request Output Port
    • Order Block's Add OK Output Port
    • Discrete Order Block's Add OK Output Port
    • ASE Order Block's Hedge Add OK Output Port

    Example. Wrong Message Input Into A Single Order Container

  • Blocks with insufficient inputs

    Blocks with insufficient inputs

    Every block in ADL has a required number of inputs. If the user fails to provide all the required inputs, a line of text indicating the error type and the suggested fix will be displayed in the Error List Tab in the Information Panel.

    Example. Insufficient inputs warning

ADL's safety mechanisms will also detect and warn the user of potentially unintended designs. Since such designs are technically possible, ADL will not prohibit their construction but simply provide a line of warning in the Error List Tab in the Information Panel. When the user double-clicks on any entry in the Error List tab, the entire canvas will shift to center and highlight the relevant group of blocks.

The following designs are considered potentially hazardous by ADL:

  • Multiple Order Managers

    Multiple Order Managers

    If an Order Block is connected to multiple Single Order Containers, the order submitted by the Order Block will be managed by multiple containers at the same time, possibly resulting in a conflict in control.

    Example. Multiple Order Manager

  • Order Block and the Container share the same True/False input

    Order Block and the Container share the same True/False input

    If the user connects the same True/False input into an Order Block and its respective Single Order Container, the Order Block could continue to submit an order (if the Order Block's "Auto Resubmit" option is checked) while the Single Order Container will continue to delete the generated order, thereby entering into an infinite submit-delete loop (see: Order Block for more information).

    Example. Order Block + Single Order Container Loop

  • Discrete event message loop

    Discrete Event Message Loop

    Every discrete event message pathway in ADL must have a termination point (i.e, Single Order Container, State Block, Accumulator, Discrete Block, Stopwatch Block, and Pause Block). A pathway without a valid termination point will throw the system into an infinite processing loop.

    Example. Discrete Event Message Loop

  • Triggering and Resetting A Discrete Block At The Same Time

    Triggering And Resetting A Discrete Block At The Same Time

    If a single stream of discrete event message pathway is fed into both the trigger input and the reset input of a discrete block, such as the Discrete Minimum Block, the discrete block will either reset first and then execute its operation, or, execute its operation first and then reset. It may not be possible to visually determine the precise order of actions.

    Example. Discrete Order Block + Order Container Block Combination

  • Overloading A Single Order Container

    Overloading A Single Order Container

    ADLwill generate a warning when the user connects the discrete event message output of a Discrete Order Block to the discrete event message input of a Single Order Container. Though the combination can be used effectively, it must be noted that, since the Single Order Container can only handle a single order at a time, it will be forced to forfeit the control of the current order if the respective Discrete Order Block submits a new order (the Discrete Order Block will submit a new order every time it is triggered by a discrete event message). To avoid this behavior in your algorithm, virtualize the Single Order Container so that a new copy of the single order container block will be created whenever the Discrete Order Block submits a new order (see: Discrete Order Block for more information).

    Example. Discrete Order Block + Order Container Block Combination

Recommended Tutorials For This Section

For a tactile learning experience, please try the following tutorials:

  • Risk Block
  • Safety and Testing Methods