Free AnyLogic basic lessions - Learning AnyLogic by examples is made by Khoi Tran.
In this example you can learn, how to send message by using ports and connections in AnyLogic
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)
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.