blob: 9a5baf96777183f88baf90c50876241e1c95efba [file] [log] [blame]
@xlia< system , 1.0 >:
system<and> mySystem {
@machine:
statemachine PhoneOperator {
@property:
type PhoneOperation enum {CALL, TERMINATE_CALL, ACCEPT_CALL}
type PhoneCallAction struct {
var int callerID;
var PhoneOperation op;
}
public var PhoneCallAction phoneaction;
public port input incomingAction(PhoneCallAction);
public port output forwardCallerID(int);
public port output forwardPhoneOperation(PhoneOperation);
@region:
state<initial> source {transition startup --> idle;}
state idle {
transition receiveRequest --> idle {
input incomingAction(phoneaction);
output forwardCallerID(phoneaction.callerID);
output forwardPhoneOperation(phoneaction.op);
}
}
}
@com:
connect<env>{
input PhoneOperator->incomingAction;
output PhoneOperator->forwardCallerID;
output PhoneOperator->forwardPhoneOperation;
}
}