code: def execute(self, sensor_graph, scope_stack):
          
  
          parent = scope_stack[-1]
          alloc = parent.allocator
  
          trigger_stream, trigger_cond = parent.trigger_chain()
          rpc_const = alloc.allocate_stream(DataStream.ConstantType, attach=True)
          rpc_val = (self.slot_id.address << 16) | self.rpc_id
  
          stream = self.stream
          if stream is None:
              stream = alloc.allocate_stream(DataStream.UnbufferedType)
  
          sensor_graph.add_node(u"({} {} && {} always) => {} using call_rpc".format(trigger_stream, trigger_cond, rpc_const, stream))
          sensor_graph.add_constant(rpc_const, rpc_val)
docs: Execute this statement on the sensor_graph given the current scope tree.
  
          This adds a single node to the sensor graph with the call_rpc function
          as is processing function.
  
          Args:
              sensor_graph (SensorGraph): The sensor graph that we are building or
                  modifying
              scope_stack (list(Scope)): A stack of nested scopes that may influence
                  how this statement allocates clocks or other stream resources.