Regulations

Base

class eBCSgen.Regulations.Base.BaseRegulation(regulation)

Bases: ABC

abstract filter(current_state, candidates)

ConcurrentFree

class eBCSgen.Regulations.ConcurrentFree.ConcurrentFree(regulation)

Bases: BaseRegulation

Regulation defined as a priority function assigning priority to more important rule.

check_labels(model_labels)
filter(current_state, candidates)

Conditional

class eBCSgen.Regulations.Conditional.Conditional(regulation)

Bases: BaseRegulation

Regulation defined as a forbidden context for every rule.

check_intersection(label, agents)
check_labels(model_labels)
filter(current_state, candidates)
class eBCSgen.Regulations.Conditional.VectorConditional(regulation)

Bases: Conditional

check_intersection(label, agents)
filter(current_state, candidates)

Ordered

class eBCSgen.Regulations.Ordered.Ordered(regulation)

Bases: BaseRegulation

Regulation defined as partial order on rules. Only rules not lower in the order are allowed to be used in the next step.

check_labels(model_labels)
filter(current_state, candidates)
transitive_closure(closure)

Computers transitive closure for partial order.

TODO: needs to be optimised

Parameters:

closure – given regulation

Returns:

computed closure

Programmed

class eBCSgen.Regulations.Programmed.Programmed(regulation)

Bases: BaseRegulation

Regulation defined as successor function for every rule. Only set of successor rules is allowed to be used in the next step.

check_labels(model_labels)
filter(current_state, candidates)

Regular

class eBCSgen.Regulations.Regular.Regular(regulation)

Bases: BaseRegulation

Regulation defined as omega-regular expression (actually not omega for now).

check_labels(model_labels)
filter(current_state, candidates)