package ActionTest {
action def A{ in x; }
action a: A {
first start;
action b { in y = x; }
bind x = b.y;
}
attribute def S;
action a1 {
first start;
then merge m;
then accept S;
then accept sig after 10[SI::s];
then accept at new Time::Iso8601DateTime("2022-01-30T01:00:00Z");
then send new S() to b;
then accept when b.f;
then decide;
if true then m;
else done;
}
action a2 {
in s : S;
action aa {
out part target;
}
flow aa.target to snd.receiver;
action snd send {
in :>> payload = s;
}
action snd2 send via this to aa.target;
bind s = snd2.payload;
}
action b {
attribute f : ScalarValues::Boolean;
ref action a : A;
}
action def c {
first start;
then action c1 {
terminate c1;
}
then terminate;
}
}