Neighbor-Independent Illustration

data=NestList[Flatten[#]/.{"A"{"A","B"},"B"{"A"}}&,{{"A"}},4]
In[]:=
{{{A}},{{A,B}},{{A,B},{A}},{{A,B},{A},{A,B}},{{A,B},{A},{A,B},{A,B},{A}}}
Out[]=
Graphics[MapIndexed[Text[Framed[#,BackgroundOpacity[.2,Gray]],{#2+.2#3,-#1}&@@#2]&,data,{3}]]
In[]:=
Out[]=

​

Length-Preserving Rules

rules22=Catenate[Outer[Rule,Tuples[{1,0},2],Tuples[{1,0},2],1]]
In[]:=
Out[]=
ParallelMapMonitored[Labeled[TimeConstrained[MultiwaySystem[{#},{{0,1,1,0,1,0,0}},7,"StatesGraph","StateRenderingFunction"None],5],#]&,rules22]
In[]:=
Out[]=
ParallelMapMonitored[Labeled[TimeConstrained[MultiwaySystem[#,{{0,1,1,0,1,0,0}},7,"StatesGraph","StateRenderingFunction"None],5],#]&,Tuples[rules22,2]]
In[]:=
Out[]=
ParallelMapMonitored[Labeled[TimeConstrained[MultiwaySystem[#,{{0,1,1,0,1,0,0}},7,"CausalGraph","EventRenderingFunction"None],5],#]&,Tuples[rules22,2]]
In[]:=
Out[]=