zielKnNum = (Integer) knotZuord[i].get(zielKn.holeName());
neuBed = StaticMethods.ausFormatBed(conds[i].formatted());
for (int j = 0; j < i; j++) {
zwischBed = StaticMethods.ausFormatBed(conds[j].formatted());
zwischBed.negiere();
neuBed = new InnerNode(neuBed,
zwischBed,
eas.simulation.spatial.sim2D.marbSimulation.Konstanten.UND);
}
for (int j = 0; j < endAs.length; j++) {
if (j != i) {
knot = new ArrayList<Integer>(
endAs[j].holAdj().keySet());
it = knot.iterator();
while (it.hasNext()) {
aktKnNum = (Integer) knotZuord[j].get(it.next());
neu.einfuegKante(aktKnNum, zielKnNum, neuBed, 1);
}
}
}
}
}
// Neue Kanten INTRA Automaten zuordnen.
for (int i = 0; i < endAs.length; i++) {
knot1 = new ArrayList<Integer>(endAs[i].holAdj().keySet());
it1 = knot1.iterator();
while (it1.hasNext()) {
numOrig1 = it1.next();
aktKnNum = (Integer) knotZuord[i].get(numOrig1);
aktKn = endAs[i].holeKnoten(numOrig1);
if (aktKn.getInfo() != null
&& aktKn.getInfo().getBedingungen() != null) {
trans = aktKn.getInfo().getBedingungen();
it3 = trans.iterator();
while (it3.hasNext()) {
tran = it3.next();
numOrig2 = tran.getFolgezustand();
zielKnNum = (Integer) knotZuord[i].get(numOrig2);
aktBed = tran.getCond();
if (aktBed != null) {
neu.einfuegKante(aktKnNum, zielKnNum, aktBed, 1);
}
}
}
}
}
// true - Kanten zu den einzelnen Startknoten einfügen.
for (int i = 0; i < endAs.length; i++) {
zielKn = endAs[i].holeStartzustand();
if (zielKn != null) {
zielKnNum = (Integer) knotZuord[i].get(zielKn.holeName());
knot = new ArrayList<Integer>(endAs[i].holAdj().keySet());
it = knot.iterator();
while (it.hasNext()) {
aktKnNum = (Integer) knotZuord[i].get(it.next());
neu.einfuegKante(aktKnNum,
zielKnNum,
StaticMethods.ausBed("t"),
1);
}
}
}
// Einen IDLE-Startknoten einfügen.
idlBefehl = StaticMethods.posSuch(eas.simulation.ConstantsSimulation.getBefehlNamenArray(params),
"IDL");
neu.einfuegenKnoten(lfdNr, idlBefehl, 1, 1);
neu.setStart(neu.holeKnoten(lfdNr));
for (int i = 0; i < conds.length; i++) {
if (i > 0) {
neuBed = conds[i];
} else {
neuBed = StaticMethods.ausFormatBed(conds[i].formatted());
for (int j = 1; j < conds.length; j++) {
zwischBed = StaticMethods.ausFormatBed(conds[j].formatted());
zwischBed.negiere();
neuBed = new InnerNode(
neuBed,
zwischBed,
eas.simulation.spatial.sim2D.marbSimulation.Konstanten.ODER);
}
}