Activity diagram parametrizálása, Environment-en belül az AC Controller port elérése, History node

0 votes
asked Nov 5, 2020 in Rendszertervezés by VZ (33 points)  
edited Nov 8, 2020 by mvince

Több, a fejlesztői környezet sajátosságaira irányuló kérdésünk lenne:

History state felvétele és a default állapot bekötése esetén a szimuláció során nem a default állapot kerül aktiválásra, hanem mindig ugyanaz a másik állapot,és nem értjük, hogy miért. Initial state nincs.

Két kérdés port eléréssel és activity diagram parametrizálásával kapcsolatban.

Meghívunk egy Activity diagramot, abban küldeni szeretnénk egy signalt egy portra, de azt nem látja a diagram. A konkrét hibaüzenet a következő: "WARN: Port specified in SendSignalAction is not found in the context." Hogy tudjuk elérhetővé tenni a portot? Amennyire látjuk, az Environment semmilyen portot nem lát.

Nem tudjuk paraméterként átadni a currentSpeed-et. Felvettünk egy Activity Parameter Node-t az activity diagram szélére, aminek a típusa Speed, a neve currentSpeed, és ezt bekötjük a Send Signal Action-be. A következő hibaüzenetet kapjuk: "WARN: Missing input parameter value for Activity Send Speed." Hogy lehet parametrizálni egy Activity Diagramot, amit egy hurokél Effect-jeként hívunk meg?

commented Nov 5, 2020 by mvince (324 points)  
Kérlek szerkeszd a kérdésedet, hogy a feladat megoldására vonatkozó tippek ne legyenek benne.

1 Answer

0 votes
answered Nov 5, 2020 by mvince (324 points)  
edited Nov 22, 2021 by mvince

1) Sikerült reprodukálnom a problémát a modelletekben. Sajnos én is találkoztam furcsa dolgokkal a korábbi verziókban készült állapotgépek módosításakor, nálam megoldás volt a modell újrarajzolása. Ha csak ennyi a probléma, akkor nekem most működött az a workaround, hogy a meglévő initial state-et az állapot helyett az új History state-be irányítjátok, és onnan a célállapotba.

2) Feltételezem, hogy a kiválasztott cél port az AC Control portja. Azon keresztül ebből a state machine-ból nem fogtok tudni signalt küldeni, mert nem a kontextus blokkhoz tartozik. Előbb gondoljátok végig, hogy mi hiányzik a kommunikáció modellezéséhez, és ha az megvan, akkor érdemes visszatérni erre a kérdésre, onnantól már látszani fog a válasz is remélhetőleg.

3) Az effectben lévő Activity paraméterei a Signal property értékeire kötődnek le. Ha a blokk egy property-jét szeretnének használni a küldendő signal payloadjában, akkor azt kell kiolvasni az Activity-ben és beadni a SendSignalActionnek, nem paraméterként várni rá. (Egyébként áthelyeztétek a ValueProperty-t a state machine alá, ami ilyen szempontból nem túl korrekt.)

...