marija rakic greg gao roshanak roshandel l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Marija Rakic Greg Gao Roshanak Roshandel PowerPoint Presentation
Download Presentation
Marija Rakic Greg Gao Roshanak Roshandel

Loading in 2 Seconds...

play fullscreen
1 / 22

Marija Rakic Greg Gao Roshanak Roshandel - PowerPoint PPT Presentation


  • 105 Views
  • Uploaded on

Statecharts example. Marija Rakic Greg Gao Roshanak Roshandel. 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Marija Rakic Greg Gao Roshanak Roshandel' - jeslyn


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
marija rakic greg gao roshanak roshandel

Statecharts example

Marija Rakic

Greg Gao

Roshanak Roshandel

CS599- Formal Methods in SW Architectures

statecharts brief overview
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)

CS599- Formal Methods in SW Architectures

statecharts brief overview3

A

D

B

G

m

b

in (G)

F

a

g

d

a

C

E

Statecharts – brief overview
  • Orthogonality

Y

  • Y is the orthogonal product of A and D

CS599- Formal Methods in SW Architectures

slide4

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 gas—regular, plus, and premium—denoting 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.

CS599- Formal Methods in SW Architectures

example gas station
Example – gas station
  • Assumptions
  • The threshold is set in such a way that there is enough gas for the current vehicles on all pumps to finish filling

Events

  • “regular”, “premium” or “plus” selected
  • Level of gas reached threshold
  • Pump gas
  • Tank full
  • Pay
  • Change picked up

CS599- Formal Methods in SW Architectures

slide6

Refinement

Clustering

CS599- Formal Methods in SW Architectures

gas station
Gas station

Handling the raise condition

CS599- Formal Methods in SW Architectures

slide10

Cruise Control System

CS599- Formal Methods in SW Architectures

cruise control system specifications
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.

CS599- Formal Methods in SW Architectures

cruise control cc events
Cruise Control (CC) Events
  • Engine on
  • Engine off
  • CC off
  • CC on (+ cruising+ disabled)
  • Set speed (CC is on)
  • Accelerate
  • Decelerate
  • Resume CC

CS599- Formal Methods in SW Architectures

slide13

Refinement

Clustering

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

CS599- Formal Methods in SW Architectures

slide14

Refinement

Clustering

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

CS599- Formal Methods in SW Architectures

slide15

Refinement

Clustering

  • Zoom in CC on: CC enabled and CC disabled
  • Disable to enable: push resume (speed set);

push set (30<speed<90);

accelerator released;

  • Enable to Disable: gas or brake pressed;

CS599- Formal Methods in SW Architectures

what statecharts are good for
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

CS599- Formal Methods in SW Architectures

what are the problems
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

CS599- Formal Methods in SW Architectures

what happened in our systems
What happened in our systems?

We used:

  • Clustering/Refinement
  • Orthogonality (i.e. Concurrency)
  • Action/Activities

We did not use:

  • History (we tried!)

CS599- Formal Methods in SW Architectures

our experience
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

CS599- Formal Methods in SW Architectures

challenges
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

CS599- Formal Methods in SW Architectures

discussion
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.

CS599- Formal Methods in SW Architectures