logging in or signing up September28a Charlo Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 196 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 08, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: Marija Rakic Greg Gao Roshanak RoshandelStatecharts – brief overview: Statecharts – brief overview 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) Provide behavioral description of reactive systemsStatecharts – brief overview: Statecharts – brief overview Orthogonality Y Y is the orthogonal product of A and DSlide4: 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.Example – gas station: 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 fillingGas station: Gas station Handling the raise conditionSlide10: Cruise Control SystemCruise 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. Cruise Control (CC) Events: Engine on Engine off CC off CC on (+ cruising+ disabled) Set speed (CC is on) Accelerate Decelerate Resume CC Cruise Control (CC) Events Slide13: Top level states: Engine on and engine off Events to change states: turn on engine, turn off engine Slide14: Zoom in engine on: CC on and CC off Events to change states: push CC on, push CC off Slide15: 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;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 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 explosionWhat 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!)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 Our experienceChallenges: 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 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. You do not have the permission to view this presentation. In order to view it, please contact the author of the presentation.
September28a Charlo Download Post to : URL : Related Presentations : Share Add to Flag Embed Email Send to Blogs and Networks Add to Channel Uploaded from authorPOINTLite Insert YouTube videos in PowerPont slides with aS Desktop Copy embed code: (To copy code, click on the text box) Embed: URL: Thumbnail: WordPress Embed Customize Embed The presentation is successfully added In Your Favorites. Views: 196 Category: Entertainment License: All Rights Reserved Like it (0) Dislike it (0) Added: November 08, 2007 This Presentation is Public Favorites: 0 Presentation Description No description available. Comments Posting comment... Premium member Presentation Transcript Slide1: Marija Rakic Greg Gao Roshanak RoshandelStatecharts – brief overview: Statecharts – brief overview 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) Provide behavioral description of reactive systemsStatecharts – brief overview: Statecharts – brief overview Orthogonality Y Y is the orthogonal product of A and DSlide4: 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.Example – gas station: 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 fillingGas station: Gas station Handling the raise conditionSlide10: Cruise Control SystemCruise 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. Cruise Control (CC) Events: Engine on Engine off CC off CC on (+ cruising+ disabled) Set speed (CC is on) Accelerate Decelerate Resume CC Cruise Control (CC) Events Slide13: Top level states: Engine on and engine off Events to change states: turn on engine, turn off engine Slide14: Zoom in engine on: CC on and CC off Events to change states: push CC on, push CC off Slide15: 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;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 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 explosionWhat 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!)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 Our experienceChallenges: 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 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.