Marija Rakic - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Marija Rakic

Description:

When the accelerator is released, the CC resumes at its last set CC speed. ... automatically apply the accelerator or brake to maintain the set speed. 9/1/09 ... – PowerPoint PPT presentation

Number of Views:67
Avg rating:3.0/5.0
Slides: 23
Provided by: marija2
Category:
Tags: marija | rakic

less

Transcript and Presenter's Notes

Title: Marija Rakic


1
Statecharts example
  • Marija Rakic
  • Greg Gao
  • Roshanak Roshandel

2
Statecharts brief overview
Provide behavioral description of reactive systems
  • Clustering and refinement
  • States and transitions
  • Arrow- labeled event and optionally a
    parenthesized condition
  • Clustered two events to one
  • D is an abstraction of A and C
  • D can be refined to consist of A and C
  • Zooming in and out of D (in latter A and C are
    not shown)

3
Statecharts brief overview
  • Orthogonality

Y
  • Y is the orthogonal product of A and D

4
Gas Station Specifications 1. There will be four
pumps at the gas station, and a unique number
will identify each pump. 2. All pumps are self
serve. 3. Each pump has three nozzles for
different type of gasregular, plus, and
premiumdenoting different octane content in the
gasoline. The prices for the three types of gas
vary. 4. Each pump has one meter. At any one
time, only one person can use one pump. 5. All
pumps are connected to common storage tanks, one
for each of the three types of gas. When the
level of gas in a storage tank gets below a set
threshold, a request for a refill is issued to an
external system. 6. It is possible for a customer
to pump gas during storage tank refill. 7. A
customer must pay first. The single gas station
attendant accepts cash only. 8. Upon payment, the
attendant enables a given pump to dispense the
paid-for amount of gas. 9. The customer can
change the decision on the type of gas (s)he
wants to fill before starting to fill. Once the
customer has started to fill, then the decision
cannot be changed. 10. Should the customer
pre-pay more than (s)he spent to fill the car
tank, the gas station attendant will return to
the customer his/her change. 11. The pump nozzle
has a sensor that stops the gas flow once the
tank is full. 12. The system should handle race
conditions, such as a. one customer paying
while, in the meantime, another beginning to pump
gas at the paid-for pump, and b. one customer
beginning to pump at a pump without paying,
before another is able to retrieve his/her change.
5
Example gas station
  • Events
  • regular, premium or plus selected
  • Level of gas reached threshold
  • Pump gas
  • Tank full
  • Pay
  • Change picked up
  • Assumptions
  • The threshold is set in such a way that there is
    enough gas for the current vehicles on all pumps
    to finish filling

6
(No Transcript)
7
Gas station
Handling the raise condition
8
(No Transcript)
9
(No Transcript)
10
Cruise Control System
11
Cruise Control System Specifications
1. You can assume an automatic transmission
vehicle. 2. For any of the cruise control (CC)
functions to take effect, CC must be turned on
first. 3. CC can be in the following states off,
enabled (i.e., on and cruising), and disabled
(on, but not cruising). 4. The CC system should
be automatically disabled below 30mph and above
90mph. 5. Four actions are permitted during CC
set speed, accelerate, decelerate, and resume
speed. 6. When the system is under CC and the
brake is pressed, CC is disabled. When the resume
button is pressed, the system resumes at the last
set CC speed. 7. When the system is under CC and
the accelerator pedal is pressed, CC is disabled
and the speed increases correspondingly. When the
accelerator is released, the CC resumes at its
last set CC speed. If at any point of time during
acceleration the CC speed is set, CC replaces the
old set speed with the new speed. 8. If CC is
enabled and the vehicle starts going uphill or
downhill, CC should automatically apply the
accelerator or brake to maintain the set speed.
12
Cruise Control (CC) Events
  • Engine on
  • Engine off
  • CC off
  • CC on ( cruising disabled)
  • Set speed (CC is on)
  • Accelerate
  • Decelerate
  • Resume CC

13
  • Top level states Engine on and engine off
  • Events to change states turn on engine, turn off
    engine

14
  • Zoom in engine on CC on and CC off
  • Events to change states push CC on, push CC off

15
  • Zoom in CC on CC enabled and CC disabled
  • Disable to enable push resume (speed set)
  • push set (30ltspeedlt90)
  • accelerator released
  • Enable to Disable gas or brake pressed

16
(No Transcript)
17
What Statecharts are good for?
  • Reactive Systems (event driven)
  • Showing concurrency and its restrictions
  • Showing state changes
  • Certain timing constraints
  • Hierarchical systems
  • Easy to understand and communicate

18
What are the problems?
  • Statemate formulas require more notation than
    others for the same level of details
  • Large (or variable) number of similar activities
    are hard to present
  • Various designers could come up with different
    designs
  • State explosion

19
What happened in our systems?
  • We used
  • Clustering/Refinement
  • Orthogonality (i.e. Concurrency)
  • Action/Activities
  • We did not use
  • History (we tried!)

20
Our experience
  • Timing and Concurrency issue was not critical in
    our systems
  • Orthogonality could not be used except for the
    the gas station example when the station runs out
    of gas
  • History was not used since the system did not
    need to remember the previous state in any of the
    examples

21
Challenges
  • Transition on the same state
  • Problems in the system for differentiating states
    from conditions and events.
  • Is grade selected an state or event?
  • Is current speed cruise speed an event or
    state or condition?
  • Concurrency issue in the gas station example

22
Discussion
  • Is Statechart notation appropriate for modeling
    these systems?
  • Pre/post conditions ? conditions/activities
  • Problem with specifying values in the statecharts
    (unlike C2SADEL)
  • Difficult to model statical aspects. Variables
    inside the state (current speed)
  • Specifying invariants, state variable.
Write a Comment
User Comments (0)
About PowerShow.com