def __init__(self, name=None, abbr=None, theories=None, schema=None): super(MaterializedViewTheory, self).__init__(name=name, abbr=abbr, theories=theories, schema=schema) # queue of events left to process self.queue = EventQueue() # data storage db_name = None db_abbr = None delta_name = None delta_abbr = None if name is not None: db_name = name + "Database" delta_name = name + "Delta" if abbr is not None: db_abbr = abbr + "DB" delta_abbr = abbr + "Dlta" self.database = Database(name=db_name, abbr=db_abbr) # rules that dictate how database changes in response to events self.delta_rules = DeltaRuleTheory(name=delta_name, abbr=delta_abbr) self.kind = MATERIALIZED_POLICY_TYPE