Unit 4
Unit 4
1
AL
L 4.1 INTRODUCTION
Today, most organizations depend on software to perform dynamic activities.
Insurance, E-Procurement, E-Commerce, E-Education, Infrastructure development,
government offices etc. take a global approach and incorporate the software in the
business to increase the profit. Due to dynamic requirements in business processes,
the requirement deals with the changes in the system behavior. Various behavior
models are explained with the help of interactive diagrams and activity diagrams.
These behavior models perform the integration of software with the system behavior.
The behavior models of the system narrate the internal parameter of the entire system
as explained in the previous chapter behavior modeling.
The behavioral model is derived from the current fields, which can predict various
actions. UML behavioral diagrams demonstrate the components of a system that are
time-dependent and communicate the dynamic behavior and their interactions.
This unit provides various existing event approaches to behavioral modeling. UML is
used to define a wide variety of behavior using the basic features of events, states,
signals, and transactions. Using these features state machines, and the time-space
diagram represents arcs (transactions) and vertices (states) in the behavioral models.
The relationship with structural elements in these diagrams will be explained in this
unit.
Various behavioral diagrams are described by the UML, which are as follows:
Events and Signals Diagram
State Machine Diagram
Processes and Threads
Timing Diagram
Sequence Diagram
Communication Diagram
4.2 OBJECTIVES
After going through this unit you will be able to:
Explain the structure and relationship between objects with the help of events,
Describe the behavior of objects and the state machine,
To monitor the operation of the process with process and threads,
Explain the resource and time, and
To understand the different states of objects and the state chart diagram.
Events are also known as the “Things that occurred”. UML, event things happened in
the form of the model. An event is a model specification that causes something to
happen in time and space.
Events can be internal or external.
Events may occur in synchronous and asynchronous forms.
The time at which the event executes is an implicit attribute of the event.
One event may occur before or follow another, or the two events may be
unrelated.
Two events that are causally unrelated is known as concurrent event.
If the communication delay between two locations is greater than the
difference in event times, then the events must be concurrent.
Busy
Free
Connected
Events
/
disconnected
Network
Network
1. Signal Event:
2. Call Event
3
parameter
()N
remoteControl
event
ormal
Automatic
Manual
AL
L
It is an event that occurs at an accurate time or the passage of a given time interval. It
is denoted by the “after” followed by the parenthesis expression that measures the
time duration. In figure 4.3, when the time event is executed after (15 seconds) call
will be disconnected. A change event is used to denote an event that denotes a change
of state or fulfills some of the boolean conditions. The change event is denoted by
“when” followed by a boolean expression in parenthesis. When time =11:50 AM, the
event
)/
AM
() 1/ outexecutes
programExecute
seconds
15
)5
(:When
After
Automatic
Manual
selfExecute
time
change
10 event and stops the charging.
Every instance of a class has either a call event or a signal event. The sender is
waiting for the receiver if the call is synchronous. If the signal is used, it works at the
end of the receiver without anything.
At least two objects are involved in the calling and signaling event: the object on
which the event has been directed for transmitting or initiating the operation. Any
class instances (objects) are capable of sending or invoking a signal for a receiving
object. When an entity passes a signal, the user transmits the message and afterward
proceeds with its control flow without waiting for the receiver to respond. For
example, when you send a signal push button to the actor communicating with an
ATM device. Users can proceed on their way regardless of whether the system is
sending the signal to the user or not. In comparison, the sender dispatches the
operation and waits for the recipient in the process when the object calls an operation.
A call event or a signal can be sent to any instance in any class. If the sender and the
recipient have made an appointment for the period of the transaction, then it indicates
the sender’s control flow is locked up with the receiver’s control flow before the
process is completed. If that is a signal, the receiver and the sender will not meet: the
sender sends out the signal but will not wait for the recipient to respond. In any
situation, this event will be missed or lost (When no response to the event is
provided), the receiver state machine may be activated, or a standard method call may
be invoked in this situation.
In the UML, events of an object receive are modeled as operations in the object class,
and the named signals that an object may receive are modeled in the UML by naming
them in an extra row of the class, as shown in figure 4.4.
Signals
mouseHandler
signals
active
pushButton
(b
:)sscrollDown
crollUp
uttonclass
OOAD
4.2.2 Signals
A signal is used to present an object which is transmitted by one object and received
by another object asynchronously. Every signal has instances, attributes, and
relationships that perform various operations. A class instance can receive a class or
signal event. If the event is a synchronous call event, the sender and receiver are met
during the operation. It means the flow of control of the sender is suspended from the
receiver flow of the control until the operation is terminated. In this case, the sender
and receiver do not lock. The sender sends the signal continuously without the wait a
response from the receiver end. In such cases, the event may be lost, it may activate
the receiver’s state machine, or it may invoke a call method. For example, the event is
an email sent by one user and received by another user.
In this way, you can specify polymorphic events by modeling hierarchies of signals.
Consider a state machine in which a transition is caused solely by the occurrence of a
storage capacity. In this hierarchy, the transition can only be induced by the signal as a
5
AL leaf signal, such that it is not polymorphic. Consider a state machine with a transition
L due to a hardware fault. The transition is diversified that may be causing faults, such
as Power fault, Storage fault, Display fault, and Backup fault.
Figure 4.5, depicts a series of signals that a Mobile Signal would be able to handle.
Here it is worth noting that the root signal (Mobile Signal) is abstract, meaning that no
direct instances are possible. This signal has two concrete specializations (Network
and Hardware Fault), of which one is more specialized (Hardware Fault). The
Network signal only has one parameter.
Signal
signal
Variable
Fault
I:Data
Network
HardwareFault
Power
Storage
Display
Backup
Mobile
nteger
Modeling Exceptions
To model exceptions,
Consider the extraordinary requirements that could be posed for each class,
interface, and function of those components.
Manage these exceptions in a logical order. Boost general, specialized, and if
necessary, add intermediate exceptions.
Define the exceptions that could be raised for any operation. This can be
achieved directly (by displaying sending dependencies from an operation to
the exceptions) or can be specified in operation.
Specification operations can contain exceptions. Exceptions are forms of signals in the
UML that are modeled as stereotypes. Modeling exceptions behave in reverse of the
modeling in the general signal family. A family of signals represented various types of
other signals that an active object can receive from model exceptions. A particular OOAD
object can behave in general to define the type of exceptions.
(i) Event
(ii) Node
(iii) Time event
(iv) Signals
2) Time event is customized by the keyword_________.
(i) When
(ii) After
(iii) Signal
(iv) Change
3) Exceptions are arranged in ________________.
(i) Hierarchy
(ii) Sequence
(iii) Linear
7
AL (iv) Circle
L 4) The change event is modeled by the keyword___________.
(i) After
(ii) When
(iii) Time
(iv) Signal
5) Define External and Internal Events.
…………………………………………………………………………………………
………………..………………………………………………………………
………………………………………………..
6) Explain how Sending and Receiving events are executed.
…………………………………………………………………………………………
………………..………………………………………………………………
………………………………………………..
4.3.1 State
The state is a circumstance in the course of an object’s existence, during which some
condition is fulfilled, some operation is carried out or some event is awaited. For a
limited period of time, an object persists in the state. For example, in an ATM
transaction, the ATM may be in either reading card state, reading PIN state, choosing
transaction, or performing transaction.
A state name should be unique in its neighboring state.
A state contains five parts: name, input/outcome behavior internal transitions,
and, transitions performed without any state change.
Substates – A state’s nested configuration that includes disjoint or
concurrent substates.
Deferred events - A collection of events that were not processed in
this state, but in place of delayed object handling in a different state.
Initial state – It shows the default starting point for the state machine OOAD
or substate and is seen as a full black circle.
The final state – In this state, machines or enclosures are closed and
are shown as a filled black circle with an unfilled circle.
Pseudo-states - The first and last states are known as pseudo-states.
shutDown
End
finished
keyPress
Execution
Idle
state
name
states
Start
4.3.2 Transitions
Transition refers to the relation between two states; the first state performs
some action and reaches the second state. Transactions are executed when one
event is defined, and conditions are met.
Transition fires mean state reform takes place. The entity will be executed
before the transition fires. An object is said to be in the target state after the
fires on it.
9
Searching
Engaging
Tracking
idle
contact
noise
send
stevent
self
transition
time
action
guard
a
seconds
(2
.After
iT
p
)is
Threat
]targetAt
sAlive
riggerless
ddTarget
/[ event
signal
ctrigger
condition
transition
with parameter
AL
L
In the context of state machines, an event is the presence of a signal that may
trigger a state transition.
Various changes of state can involve events like signals, calls, and time
passing.
An event – signal or call – can have transition parameters, including guard
state and action expressions.
The symmetric event trigger is also possible in a transition.
4.3.5 Action
Internal Transitions
Activities
Activities use the idle time of an entity in a state. The ‘Do’ transition is used to
determine the work to be performed within a state after sending the entry action.
Deferred Events
4.3.7 Substates
Sequential substates are those substates in which each state can effectively
exercise an occurrence common to the composite states at any time.
Sequential substates split the composite state’s, space into disjoint states.
There can only be one initial state and one final state in a nested sequential
state machine.
11
c[Exit
n
/Ermaintain
Active
Maintenance
Idle
Processing
Printing
Selecting
]Validating
cancel
Transition
Composite
Sequential
cardInserted
eeadcard
ontinue
jectCart
ntry
ot continue
from
to
substate
state
from
substate
composite state
AL
L
History States
A history state requires a composite state of sequential substates to recall the last
active substate before transitioning from that composite state. In figure 4.11 history
state is shown. A small circle with the symbol H is depicted as a shallow history state.
The composite state’s first entry doesn’t have history.
The H symbol corresponds to a shallow history remembering only the history
of the nesting state machine.
The H* symbol designates a profound history that is symbolic of every depth
of the nesting state.
If only a stage of nesting is semi-equivalent to shallow and deep history.
To simulate an object’s lifetime, you need to explain the framework for the state
machine, whether it is a class, a use case, or the system as a whole.
When the context is a class or a use case, get the nearby classes, such
as the parents of the class and any classes available by associations or
dependencies. These neighbors are potential targets for actions and
should be included in guard conditions.
When the context is the system as a whole, then limit the attention to
one system behavior. Each entity in the system could engage in a
system life-span model, and a full model will be intractable except for
the most trivial systems.
Set the original and final entity states. You should state the pre and post
conditions of the initial and final states to lead the rest of your model.
13
AL Determine the events to which this object will respond; if you have already
L defined these in the interfaces of the object. If you don’t already define them,
you would have to think about which objects in the setting would
communicate with the object and which events they might display.
From the initial to the final state, decide the top-level state in which the item
can be placed. Link these states to the transitions induced by the subsequent
events. Continue by adding actions to these transitions.
Describe any initial or final actions, especially if the idiom they cover is being
used in the state machine.
Make sure all events on the state machine follow the events predicted from
the object’s interface. Also, ensure that the state machine manages all events
required from the object interface. Finally, search at places where you have
clearly said that you chose to ignore events.
Figure 4.13, illustrates the state machine for the controller in a home security alert
device, which is in charge of tracking numerous sensors around the house’s perimeter.
a) Transition
b) State
c) Association
d) Generalization
4. A state that has substates, known as nested state, is called_____________.
a) Composite state
b) History state
c) Target state
d) Source state
5. Inside the state, the events are encountered to handle without leaving the state is
known as ________________.
a) State machines
b) State transaction
c) Internal transaction
d) External transaction
6. The relationship between two states is called_________________.
a) Transaction
b) State
c) Association
d) Generalization
7. A guard condition is used to represent_________________.
a) Rectangle with rounded corners
b) Dashed line
c) Ellipse
d) Square brackets
8. Define Events, States, and Transactions.
…………………………………………………………………………………………
……………………..………………………………………………………………
……………………………………………………..……………………………
9. Draw a state machine diagram for Washing Machine.
…………………………………………………………………………………………
……………………..………………………………………………………………
……………………………………………………..……………………………
In a linear method, there is only one control flow, which means that only one thing
will happen at a time. Whenever a sequential program is running, control begins at the
beginning of the program, and procedures are executed in that order. If multiple users
executed the concurrent programs, a sequential program would process only at a time.
The queuing or dispatching of any concurrent external events is known as a flow of
control. To track the operation of a sequential program and trace the source of
execution flow from one instruction to the next, in sequential order. There is some
recursion or loop in the program execution of loop, conditional, or jump statements,
the flow of the expression returns to itself. In a sequential method, there can be only
one execution flow. On the other hand, when we execute the program concurrently,
there is more than one control flow, which means more than one statement is executed
at a similar time. Using the concurrent system, multiple operations are performed,
which are executed independently as a process or thread. In UML, active class is used
to define a thread or a process, that is, the origin of the program or control flow.
There are different types of classes: Active class and Normal class. Active classes
have some special properties. It represents the flow of control while the Normal class
has not any such flow control. However, active classes and normal classes behave
implicitly called passive classes because they cannot control flow independently.
When an active flow is created, the associated flow of control automatically starts;
when the active object is deleted, all the associated flow of control is terminated itself.
The properties of active classes are the same as those of regular classes. Its
instances are created. Attributes and operations are available in active classes. It is
used to describe relationships of association, generalization, and connection. All of
UML’s configuration tools, such as stereotypes, tag attributes, and constraints, can be
used for active classes. The identification of interfaces can be aided by active groups.
Collaborations can be used to do this, and state machines can be used to describe the
actions of an active class.
4.4.3 STANDARD ELEMENTS
The UML uses various standard elements, but most of the standard stereotypes which
are applied to active classes are as follows:
1. Process
It is a heavy weight process, in which the operating system involves running more
than one process at a time. These processes are run independently in a separate and
autonomous environment. One process communicates with another process using
communication techniques like signals, shared memory, semaphore files, etc.
Processes are not nested with each other. If there are several processors on the node,
then concurrent processes may execute at the same time.
2. Threads
OOAD
It is a lightweight process in which threads execute inside a process and share the
same address space with other threads of the process. In java programming, a thread is
used as a class thread. All the threads in the process are connected to access the same
resources inside the same process. Threads do not follow the nested concepts inside
one another.
4.4.4 COMMUNICATION
When objects participate with another object by passing messages from one to the
other, it is called communication between objects. There are four possible
communications of interaction with passive and active objects are as follows:
A signal can be transferred from one inactive object to the next. However, it is
assumed that only one flow diagram can travel through these objects at a time.
Second, a message may be sent from one working object to the next using
intercrosses correspondence. There are two methods of communication.
An active object will synchronously invoke another operation.
An active object can send a signal or invoke an action of another
object asynchronously.
Third, a message should be sent from an active object to an inactive object.
Fourth, a message can be transferred from a passive object to an active object.
4.4.5 SYNCHRONIZATION
Visualize the various control flows that are created temporarily through a concurrent
system. If a flow goes through an operation, we state that the control locus is in
operation at a specific time. We may also assume that since the operation is calculated
for such classes, the control locus is in one particular class instance at any given
moment. A single process (and hence in an object) can have multiple control flows,
and different operations can have different control flows. But, in a single object, there
are always many control flows.
The problem occurs when more than one control flow is concurrently executed in one
entity. If there is no alert, one flow interferes with another, destroying the object’s
condition. This is the traditional issue of mutual exclusion. If failures occur and are
not dealt with adequately, it may result in many race conditions and interference,
allowing concurrent systems to fail in uncertain and unexpected conditions.
1. Sequential Model
As the object only has one flow at a time and the callers are synchronized beyond the
object, the entity's semantics and consistency cannot be ensured in the face of multiple
control flows.
2. Guarded Model
In the presence of several control flows, all calls to the guarded operations of the
object shall be ensured to manage the semantics or dignity of the object. The object
can be invoked for precisely one operation, reducing it to sequential semantics. The
object’s semantics and consistency are ensured by considering the process as atomic
when there are many control flows.
3. Concurrent Model
Some programming languages support these concepts directly. For example, Java has
17
AL a sync property similar to the concurrent property of the UML. You may create
L support for all these properties in any language that encourages competitiveness
through the construction of semaphores.
As illustrated in figure 4.14, you can associate these properties with an operation that
c}dcan
Buffer
character
size
aadd
name represent theproperty
:operations
()
{synchronization
oncurrent
ttributes
elete UML with the use of constraint notation.
In the process view, active objects play a significant role in imaging, assigning,
designing, and validating a system. The system process covers all functions and
threads that categorize the system performance and structure of synchronization.
The diagram catches those static options in class, which highlights each active
class.
For example, figure 4.15, illustrates a portion of a trading system’s mechanism view.
SalesIndex, PriceWatcher, TradingManager, and NewsFeed (TV Newsfeed) are four
items that simultaneously drive information through the system (named s, p, t, and c,
respectively). Two of these objects (s and p) have their instances of the Analyst (a1
and a2). At least for this model, the Analyst can be constructed with the expectation
that only one flow of control can be present in each of its instances at any given time.
On the other hand, all analyst cases collaborate with an AlertManager (named m) at
the same time.
AlertManager
Analyst
NewsFeed
TpostValue
SalesIndex
:()sap
s211PriceWatcher
ctm M
pmnager
rading
postAlert
2postBreakingStory
Note:
Interaction diagrams are beneficial in visualizing when two control flows cross paths,
and thus where the coordination and synchronization issues must be solved. In
diagrams, the corresponding state machines are often usually attached, with
orthogonal states which display the detail of each active entity. Also, tools may
deliver many more distinct visual signals by coloring each flow.
As part of integrating multiple control flows into the system, you will have to
understand the methods used to communicate artifacts that exist in individual flows.
Across threads (living in the same space), objects could interact through means of
signals or calling events, in which the latter could display asynchronous or
synchronous semantics. Over the processes, you typically need to use various
structures. The inter-process connectivity issue is compounded because processes can
exist on different nodes in distributed networks. Also, message passing and Remote
procedure calls (RPC) are the two other popular techniques for inter-process
communication. In Unified Modeling Language (UML), these are often interpreted as
19
AL synchronous or asynchronous activities, respectively. To model inter-process
L communication:
A distributed reservation system with four nodes is illustrated in figure 4.16. The
method stereotype is applied to each object. A location tagged value is often added to
each object, indicating its physical location. Communication among the
ReservationAgent, TicketingManager, and HotelAgent is asynchronous. It is defined
as being built on a Java Beans messaging service, which is modeled after a node. The
communication is synchronous with the Trip Planner and the Reservation System. The
semanticity of your interaction is presented in the CORBA ORB collaboration. The
p:() 2Trip
}C
3rplanTrip
make OBRA
1tReservationAgent
TripPlanner
TicketingManager
hprocess
͟HotelAgent
{across
lServer
client
hotel
airline
Clientocation
rocess Planner
ORB
reservation
server
server
Communicates
ostResults
Beans acts as a client, and the ReservationAgent acts as a server.
server services
messaging
The modeling of time and space is thus an integral part of a system in a distributed or
real-time system. We use many UML features, including timing marks, time
expressions, constraints, and tagged definitions, to visualize and document the
corresponding building structures. It is really hard to have a good model dealing with
these distributed and real-time processes, which exposes systems, time, space, and
functionality.
Therefore, the UML provides a graphical representation of timing marks, time OOAD
constraints, and location to cover real-time and distributed system modeling needs.
Figure 4.17 shows the management of time and position.
A timing mark is a reference to the time an event takes place. The timing mark on the
boundaries of the sequence diagram is represented graphically as a small hashmark
(horizontal line).
A time expression is a concept that evaluates a time value, either absolute or relative.
You may also use a message name to indicate a point of its processing, such as to
request sendTime and request receiveTime.
position
MapCache
User
MapServer
:(raset
cb)sconsole
km
setMap
dserver
central
constraint
expression
time
pms
20
egion
etMap
uration
osition
timing
4.5.1 Time
Real-time systems are time-critical systems. In such systems, events may arise at
regular or irregular times. The reaction to the event itself may occur at pre-arranged
absolute times or at predictable times. In figure 4.18, systems activity and associated
time constraints are shown.
21
}ms
2t() 13c)Key
timing (kH
K:HID
{etestKeys
add
:remove Controller
Transmitter
tbkc10
ns EventBuffer
eyCollection
ID constraint
testKey
iming
very
xecution Time
AL
L
4.5.2 Locations
In distributed systems, elements are physically distributed between the system nodes.
For specific systems, components are set, while in some systems, which are loaded,
components need to be migrated from one node to other nodes in other systems.
Figure 4.19 shows different artifacts and their location by nesting, dependency, and
implementations.
Identify whether it needs to be set up at any absolute time for each event in a
communication. You need to model the real-time property as a
communication time limit if needed.
A maximum relatively long time should be associated with each interesting OOAD
sequence of messages during an interaction. Set a time limit for this real-time
property.
Computer
Agent
Front
:{ifcns
Image
}Page
100
d
ms
2constraint
()
b
frequency
agetImage
refresh
uration
every
Proper distribution of objects is required in the system for proper functioning. Figure
4.21 shows a design of object distribution.
Assign objects to modules, such that closely bound objects are on the same
component.
23
server
dataWarehouse
workstation
Order
ProductTable
Product
:View
Sales
o
sp
a
position
erAgent
AL
L
25
Flush up
Executing
Attached
Idle
Dispatching
/printReport
action
error
transition
headerOk
initial
composite
nested
State
checkSumOk
event
Receiving
Triggerless
hangUp
ringing
sendMessage
Initial
pickUp
final
disconnect
state
statestate
AL
L
As we can see in the above figure 4.22, a statechart diagram is nothing more than a
schematic representation of a state machine. It emphasizes a flow of control from state
to state.
It is one of the five UML diagrams. It is used to model the dynamic nature of a
system. It describes various states of an entity and how it is modified by events. A
reactive structure can be illustrated as a system that represents external or internal
events. The statechart diagrams help model various reactive structures.
The state diagram depicts the flow of control from one state to the next state.
The term “state” refers to a situation in which there is an object, and it
changes when some event is triggered. The main purpose of the statechart
diagram is to design an object’s lifespan from development to termination.
Statechart diagrams are often required for forward and reverse engineering of
a system. It is used to model the reactive system.
Knowledge of these object states is essential to analyze various objects and implement
them correctly. A state chart diagram is used to illustrate the states of various objects.
Priority is placed on the changes of state in certain internal or external events as per
requirements.
To describe the states, statechart diagrams are very significant. States can be defined
as the state of objects when a specific event occurs. Before drawing a statechart
diagram, we should clarify the following points:
27
AL
L
Contents:
State diagrams usually contain basic states and composite states transition, events, and
action. State diagrams can also contain notes and constraints.
Common Uses:
The state diagram may be concerning the whole structures, subsystems, or classes. We
can also connect state diagrams to the use cases. In modeling the dynamic features of
the system, class, or use case, a state diagram usually uses a reactive or event-driven
object to model reactive objects, and the response to external events best marks its
behavior. Thus, a reactive object is typically an ideal unit because its reaction depends
on previous events when an event is received.
The most common purpose for which we will use a state diagram is to model the
behavior of the reactive objects.
Figure 4.25, shows the modeling of reactive objects; it depicts the state of forwarding
a basic context-free language to XML, such as that used in a system that streams in or
out messages. Consequently, the machine is built as a parser (stream of characters)
which matches the syntax in this case.
An idle state is the first stage of the process. With the activities such as
29
AL submitting requests, verifying the request, and dispatching instructions, we
L will be arriving at the next states. These events are responsible for modifying
the state of the command object.
An object(object order) goes through the following stages during its life cycle,
and also abnormal exits are possible. Due to some device issues, this
abnormal exit may happen. Completing the whole life cycle is known as a
complete transaction, as shown in figure 4.26. In the following diagram, the
initial and final state of an entity also has been shown.
Select
idle
Special
Dispatch
Order
Send
Transition
state
Intermediate
(Initial
)EAbnormal
of
exit
Normal order
confirmation
normal
order
order
Initialization
Exit
Final
fA
Complete
transaction
Confirm
ailure
vent
ction
thestate
state
object
orderrequest
or
The dynamical aspect of a system is modeled with state chart diagrams. However, it
has several distinctive features for dynamic nature modeling. Its purpose is to explain
the changes of state that arise as a result of events. It describes the component states,
and these changes in the state are dynamic. Events have an internal or external effect
on the mechanism.
Statechart diagrams are used to simulate the system’s states as well as the events that
occur. State map diagrams are used to clarify various states of an entity over its
lifespan, which is very useful when developing a system. When these states and
events are defined, they are used to construct a model, which is then used during the
system’s implementation.
When we look at how the statechart diagram is used in nature, we can see that it is
specifically used to examine the object states that are affected by events.
4.8 SUMMARY
Most of the events in any system happened based on events, time, and signals. The
structure and its relationship define the class model of a particular time. An event is a
model specification that takes place in a particular time and space. When objects are
attached to the system to perform various operations behave as the master of the state
machine. The state machine is used to represent in the form of graphical
representation to make a transaction from one state to another state. Active class is
used to monitor the instances of the class while threads and processes are used to
monitor the operations of the process. UML provides many other features like timing
marks, time expressions, constraints, etc. to visualize the structure of the system.
Different components of a system are described statechart diagram and describe the
properties to use the diagram.
31
AL
L In this unit, basic norms, concepts, and style guidelines for constructing behavioral or
dynamic UML models are explained. Unit explained sequence, collaboration, state
and activity diagrams, and their elements. Behavioral modeling is the modeling of a
system’s behavioral or dynamic component. Further, this unit explains the interaction
between the components that make up the system functionality, and it’s used to
identify how a system meets its requirements, parts, and relationships in a
specification model for the system, subsystem, and class specification. Also, it is
explained that the class, object, sequence, collaboration, state, activity diagrams, and
their model components make up a specification model.
H
pWashing
restore
owerOFF
Power
Spinning
RInsing cut
power
33
AL object of flow control.
L A message may be transferred from the passive object to the active
object if all the flow control is executed in the active object.
6. There are three features to handle synchronization, which are as
follows:
Sequential: Only one flow is allowed in the object at a time.
Guarded: Multiple control flows are allowed in the object using the
guarded operations.
Concurrent: Multiple flows of control are guaranteed by treating each
operation as atomic.
7. Timeline of Virus Execution
:V
Dormant
Propagation
Execution
Trigerring
Virus
0 i 06r lifeline
Execution
302 uTime
s is terminated
eocuinitial
ASLPRLogged
rovide
quest
gged node
knowledged
arch
thenticate
off
book
vendor
in statestate
Grady Booch, James Rumbaugh, and Ivar Jacobson,“ The Unified Modeling
Language User Guide”, 2nd Edition, Addison-Wesley Object Technology Series,
2005.
Grady Booch, Robert A. Maksimchuk, Michael W. Engle, Bobbi J. Young, Jim
Conallen, Kelli A. Houston, “Object-Oriented Analysis and Design with
Applications,” 3rd Edition, Addison-Wesley, 2007.
James Rumbaugh, Ivar Jacobson, and Grady Booch, “Unified Modeling Language
Reference Manual,” 2nd Edition, Addison-Wesley Professional, 2004.
John W. Satzinger, Robert B. Jackson, and Stephen D. Burd, “Object-oriented
analysis and design with the Unified Process,” 1st Edition, Cengage Learning
India, 2007.
Brett McLaughlin, Gary Pollice, and Dave West, “Head First Object-Oriented
Analysis and Design: A Brain-Friendly Guide to OOA&D,” Shroff Publisher,
First edition,2006.
35