際際滷

際際滷Share a Scribd company logo
How to send message by using
ports and connections
Become an AnyLogic Expert Step by Step
About me
khoi.tran@simbean.com 2
My name is Khoi Tran and Im living in beautiful Stuttgart, Germany.
As a 12-years expert in the software industry and 6-years expert in
simulation with AnyLogic, I would like to share my experiences
with you on a simple and fast path.
Learning subjects
khoi.tran@simbean.com 3
In this example you can learn,
 Understand message passing mechanism with port
 Port connection: one to one
 Port connection: one to many
You can see the demo in action first
http://simbean.com/en/knowhow/become-an-anylogic-expert.html
If you like to know, how I built this model, this presentation may help you.
Simple messaging mechanism
khoi.tran@simbean.com 4
Active objects can exchange information in form of messages by using port
communication
 Messages can be moving objects e.g. vehicles, human-beings, animals in the
models
 With ports active objects can be connected and created a network
Active object Station
e.g. station A
Active object Station
e.g. station B
PortsPorts
Line as
connectionInformation e.g.
Object car
Car can be animated as moving object from station A to station B by message
passing using ports and its connections.
Simple message passing mechanism
khoi.tran@simbean.com 5
 Ports are bidirectional, ports can send and receive message
 Ports ob the same active object cannot be connected
Active object Station
e.g. station A
Active object Station
e.g. station B
Send message:
object car
Receive message:
object car
Active object
Parklot
e.g. Parklot 02
Active object
Parklot
e.g. Parklot 01
Simple message passing mechanism
khoi.tran@simbean.com 6
Message is forwarded to direct connected port
Active object Station
e.g. station A
Active object Station
e.g. station B
Receive message:
object car
Send message
e.g. Object car
Send message:
object car
Receive message:
object car
Create port in an active object
khoi.tran@simbean.com 7
Create active object
Station
Create a port by drag &
drop
Specify message type
khoi.tran@simbean.com 8
The variable of in coming
message is msg. The
String message is shown on
the console, when the
message arrives
Message is of type String e.g., for
out going and in coming type
Message is of type String e.g., for
out going and in coming type
Connecting ports and send message
khoi.tran@simbean.com 9
On the Main active
object, we create two
ports and connect
them together
The String message Car is sent by method call
activeObjectName.portName.send(messageText)
Result
khoi.tran@simbean.com 10
Event triggers the sending message
process at the station_A and station_B
received the message and show it on the
console
Forwarding message to embedded object
khoi.tran@simbean.com 11
String type for in comming and
out going message
Create an active object ParkingLot and create a port within this
active object
String type for in comming and
out going message
Show the message on the
console, when a Car message
is arrived
Forwarding message to embedded object
khoi.tran@simbean.com 12
Connect the port with the port
of active object parking_lot
Create an active object StationWithParkingLot and create a port within this
active object, then create an embedded active object parking_lot
This station show the receiving message first, then
forward it to the parking_lot active object
Forwarding message to embedded object
khoi.tran@simbean.com 13
Message Car  is sent from
the station_A
One message can be sent to multiple receivers. This scenario can be
built on the main active object
Station_B receives the
message and show it on the
console
StationWithParkingLot
receives the message and
show it on the console, then
forward this message to its
embedded parking_lot
active object
Result
khoi.tran@simbean.com 14
1. First text line is the message from the station_B
2. Second text line is the message from stationWithParkingLot
3. Third text line is the message from embedded active object park_lot
inside active object stationWithParkingLot
Run the model
khoi.tran@simbean.com
Click on the run button and
choose the simulation
15
1. You can run the model and see the result
2. Try to change or set properties to see some small effects e.g.
1. Test the message with different message types
2. Create a chain active object stations for forwarding messages
3. You need to restart the model to see the effects
Thank You
khoi.tran@simbean.com 16
IF YOU HAVE ANY QUESTION, IDEA, FEEDBACK or FIND ANY MISTAKE,
PLEASE SEND ME an EMAIL
khoi.tran@simbean.com
BECAUSE I WOULD LIKE to IMPROVE this SLIDE CONTINUOUSLY.
I APPRECIATE a lot YOUR TIME.

