Module 6 - Activity Diagram Part 2 Flashcards
what kind of model element is Enter Final Orbit?
Call behavior action
the Enter final orbit is calling a behavior that has been defined in the model .
Name : Behavior
there are three kinds of behaviors
1. activity
2. state machine
3. Interaction
Which kind of action represents a behavioral decomposition
call behavior action or send signal action ?
Call behavior action
It represents a defined behavior in the model
rake symbols are displayed when one activity calling another _____
activity
why is there a special notation ? the rake symbol is used anywhere that the modeler wants to indicate hierarchical representation
This call behavior is synchronous , the action that calls fire thruster waits for it to finish executing then the action that calls it finishes executing then produces a _______
control token
notes : call behavior actions can call a behavior sync and asycn , its a checkbox in the specifications in cameo
when the action comes to an end , it produces a control token. It calls the behavior fire thruster to start its execution.
what kind of action is this ?
send signal action
three criteria that must be satisfied ? what does the action require to start executing ?
- the activity that owns the action is currently executing
- a control token arrives on each of the incoming control flows
- a sufficient number of object tokens arrive on ___
each of the incoming object flows to meet the min multiplicity of the respective pin
key idea of a send signal action
send signal sends an instance of a signal to a target object to asynchronously trigger a behavior in that target object , then that send signal action ______
terminates
the send signal action asynchronously generates and send a signal once the
currentRadiusOrbit token arrives
Review of a signal
- signals are elements of definition , it defines something
- a signal defines an asynch event that could occur in time.
- once a signal is defined there could be multiple occurrences/ instances of that signal sent and received
a reception would be triggered by an arrival of a matching _____
a reception can only be invoked asynchronously
signal
what is analogTempDataSampled ?
a reception
the signal also matches the receptions name
signals and receptions are always ( fire and forget)
receptions are behaviors that can only behave
asynchronous
a send signal action models the sending of an the name of the ________ being sent
name of the signal being sent
when a signal arrive
1) can trigger a matching reception to trigger a new behavior
2) can also trigger an accept event ________
3) when a signal instance arrives it can also trigger a transition in a state machine behavior
action
an accept event action waits for an event to arrive , then it will execute
which is the client ?
which is the target ?
send signal action is the client
accept event action is the target
what is attitiudeUpdated ?
the signal being sent to the target.. it is not the name of the send signal action
if a signal has been updated , Cameo updates the send signal action input ____ on the send signal action
Pins
what is authenticationResponseSent ?
The ______ that has been assigned to a send signal action
signal
what does this accept event action require to start executing ?
when a control token is received
What type of action do you use when you want to wait for an event to occur before allowing execution to proceed ?
accept event actions
why not call it an accept signal action instead of accept event action ?
accept event action can wait for any of these events not just signals
1. signal event
2. call event
3. change event
4. time event
in the language there are 4 kinds of events defined to model an event occurrence that may trigger an execution of a behavior
- signal event
- call event
- change event
4.
a event occurs at some discrete moment in time it has no duration
time event
a event occurs at some discrete moment in time it has no ________
a behavior occurs at some moment in time it may trigger an execution of a behavior
duration
what is an event pool ?
an event pool - abstract concept its not a model element thats baked in to the rules of the language on how
picture a **bucket **where event occurrences get buffered until a behavior consumes it
each instance of an object owns its own event pool
When does the activity look at the owning object event pool to see if that specified event has or has not yet occured ?
only when an __________action is executed
accept event
each instance owns its private event pool
each instance could be executing multiple behaviors
each behavior does not have their own event pool
when an a control token arrives the accept event action looks at the event pool for
a signal
if two activities are competing with each other ( looks at the event pool for a signal ) is an example of a ______ condition
race condition
the owning activity looks at the event pool only when a ______________ action is executing . Not when a basic action is executing or any other action is occurring
accept event action
if two behaviors are waiting for the same signal in the event pool
its non deterministic . you cant tell which action will consume it
Review
a wait time action is waiting specifically for a time event trigger
an accept event controls the flow of execution waiting for a signal to arrive in an event pool.
a wait time action is waiting specifically for a time event trigger
not a signal
not a call event
not a change event
an accept event controls the flow of execution waiting for a signal to arrive in an event pool.
two kinds of time event
1. absolute begins with the keyword at
2. relative time event begins with
the keyword after
what kind of time event is this ?
absolute time event – begins with at
what kind of time event is this ?
relative time event – begins with after
what is this narritive
a continuous periodic behavior
a wait time action with incoming edges
when the activity begins every 2 mins the fire thruster behavior executes
when is a accept event action continuously enabled
no incoming edges on an accept event it remains continuously enabled , it never terminates
what kind of node is used to steer the execution of an activity along a path ?
control nodes —– dashed lines
control nodes can direct the path of control tokens as well as object tokens
three ways an activity can terminate
a token arrives at an activity final node
all actions within the activity terminate
another behavior can ______terminate the activity
externally
if any token arrives at an activity final node all the actions
terminate
special rule
when an accept event action has no incoming action this action never _______ and it becomes continuously enabled
terminates
7 kinds of control nodes
- initial node
- activity final node
- flow final
- decision node
5 merge node - fork node
7.
join node
what two controls nodes are shown here ?
initial node
fork node ( multiple edges going out of it )
what do all control nodes have in common ?
- all control nodes are used to define control logic
- control nodes do not execute
- the rules for all control nodes are expressed in terms of token ______
flows
what does an initial node do ?
marks the start of control flow within the activity
tokens traverse edges in zero time. the moment the activity begins
when the owning activity begins executing a control token gets places on each initial _________
node. those tokens flow concurrently and independently
is an initial node a requirement for an activity diagram ?
No
ma does have an incoming edges or control flows , when does this action start executing ?
when the owning activity begins the action ma begins
what does an activity final node represent ?
termination of the execution of the action
when any token ( object flow or control flow ) arrives it terminates an activity
an activity final node can have multiple edges coming into it , Can either be a control node or object node
its not a requirement for an activity to have a final node .
key ideas of a flow final node
1. marks the end of a single sequence of actions , not the entire activity
2. a flow final node can have a control flow or object flow arriving into it.
3. when 1 token arrives it ends the sequence of the action not the activity itself
4. flow final nodes are not required in the diagram
- multiple edges can come in into flow final node
key idea of decision node
1. a decision node represents an a OR statement .
2. when any token arrives at a decision node , all guard expressions are evaluated . if 1 guard is true then the token is passed on that edge
how about if multiple guards are true ?
it becomes non-deterministic , the reader cant know which path the tokens takes
key idea of a fork node
when a token arrives at a fork node those tokens are duplicated and tokens .
tokens flow concurrently and
independently
if control flow comes in , control flow comes out
if object flow comes in , object flow comes out
join node
all three of these actions must come to a stop before the action is
is done executing
join node serves as a synchronization point
scenarios for Join node
only control flows come in and only a single control token flows out
only object flows come in and ** all ** object nodes flow out
if a control and object nodes are in a join node … all the object tokens must arrive and no control tokens are
passed
Activity partition
displays who does what . An activity partition conveys _______
allocation
totally optionally to add this in your diagrams
the column flight computer is a an element that you have assigned to that activity
partition .
four common elements to add that are structural representations in an activity partition
1. part property
2. block
3. actor
4.
reference property
greatest weakness of activity partitions ?
cannot determine which element invokes an action