Sha256: e70c44b1b4d40209f38bb06365234bf25136e78d442d97b881e4a79a49c1e20f

Contents?: true

Size: 1.97 KB

Versions: 1

Compression:

Stored size: 1.97 KB

Contents

module YPetri
  # YPetri DSL.
  # 
  module DSL
    def y_petri_agent
      @y_petri_agent ||= Agent.new
        .tap { puts "Defining agent for #{self}" if YPetri::DEBUG }
    end
  end

  delegate :world, to: :y_petri_agent

  # Petri net aspect.
  delegate( :Place,
            :Transition, :T, :A,
            :Net,
            :place, :transition, :pl, :tr,
            :places, :transitions, :nets,
            :pn, :tn, :nn,
            :net_point,
            :net_selection,
            :net, :nnet,
            :net_point_reset,
            :net_point=,
            to: :y_petri_agent )

  # Simulation aspect.
  delegate( :simulation_point, :ssc_point, :cc_point, :imc_point,
            :simulation_selection, :ssc_selection,
            :cc_selection, :imc_selection,
            :simulations,
            :clamp_collections,
            :initial_marking_collections,
            :simulation_settings_collections,
            :clamp_collection_names, :ncc,
            :initial_marking_collection_names, :nimc,
            :simulation_settings_collection_names, :nssc,
            :set_clamp_collection, :set_cc,
            :set_initial_marking_collection, :set_imc,
            :set_simulation_settings_collection, :set_ssc,
            :new_simulation,
            :clamp_cc, :initial_marking_cc, :simulation_settings_cc,
            :simulation_point_position,
            :simulation,
            :clamp_collection, :cc,
            :initial_marking_collection, :imc,
            :simulation_settings_collection, :ssc,
            :clamp,
            :initial_marking,
            :set_step, :set_step_size,
            :set_time, :set_target_time,
            :set_sampling,
            :set_simulation_method,
            :new_timed_simulation,
            :run!,
            :print_recording,
            :plot,
            :plot_selected,
#            :plot_state,
            :plot_flux,
            to: :y_petri_agent )

  def plot_state **nn
    simulation.recording.marking.plot **nn
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
y_petri-2.1.3 lib/y_petri/dsl.rb