More Related Content

AnyLogic - Free AnyLogic basic lessions - Learning AnyLogic by examples - Demo simpleMessagePassing

  • 1. How to send message by using ports and connections Become an AnyLogic Expert Step by Step
  • 2. About me khoi.tran@simbean.com 2 My name is Khoi Tran and Im living in beautiful Stuttgart, Germany. As a 12-years expert in the software industry and 6-years expert in simulation with AnyLogic, I would like to share my experiences with you on a simple and fast path.
  • 3. Learning subjects khoi.tran@simbean.com 3 In this example you can learn, Understand message passing mechanism with port Port connection: one to one Port connection: one to many You can see the demo in action first http://simbean.com/en/knowhow/become-an-anylogic-expert.html If you like to know, how I built this model, this presentation may help you.
  • 4. Simple messaging mechanism khoi.tran@simbean.com 4 Active objects can exchange information in form of messages by using port communication Messages can be moving objects e.g. vehicles, human-beings, animals in the models With ports active objects can be connected and created a network Active object Station e.g. station A Active object Station e.g. station B PortsPorts Line as connectionInformation e.g. Object car Car can be animated as moving object from station A to station B by message passing using ports and its connections.
  • 5. Simple message passing mechanism khoi.tran@simbean.com 5 Ports are bidirectional, ports can send and receive message Ports ob the same active object cannot be connected Active object Station e.g. station A Active object Station e.g. station B Send message: object car Receive message: object car
  • 6. Active object Parklot e.g. Parklot 02 Active object Parklot e.g. Parklot 01 Simple message passing mechanism khoi.tran@simbean.com 6 Message is forwarded to direct connected port Active object Station e.g. station A Active object Station e.g. station B Receive message: object car Send message e.g. Object car Send message: object car Receive message: object car
  • 7. Create port in an active object khoi.tran@simbean.com 7 Create active object Station Create a port by drag & drop
  • 8. Specify message type khoi.tran@simbean.com 8 The variable of in coming message is msg. The String message is shown on the console, when the message arrives Message is of type String e.g., for out going and in coming type Message is of type String e.g., for out going and in coming type
  • 9. Connecting ports and send message khoi.tran@simbean.com 9 On the Main active object, we create two ports and connect them together The String message Car is sent by method call activeObjectName.portName.send(messageText)
  • 10. Result khoi.tran@simbean.com 10 Event triggers the sending message process at the station_A and station_B received the message and show it on the console
  • 11. Forwarding message to embedded object khoi.tran@simbean.com 11 String type for in comming and out going message Create an active object ParkingLot and create a port within this active object String type for in comming and out going message Show the message on the console, when a Car message is arrived
  • 12. Forwarding message to embedded object khoi.tran@simbean.com 12 Connect the port with the port of active object parking_lot Create an active object StationWithParkingLot and create a port within this active object, then create an embedded active object parking_lot This station show the receiving message first, then forward it to the parking_lot active object
  • 13. Forwarding message to embedded object khoi.tran@simbean.com 13 Message Car is sent from the station_A One message can be sent to multiple receivers. This scenario can be built on the main active object Station_B receives the message and show it on the console StationWithParkingLot receives the message and show it on the console, then forward this message to its embedded parking_lot active object
  • 14. Result khoi.tran@simbean.com 14 1. First text line is the message from the station_B 2. Second text line is the message from stationWithParkingLot 3. Third text line is the message from embedded active object park_lot inside active object stationWithParkingLot
  • 15. Run the model khoi.tran@simbean.com Click on the run button and choose the simulation 15 1. You can run the model and see the result 2. Try to change or set properties to see some small effects e.g. 1. Test the message with different message types 2. Create a chain active object stations for forwarding messages 3. You need to restart the model to see the effects
  • 16. Thank You khoi.tran@simbean.com 16 IF YOU HAVE ANY QUESTION, IDEA, FEEDBACK or FIND ANY MISTAKE, PLEASE SEND ME an EMAIL khoi.tran@simbean.com BECAUSE I WOULD LIKE to IMPROVE this SLIDE CONTINUOUSLY. I APPRECIATE a lot YOUR TIME.