Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## modhelxs.abstractsemantics
Class Block

    java.lang.Object
      modhelxs.abstractsemantics.NamedEntity
          modhelxs.abstractsemantics.ObservableEntity
              modhelxs.abstractsemantics.Block

All Implemented Interfaces:
  Block, NamedEntity, ObservableEntity

Direct Known Subclasses:
  AtomicBlock, InterfaceBlock, ManagedBlock

    public abstract class Block

extends ObservableEntity
implements Block

A Block is the basic unit of behavior in ModHel'X.

Field Summary
`private java.util.Set<Pin>` | `inputpins_` The input pins of this block.
`private java.util.Set<Pin>` | `outputpins_` The output pins of this block.
`private BlockStructure` | `structure_` The BlockStructure this block belongs to.

Constructor Summary
`Block(java.lang.String name, java.lang.Object... properties)`

Method Summary
`Relation` | `connect(Pin mine, Pin other)` Connect one of my pins to another pin.
`Relation` | `connectFromInterfaceBlock(InterfaceBlock intfBlock, Pin other, Pin mine)` Connect pin `other` of InterfaceBlock `intfBlock` to my pin `mine`.
`Relation` | `connectFromModel(Model<?> model, Pin other, Pin mine)` Connect pin `other` of Model `model` to my pin `mine`.
`Relation` | `connectFromRegularBlock(Block block, Pin other, Pin mine)` Connect pin `other` of regular Block `block` to my pin `mine`.
`Engine` | `getEngine()` Get the execution Engine by which this block is executed.
`java.util.Collection<Pin>` | `getInputPins()` Get the input pins of this entity.
`ModelOfComputation<?>` | `getMoC()` Get the ModelOfComputation according to which this Block is executed.
`java.util.Collection<Pin>` | `getOutputPins()` Get the output ins of this entity.
`BlockStructure` | `getParent()` Get the block structure this block belongs to.
`ClockSet` | `getSolver()` Get the clock solver of the execution engine.
`Tag<? extends java.lang.Comparable<?>>` | `getTimeOfRequest()` Get the time tag at which the block has requested to be observed.
`boolean` | `hasObservationRequest()` Has this block posted an observation request?
`void` | `sanityCheck()` Perform sanity check before setup.
`void` | `setParent(BlockStructure s)` Set the BlockStructure this block belongs to.

Methods inherited from class modhelxs.abstractsemantics.ObservableEntity
`addPin, emitObservationRequests, endOfSnapshot, endOfUpdate, getInterface, getPin, prep, reset, setup, startOfSnapshot, startOfUpdate, update, validate, wrapup`

Methods inherited from class modhelxs.abstractsemantics.NamedEntity
`getName, getProperties, getProperty, hasProperty, removeProperty, setName, setProperties, setProperty, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface modhelxs.ecore.ObservableEntity
`getInterface`

Methods inherited from interface modhelxs.ecore.NamedEntity
`getName, getProperties, setName`

Field Detail

### structure_

    private BlockStructure structure_

  The BlockStructure this block belongs to.

### inputpins_

    private java.util.Set<Pin> inputpins_

  The input pins of this block.

### outputpins_

    private java.util.Set<Pin> outputpins_

  The output pins of this block.

Constructor Detail

### Block

    public Block(java.lang.String name,
                 java.lang.Object... properties)

Method Detail

### getParent

    public BlockStructure getParent()

  Description copied from interface: `Block`
  Get the block structure this block belongs to.

  Specified by:
    `getParent` in interface `Block`

### setParent

    public void setParent(BlockStructure s)

  Set the BlockStructure this block belongs to.

### connect

    public Relation connect(Pin mine,
                            Pin other)

  Connect one of my pins to another pin.

  Specified by:
    `connect` in class `ObservableEntity`

### connectFromModel

    public Relation connectFromModel(Model<?> model,
                                     Pin other,
                                     Pin mine)

  Connect pin `other` of Model `model` to my pin `mine`.

  Specified by:
    `connectFromModel` in class `ObservableEntity`

### connectFromRegularBlock

    public Relation connectFromRegularBlock(Block block,
                                            Pin other,
                                            Pin mine)

  Connect pin `other` of regular Block `block` to my pin `mine`.

  Specified by:
    `connectFromRegularBlock` in class `ObservableEntity`

### connectFromInterfaceBlock

    public Relation connectFromInterfaceBlock(InterfaceBlock intfBlock,
                                              Pin other,
                                              Pin mine)

  Connect pin `other` of InterfaceBlock `intfBlock` to my pin `mine`.

  Specified by:
    `connectFromInterfaceBlock` in class `ObservableEntity`

### getMoC

    public ModelOfComputation<?> getMoC()

  Get the ModelOfComputation according to which this Block is executed.

  Specified by:
    `getMoC` in class `ObservableEntity`

### getEngine

    public Engine getEngine()

  Get the execution Engine by which this block is executed.

### getSolver

    public ClockSet getSolver()

  Get the clock solver of the execution engine.

### hasObservationRequest

    public boolean hasObservationRequest()

  Has this block posted an observation request? If yes, the block needs to be updated even if the scheduling policy of the MoC does not require it.

### getTimeOfRequest

    public Tag<? extends java.lang.Comparable<?>> getTimeOfRequest()

  Get the time tag at which the block has requested to be observed.

### getInputPins

    public java.util.Collection<Pin> getInputPins()

  Description copied from class: `ObservableEntity`
  Get the input pins of this entity.

  Specified by:
    `getInputPins` in class `ObservableEntity`

### getOutputPins

    public java.util.Collection<Pin> getOutputPins()

  Description copied from class: `ObservableEntity`
  Get the output ins of this entity.

  Specified by:
    `getOutputPins` in class `ObservableEntity`

### sanityCheck

    public void sanityCheck()

  Description copied from class: `ObservableEntity`
  Perform sanity check before setup.

  Specified by:
    `sanityCheck` in class `ObservableEntity`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD