During the second week (week 4) and the second workshop, we had spent about 10 hours working on this model. Although our work was not quite good, state modelling still had left great impression on me. In this essay, I am going to talk about what I had learnt and my understanding from state modelling, also, some applications which are relevant to the reality will be covered as well.
Basically, state model is used to model the common behaviour of an object which has different states. From the state model, we can find out states, events, actions and transitions, which are the major components of state model diagram.
The diagram above is the state model of an alarm clock. According to the diagram, it has five states, which are described in rectangles, and the initial states is WaitingForSet state. For each state, there might be some contents inside the rectangle, and this is event. For example, in the state SettingAlarm, we have the event “generate triggerAlarm to self at alarm Time”, “turn alarm LED on” and “generate waitForAlarm to self”. Between two different states, there are an arrow and the name, which is transition and action respectively.
Suppose that the system is at one specific state, then it is clear to find out that which event the system could generate and which state the system can go to by which transitions, as long as there is a path to the other state.
Personally, there are two main advantages of using state modelling.
The first advantage is that it is clearly, easy to understand. There are only several components n the state model diagram, and as long as people have some knowledge, then they can able to identify everything from the chart.
The second one is that state modelling makes system modify and update more effective. In the past, when the original system cannot meet the new requirements, then it is likely for the designer to design a new system, which may need to spend much time and money. However, if the system is modelled by state modelling, then it may become simple for them, because what they should do is to only change some transitions or add or delete some states, events. Therefore, the scale of the project becomes much smaller than before.
Although state modelling indeed has some drawbacks, however, the advantages still outweigh the disadvantages. And there are much applications of state modelling in terms of these good issues.
One of the most famous applications which is being used across the world is simulation, this activity has been using state modelling since the advent of this method. Basically, there are two kinds of simulation, static and dynamic, but whatever kinds of simulation, state model is required. During our workshop, we simulated the pedestrian crossing traffic system, by identifying state model for each domain, such as traffic light and pedestrian light. We found that for each domain, they are in one specific state every time, however, when we view the whole system, it is clear to see that the system is in a dynamic balance state, because each domain has an impact on the others, but the whole system should remain stable.
Also, another good usage of state modelling is system problem diagnose. System drawbacks, such as deadlock, wrong transitions could be found by by diagnosis.
Indeed, state modelling has the above advantages. However, how to deal with unexpected situation is still a question for state modelling method, which needs to be solved in future.