System Analysis and Design - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

System Analysis and Design

Description:

System Analysis and Design. Advanced Modeling. With notes from ... Coffee. Pot. Wake Up. Get Cups. Turn on Coffee Pot. Coffee Done. Drink Coffee. Signal ... – PowerPoint PPT presentation

Number of Views:76
Avg rating:3.0/5.0
Slides: 20
Provided by: chn93
Category:

less

Transcript and Presenter's Notes

Title: System Analysis and Design


1
System Analysis and Design
  • Advanced Modeling

With notes from Kostas Kontogiannis
2
More on state machines
3
Basic UML Statechart Diagram
top state
State
Initial pseudostate
Trigger
Healthy
Guard
Transition
t 39/print(sick)
coughing
Sick
Final state
Action
4
Execution semantic of a state machine
5
Processes and Threads
  • Active object
  • Owns a process/thread.
  • Can initiate control activity.
  • Process
  • Independent address space.
  • Execute concurrently with other processes.
  • Threads
  • Hidden inside a process.
  • Not independently scheduled by OS.

6
Object and Threads
  • Passive objects depend on external power (thread
    of execution)
  • Active objects self-powered (own thread of
    execution)

7
The Run-to-Completion Model
  • A high priority event for (another) active object
    will preempt an active object that is handling a
    low-priority event

8
Passive Objects Dynamic Semantics
  • Encapsulation does not protect the object from
    concurrency conflicts!
  • Explicit synchronization is still required

9
Synchronization
  • Active gt passive object communication lead to
    multiple flows of control in one object at the
    same time.
  • State corruption may occur ? need for mutual
    exclusion.
  • Treat an object as a critical region.
  • Use synchronization to implement critical regions

10
More on Activities
11
Object Flow
Class State
  • A special sort of step that represents the
    availability of a particular kind of object,
    perhaps in a particular state.
  • No action or activity is invoked and control
    passes immediately to the next step.
  • Places constraints on input and output parameters
    of steps before and after it.

12
Object Flow
  • Take Order must have an output parameter giving
    an order, or one of its subtypes.
  • Fill Order must have an input parameter taking an
    order, or one of its supertypes.
  • Dashed lines used with object flow have the same
    semantics as control flow

13
Coordinating Steps
  • Decision point and merge ( )
  • Decision chooses between different flows
  • Merge waits for one flow to arrive

14
Convenience Features
  • Forks and joins implies parallelism and
    synchronization
  • Joins waits for all flows to arrive (sync)

15
Convenience Features
  • Fork transitions can have guards.
  • Instead of doing this

16
Convenience Features
  • Partitions are a grouping mechanism.
  • Swimlanes are the notation for partitions
  • They may represent an object or set of object
    performing the contained actions.
  • They do not provide domain-specific semantics.
  • Tools can generate swimlane view from
    domain-specific information without partitions.

17
Convenience Features
Signal
  • Signal send icon
  • translates to a transition with a send action.
  • Signal receipt icon
  • translates to a wait state (a state with no
    action and a signal trigger event).

18
When to Use Activity Diagrams
  • Use activity diagrams when the behavior you are
    modeling ...
  • does not depend much on external events.
  • mostly has steps that run to completion, rather
    than being interrupted by events.
  • requires object/data flow between steps.
  • is being constructed at a stage when you are more
    concerned with which activities happen, rather
    than which objects are responsible for them
    (except partitions possibly).

19
More on UML..
  • http//www.uml.org/
Write a Comment
User Comments (0)
About PowerShow.com