Class AbstractTransitionSystem<B extends Bigraph<? extends Signature<?>>>

java.lang.Object
org.bigraphs.framework.core.reactivesystem.AbstractTransitionSystem<B>
Type Parameters:
B - the type of the bigraph of the states and transition relations of the transition system
Direct Known Subclasses:
ReactionGraph

public class AbstractTransitionSystem<B extends Bigraph<? extends Signature<?>>> extends Object
Abstract base class representing the minimal data structure for all concrete transition system implementations. This class generalizes all possible variations of transition systems.
Author:
Dominik Grzelak
  • Field Details

  • Constructor Details

    • AbstractTransitionSystem

      public AbstractTransitionSystem()
  • Method Details

    • addState

      public void addState(String sourceLbl, B source)
    • addTransition

      public void addTransition(String reactionLbl, B reaction)
    • createSupplier

      protected Supplier<String> createSupplier()
    • getTransitionMap

      public Map<String,B> getTransitionMap()
      Get the actual redex of a rule by querying the string label of a transition.

      Note that the label could either be an arbitrary string (user-defined) or the canonical form of the bigraph (redex).

      Returns:
      a map where transition labels are mapped to bigraphs (redexes)
    • getStateMap

      public Map<String,B> getStateMap()
      Get the actual bigraph by querying the string label of a state.

      Note that the label could either be an arbitrary string (user-defined) or the canonical form of the bigraph.

      Returns:
      a map where state labels are mapped to bigraphs
    • containsBigraph

      public boolean containsBigraph(String label)
      Check if a bigraph is present in the graph as a state. The bigraph is identified by its label.

      The label of a bigraph must be unique.

      Parameters:
      label - The unique label of a bigraph to find in the reaction graph.
      Returns:
      true, if the bigraph is contained in the graph, otherwise false