statechart+diagrams

The statechart diagrams are useful for showing the different states of a class and the events that cause state transitions. The diagrams are used for showing the lifecycle of the class. As compared to the sequence and collaborative diagrams the state chart diagram is much more focused on the use of classes to define system functionality whereas the others focus more on cases. The satechart are class centric rather than case centric. A state diagram defines: ·  The events ·  The states ·  The transition Transitions can be more than one. A transition can only lead to an event when the event condition is true. ·  The event message A statechart diagram shows the sequence of states or behavior of an objects and classes in response to external stimuli. This diagram models the sequence of states an object goes through over its life. **Basic Statechart Diagram Symbols and Notations: **    States are used to represent a certyain situation during the life of an object. A state symbol, as shown above [Where???] is a rectangle with round corners.     A Transition represents the path between different states of an object. It is required to label the transition with the event that triggered it and the resultant action.   <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> The objects initial state is represented by a filled circle followed by an arrow pointing the other way, as shown above. <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Final state of the object is represented by an arrow pointing a filled circle nested in another circle. <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Synchronization of control is represented by two transitions entering a short heavy bar. <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Similarly, Splitting of control is represented by two transition coming out of a short heavy bar. The activities and actions are used to define the object of an event. An activity can be further decomposed to give a more detailed definition of itself through graphical decomposition. Every activity has three events, the starting, intermediate, and ending event. An activity that is continous will continue untill an event ends it leading to a tranisition from the state. Activities that are sequential end after a given interval of time. The decomposition diagrams are used to define activities well and and each stage in the diagram shows a step of the activity. It is a one shot diagram with both input and output transitions. A super state allows to to access a part of the diagram from outside as a single state by generalizing the diagram parts. Any states or transitions inside the diaghram are connected to the outside through the super state only. By creating autonomous parts of the diagram into super states you can make the diagram easier to read and use fewer transitions. <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%; font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> To model software applications <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%; font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> To show relationships, actions and connections of software applications <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%; font-family: Symbol;">·<span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> To show high-level software structures. <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> ** 1) Complex transitions: **   • <span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">   Split and join   ** 2) Composite states ** – //Concurrent sub-states - using -and- relationship// • Each sub-state separated from others by dotted line – //Disjoint sub-states - using -or- relationship// • <span style="font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;">  transitions between sub-states When we say that a nested state is entered, we mean that the state is initialized and when we say that nested state is completed, we mean that state is terminated. <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> References: http://www.edrawsoft.com/uml-statechart.php <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> http://www.smartdraw.com/tutorials/software/uml/tutorial_10.htm <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> http://www.cragsystems.co.uk/ITMUML/the03/03the03.htm http://www.ifi.uio.no/in219/verktoy/doc/html/doc/user/mg/dgmsuml7.html http://www.ask.com/bar?q=statechart+diagram&page=1&qsrc=0&zoom=UML+%3CKW%3EStatechart+Diagram%3C%2FKW%3E%7C&ab=4&u=http%3A%2F%2Fwww.ifi.uio.no%2Fin219%2Fverktoy%2Fdoc%2Fhtml%2Fdoc%2Fsdl%2FOutput_uml%2Fuml2sdl-map4.html <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> [|http://72.14.235.132/search?q=cache:DHGS2u7NeoIJ:www.ece.rutgers.edu/~parashar/Classes/00-01/ece452/slides/2-StatechartDiagrams.pdf+types+of+statechart+diagrams&hl=en&ct=clnk&cd=6&gl=pk] Nazia Hassan Rana Kashan Safdar Jang
 * Statechart Diagram **
 * Purpose: **
 * Content: **
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 125%;"> Statechart Diagram: **<span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 125%;">
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> States: **<span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;">
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Transition: **<span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;">
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Initial State: **<span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;">
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Final State: **<span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;">
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> Synchronization and Splitting of Control: **<span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;">
 * Activities and Actions: **
 * ** Operation  ** || **  Associated With  ** || **  Purpose  ** || **  timing  ** ||
 * Activity ||   State  ||   Relevant for control purposes  ||   Sequential or continuous; takes time to =omplete  ||
 * Action ||   Event  ||   Not relevant for control purposes  ||   Instantaneous  ||
 * Decomposition of activities: **
 * Super state: **
 * Some examples of activities are: **
 * ** Syntax  ** || **  Examples  ** || **  explanation  ** ||
 * event/activity ||   entry/entry-activity coins in(amount)/add to balance  exit/exit-activity =/TD>  ||   Entering the state. Activity that takes place inside the state.  Exiting =he state.  ||
 * do/activity ||   do/play dial tone  ||   Represents the invocation of a nested =tate machine.  ||
 * activity(parameter-list) ||   XtRemoveGrab asked to remove a widget not =n the list (widget)  ||   An activity that may arise during the =xistence of the state.  The optional parameter list must =e enclosed in parentheses; separate parameters with commas.  ||
 * <span style="font-size: 12pt; color: rgb(66, 69, 66); line-height: 115%;"> When To Use State Chart Diagrams? **
 * STATECHART ISSUES: **
 * 3) Nested states **
 * 4) Messages between states **
 * 5) Internal transitions **
 * Submitted By: **