Class: Gisele::Analysis::Fluent

Inherits:
Variable
  • Object
show all
Defined in:
lib/gisele/analysis/variable/fluent.rb

Instance Attribute Summary collapse

Attributes inherited from Variable

#bdd, #initially, #name, #session

Instance Method Summary collapse

Methods inherited from Variable

#install, #to_dnf

Methods included from Mixin::BddManagement

#bdd, #bdd_interface, #cudd_manager, #one, #with_bdd, #zero

Constructor Details

#initialize(session, name, init_events, term_events, initially) ⇒ Fluent

Returns a new instance of Fluent.



7
8
9
10
11
# File 'lib/gisele/analysis/variable/fluent.rb', line 7

def initialize(session, name, init_events, term_events, initially)
  super(session, name, initially)
  @init_events = init_events
  @term_events = term_events
end

Instance Attribute Details

#init_eventsObject (readonly)

Returns the value of attribute init_events.



4
5
6
# File 'lib/gisele/analysis/variable/fluent.rb', line 4

def init_events
  @init_events
end

#term_eventsObject (readonly)

Returns the value of attribute term_events.



5
6
7
# File 'lib/gisele/analysis/variable/fluent.rb', line 5

def term_events
  @term_events
end

Instance Method Details

#apply_on_invariant(invariant, event) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/gisele/analysis/variable/fluent.rb', line 13

def apply_on_invariant(invariant, event)
  if invariant == zero
    zero
  elsif init_events.include?(event)
    _apply_on_invariant(invariant, true)
  elsif term_events.include?(event)
    _apply_on_invariant(invariant, false)
  else
    invariant
  end
end