1501 - Introduction To Process Modeling Methodology
1501 - Introduction To Process Modeling Methodology
1501 - Introduction To Process Modeling Methodology
Introduction to
Process Modeling Methodology
R&D Solutions for Commercial and Defense Networks
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any
CONFIDENTIAL format
RESTRICTED
ACCESS:
This information
may not Technologies,
be disclosed, copied,
or transmitted in any
without the
prior written
consent of OPNET
Inc.
format without
the
priorOPNET
written Technologies,
consent of OPNET
2007
Inc. Technologies, Inc.
2010 OPNET Technologies, Inc.
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
Introduction
What is the Process Modeling Methodology (PMM)?
But first
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
OPNET Environment
Process
model is the
heart of
custom
simulation
development
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
Comparing Approaches
PMM - tcp_conn_v3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
init
msg1
INITIALIZED
MSG1
connect
CONNECTED
FAIL
RECOVER
register
REGISTERED
MSG2
wait
msg2
FAIL
FAIL
fail
MSG3
msg3
Beginners
avoid RED
states, but
they are very
important!
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
State
Event
Alarm
Action
State
Wakeup
asleep
awake
Stimulus
to move
system
Condition
of system
0:00
Time progresses
6:00
Response of
system to
stimulus
Instantaneous
Condition
of system
6:00
Time progresses
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
8:00
9
Motivation
PMM helps the user over many common pitfalls
Gets you past the initial blank screen
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
10
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
11
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
12
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
13
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
14
Sales
Simulation
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
15
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
16
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
17
Higher Layer
Frames for Transmission
SWaRe Protocol
Transmitted Frames
Acknowledgements
Physical Layer
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
18
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
19
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
20
1
2
3
Ack timeout
SWaRe Protocol
!
!
Acknowledgements
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
21
Event Description
Interrupt Type
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
22
!
!
Event Description
Interrupt Type
Frame Arrival
Stream
Timeout
The retransmission
timer has expired.
Self
1
2
3
Acknowledgement
Received
An acknowledgement Stream
for the last transmitted
frame has been
received.
Link Fail
Failure
Link Up
Recovery
Power Up
Begin Simulation
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
23
Event
Condition
Action
1
2
3
Final State
24
Conditions
State
Event
Condition
Action
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
State
25
Problem:
1
2
3
Solution:
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
26
State
Event
Condition Action
Final State
1
2
3
Init
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
27
State
Event
Init
Frame Arrival
1
2
3
Timeout
Acknowledgement
Received
Link Fail
Link Up
Power Up
Always
None
Idle
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
28
State
Event
Init
Power Up
Idle
Power Up
Frame Arrival
Condition
Found
Foundnew
newstates
states
Action
Final State
Always
None
Idle
Always
Copy frame
Send frame
Set timer
ACK Wait
1
2
3
Timeout
Acknowledgement
Received
Link Fail
Always
None
Link Down
Link Up
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
29
State
Event
Init
Power Up
Condition
Action
Always
None
Idle
Always
Frame Arrival
Link Fail
Always
Final State
Idle
ACK
Wait
Link
Down
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
1
2
3
30
Event
Condition
Action
Final State
Frame Arrival
Always
Queue frame
ACK Wait
Timeout
Always
Copy frame
Send frame
Set timer
ACK Wait
Acknowledgement
Received
Queue
Empty
Queue
Occupied
Cancel timer
Destroy copy
Cancel timer
Destroy copy
Pop queue
Copy frame
Send frame
Set timer
Idle
Link Fail
Always
None
1
2
3
ACK Wait
Link Up
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
31
Event
Frame Arrival
Condition
Always
Action
Final State
1
2
3
Timeout
Acknowledgement
Received
Link Fail
Link Up
Queue
Empty
None
Idle
Queue
Occupied
Pop queue
Copy frame
Send frame
Set timer
ACK Wait
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
32
Event
Frame Arrival
Timeout
Condition
Action
Final State
ACK Wait and
Link Down
Always
Queue frame
Always
Acknowledgement
Received
1
2
3
Link Fail
Link Up
Often, designing
the model helps
flush out the
design of the real
system
Retransmit
Flag
No Retrans
Flag
Reset flag
Copy frame
Send frame
Set timer
None
ACK Wait
ACK Wait
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
33
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
34
1
2
3
state1
PK_ARRIVAL/sample_function_call();
state2
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
35
1
2
3
state1
4
state2
state1
state2
5
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
36
1
2
3
state1
trans
state2
4
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
37
State
Init
Event
Power Up
Condition
Always
Action
None
Final State
Idle
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
38
State
Idle
Event
Frame Arrival
Link Fail
Condition
Always
Always
Action
Copy frame
Send frame
Set timer
None
Final State
1
2
3
ACK Wait
Link Down
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
39
Event
ACK
Wait
Frame Arrival
Always
Queue frame
ACK Wait
Timeout
Always
Copy frame
Send frame
Set timer
ACK Wait
Acknowledgement
Received
Queue Empty
Cancel timer
Destroy copy
Idle
Queue Occupied
Cancel timer
Destroy copy
Pop queue
Copy frame
Send frame
Set timer
ACK Wait
None
Link Fail
Condition
Always
Action
Final State
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
40
Event
Condition
Action
Queue frame
Final State
Frame
Arrival
Always
Link Down
Link Up
Queue Empty
None
Idle
Queue
Occupied
Pop queue
Copy frame
Send frame
Set timer
ACK Wait
Frame
Arrival
Always
Queue frame
Timeout
Always
Link Up
Retransmit flag
Copy frame
Send frame
Set timer
ACK Wait
No Retrans flag
None
ACK Wait
1
2
3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
41
QFrame2
QFrame3
QFrame1
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
42
(op_intrpt_type() == OPC_INTRPT_BEGSIM)
(op_intrpt_type() == OPC_INTRPT_SELF)
#define ACK
#define LinkFail
(op_intrpt_type() == OPC_INTRPT_FAIL)
#define LinkUp
(op_intrpt_type() == OPC_INTRPT_RECOVER)
#define QEmpty
43
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
44
Only
27
lines of code!
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
45
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
46
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
47
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
48
Traffic Source
Packet Arrival
CSMA Protocol
Send Packet
Physical Medium
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
49
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
50
Event Name
Event Description
Interrupt Type
Power Up
Initialize CSMA
Begin Sim
Packet Arrival
Stream
Medium Free
The transmission
medium has changed
from busy to free
Stat
Backoff Over
Self
NOTE:
NOTE:We
Wedo
donot
notneed
needan
anevent
eventfor
forMedium
MediumBusy
Busy
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
51
Found
Foundnew
newstates
states
State
Event
Condition
Action
Final State
Init
Power Up
Always
None
Idle
Idle
Packet
Arrival
Medium not
Busy
Send packet
Idle
Medium
Busy
Queue
packet
MediumIsBusy
None
Idle
NOTE:
NOTE:Medium
MediumFree
Freeisisan
anEVENT
EVENT
Medium
MediumBusy
Busyisisaastatus
statusthat
thatwe
wecheck
check
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
52
Event
MediumIsBusy Packet
Arrival
Medium
Free
Condition
Action
Final State
Always
Always
Backoff
Over
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
53
Event
BackOff Packet
Arrival
Condition
Always
Medium Always
Free
Action
Final State
Queue Packet
BackOff
None
BackOff
MediumIsBusy
Idle
54
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
55
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
56
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
57
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
58
Introduction
What is a Dynamic Process?
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
59
invoke
tcp_manager_v3
tcp_conn_v3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
60
Motivation
Modular organization (decomposition)
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
61
Terminology
Root process
The single process initially present within each module at the node level
Child process
Parent process
Process group
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
62
The number
of generations
is not limited,
but typically
only one or
two are used
First-generation
child processes
Second-generation
child processes
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
63
OPNET Configuration:
Declaring Child Processes
Create the child process models
Open the parent process in the Process Editor
Choose File > Declare Child Process Models
Select the child process models
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
64
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
65
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
66
Process Lifecycle
Process creation
Process invocation
Process destruction
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
67
Process Creation
op_pro_create (model_name, ptc_mem_ptr)
Creates a new process as an instance of the specified process model,
associating it with a module
Allows for the installation of parent-to-child shared memory
Returns a process handle
EXAMPLE:
Prohandle aChildProc;
MY_STRUCT* someData;
aChildProc = op_pro_create ("childProcModel", someData);
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
68
Subqueues
Packet streams
Statistic wires
Statistic declarations
Run-time efficiency
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
69
Process Invocation
op_pro_invoke (pro_handle, arg_mem_ptr)
Invokes a process in the context of the current event and current module
The invoked process reacts as if it received an event
Information can be passed in argument memory
The originating process is suspended until this KP returns
Analogous to a C function call
Caller blocks until the callee finishes executing
Invoked process can further invoke other processes
EXAMPLE:
Prohandle aChildProc;
MY_STRUCT* someData;
MY_OTHER_STRUCT* someOtherData;
aChildProc = op_pro_create ("childProcModel", someData);
op_pro_invoke (aChildProc, someOtherData);
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
70
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
71
Process Destruction
op_pro_destroy (pro_handle)
op_pro_destroy_options (pro_handle, options)
OPC_PRO_DESTROY_OPT_KEEP_EVENTS or
OPC_PRO_DESTROY_OPT_NONE
Process destruction
72
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
73
Root
Children
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
74
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
75
Interrupt Steering
Specifying which process within a module receives a given interrupt
Four mechanisms:
Manual
Normal
Type-based
Port-based
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
76
Manual Steering
Root process receives control (by default)
Invokes appropriate child
Blocks till child returns
Simulation
Kernel
interrupt
Root
op_pro_invoke()
Children
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
77
Normal Steering
op_intrpt_schedule_self (time, code)
Simulation
Kernel
2)self interrupt
Root
1) op_intrpt_schedule_self()
Children
78
Simulation
Kernel
Root
1) op_intrpt_schedule_process()
Children
79
Type-Based Steering
Causes all interrupts of a certain type that are sent to a module to be
received by the specified process
op_intrpt_type_register (type, pro_handle)
Simulation
Kernel
all failure interrupts
Root
Children
op_intrpt_type_register(OPC_INTRPT_FAIL, ...)
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
80
Port-Based Steering
op_intrpt_port_register (type, index, pro_handle)
Simulation
Kernel
Root
Children
op_intrpt_port_register(OPC_PORT_TYPE_STRM, 0, ...)
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
81
Interrupt Deregistration
Type-based
Port-based
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
82
Simulation
Kernel
Incoming packets:
Cause STREAM
interrupts
Root
Child
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
83
Simulation
Kernel
Root
Child
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
84
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
85
Process Communication
Shared process memory
Module-wide memory
Parent-to-child memory
Argument memory
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
86
Module-Wide Memory
Establish
Access
op_pro_modmem_install (mem_ptr)
op_pro_modmem_access()
modmem
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
87
Parent-to-Child Memory
Establish
Access
pm
pm
pm
pm
pm
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
88
Argument Memory
Establish
Access
op_pro_invoke()
am
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
89
Global registry
oms_pr_process_register ()
oms_pr_attr_set ()
oms_pr_process_discover ()
oms_pr_attr_get ()
May be slow
ICIs
op_ici_create ()
op_ici_attr_set ()
op_ici_attr_get ()
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
90
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
91
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
92
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
93
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
94
Strings used to distinguish one process from others of the same type within the
same module when using the promap command
Set with op_pro_tag_set (pro_handle, tag_string)
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
95
op_prg_odb_bkpt (label)
96
op_prg_odb_ltrace_active (label)
Used to determine if the specified labeled trace has been activated by an ODB
command
Enables a trace for the specified label restricted to the specified process
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
97
prodiag <proc_id>
Executes diagnostic block of the specified process and sets a trace for the
specified label for that execution only
Use op_prg_odb_ltrace_active() to control output
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
98
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
99
Agenda
Introduction / motivation
Process Modeling Methodology explained through an example
Dynamic processes
Introduction
Process life cycle
Lab 2
Interrupt steering
Process communication
Lab 3
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
100
Documentation References
Modeling Concepts Reference Manual
~120 pages about the Process Domain that everyone in this class should
read
In particular, Process Model Development Methodology section
Good review and reference
Provides 4 examples
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
101
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
102
Take-Away Points
The Process Modeling Methodology can help organizing the
development of complex models
Dont be afraid of red states
Using dynamic child processes can be a natural way of representing
scalable systems
Next steps: use the methodology to create your own process models!
CONFIDENTIAL RESTRICTED ACCESS: This information may not be disclosed, copied, or transmitted in any format without the prior written consent of OPNET Technologies, Inc. 2010 OPNET Technologies, Inc.
103