blob: 511b10917af31bf822dd3ccbdebbc5a004363a51 [file] [log] [blame]
RoomModel PingPong_Model {
LogicalSystem LogSys1 {
SubSystemRef subSysRef1:SubSysClass1
}
SubSystemClass SubSysClass1 {
ActorRef actorRef1:PingPongTop
LogicalThread defaultThread
}
ActorClass PingPongTop {
Structure {
ActorRef sender: Sender
ActorRef receiver: Receiver
Binding receiver.sender and sender.receiver
}
Behavior { }
}
ActorClass Sender {
Interface {
conjugated Port receiver: PPingPong
}
Structure {
external Port receiver
}
Behavior {
StateMachine {
Transition init: initial -> SendingPing { }
Transition tr0: SendingPing -> ReceivedPong {
triggers {
<pong: receiver>
}
}
State SendingPing {
entry {
"receiver.ping();"
}
}
State ReceivedPong
}
}
}
ActorClass Receiver {
Interface {
Port sender: PPingPong
}
Structure {
external Port sender
}
Behavior {
StateMachine {
Transition init: initial -> WaingForPing { }
Transition tr0: WaingForPing -> ReceivedPing {
triggers {
<ping: sender>
}
}
State WaingForPing
State ReceivedPing {
entry {
"sender.pong();"
}
}
}
}
}
ProtocolClass PPingPong {
incoming {
Message ping()
}
outgoing {
Message pong()
}
}
}