Hi,
empty transitions are illegal as far as I know, so that would be an incomplete transition anyhow.
The loop check with a 1 transition is a good idea, as this would result in a deadlock situation, as the FB would never stop executing blocking all other FBs on the resource and possibly
flooding the event chain.
Best regards,
Martin
--------------------------------------------------
Dipl.-Ing. Martin Melik-Merkumians
Advanced Mechatronic Systems
Automation and Control Institute (ACIN)
TU Wien
DVR-Number: 0005886
Gusshausstr.
27-29, room CA-05-38
1040 Vienna, Austria
Phone: +43 (0)1 588 01 37688
Fax: +43 (0)1 588 01 937688
Email:
melik-merkumians@xxxxxxxxxxxxxxxxx
http://www.acin.tuwien.ac.at/
--------------------------------------------------
Von: 4diac-dev-bounces@xxxxxxxxxxx <4diac-dev-bounces@xxxxxxxxxxx>
Im Auftrag von Sándor Bácsi
Gesendet: Donnerstag, 4. Juni 2020 09:25
An: 4diac developer discussions <4diac-dev@xxxxxxxxxxx>
Betreff: [4diac-dev] Detecting self-cycles in ECC
Hi,
As a first step, I started to implement OCL constraints to detect inconsistencies in ECC. Such an inconsistency can be, for example, if we create self-cycles in the ECC. A self-cycle exists when there is a transition from an EC state back to itself. If there
is no event associated with such a transition, it can happen that the executor may enter an infinite loop. Therefore, I think we should warn users about self-cycles gated by "1" or "[None]". I created an OCL invariant which can detect self-cycles, which are
gated by "1" or "[None]".
Gated by "[None]":
Gated by "1":
Since I am a newbie to ECC, I would like to ask your opinion on this constraint. What do you think is this the right direction for detecting self-cycles? What previous experiences do you have with self-cycles in ECC?
Cheers,
Sándor