Class OrderedEventSelectionStrategy

java.lang.Object
il.ac.bgu.cs.bp.bpjs.model.eventselection.AbstractEventSelectionStrategy
il.ac.bgu.cs.bp.bpjs.model.eventselection.OrderedEventSelectionStrategy
All Implemented Interfaces:
EventSelectionStrategy

public class OrderedEventSelectionStrategy extends AbstractEventSelectionStrategy
An event selection strategy that takes, for each statement, the first requested-and-not-blocked event. So, for the following code, only event evt1 will be considered for selection, assuming it is not blocked by other b-threads. bsync({request:[evt1, evt2]...});
Author:
michael
  • Constructor Details

    • OrderedEventSelectionStrategy

      public OrderedEventSelectionStrategy()
  • Method Details

    • selectableEvents

      public Set<BEvent> selectableEvents(BProgramSyncSnapshot bpss)
      Description copied from interface: EventSelectionStrategy
      Creates the set of selectable events, given a b-program's synchronization point.
      Parameters:
      bpss - a BProgram at a synchronization point.
      Returns:
      A set of events that may be selected for execution.