Using State Charts in Business and Software Systems Modelling
The Oral-B Braun 5000 series electric toothbrush has been rated as one of the best toothbrushes by New York reviewers. One of the key factors a user looks into while choosing an electric toothbrush is the 3D cleaning action. The electric toothbrushes clean the teeth better than the manual toothbrushes. Statistically, the Oral-B Braun 5000 Electric toothbrush removes about 33 percent of the tooth plaque which is usually difficult to access using the manual brushes. The toothbrush has flossing capabilities alongside the brushing mode. The toothbrush improves the gum health to about 32 percent as compared to its counterpart Sonicare Diamond Clean. These brushes have a unique 3D cleaning action technology which enables the breakage of the tooth plaque, rotates and sweeps it off the tooth. The toothbrush is known to reduce cases of gingivitis and enabling better oral health results. The Oral-B Braun collection has a variant that accommodates young ones as well as the adults (Oral-B, 2017).
Business systems as well as software systems require modelling to ensure that the processes are performed accurately. State charts can be used to demonstrate the status condition for an object rather than its state. The state chart provides different components to ensure that the designer captures the business, system or product rules that apply or affect the object. In many cases the state charts play a crucial role in comprehending the relationship between two events and the states that they are involved in. The state chart can be said to be the most efficient tool used in system behaviour design. The state transition diagram, tests, and the state transition matrix demonstrate these activities clearly. In some instances, the state charts are very complex as there are nested states within the actual state as well as multiple parallel concurrent states (Satzinger, akson, & Burd, 2004). The case study here is the Oral-B Braun 5000 electric toothbrush which operates to enable brushing and flossing. It has a power component and connects to a Smartphone application when powered on. The state transition diagram draws information from the smart guide provided by the Oral-B Braun manual. The processes surrounding the connection to the Android based or iOS app on the smartphone.
The state machine successfully demonstrates the item’s method and logic. Another designer ought to comprehend the design which describes the internal activity or logic of the system object. The logic used in the design is usually documented for future modification and analysis especially when a new designer needs to use the system (Satzinger, akson, & Burd, 2004). The logic provides additional documentation to help the programmer to write code later. The product under design is the Oral-B Braun electric toothbrush 5000 series. It is also used to reference the activity diagram which shows the interaction and responses from entity to entity as well as the activities involved in the system design. The steps of this type of modelling is based on the domain analysis, the product definition and the requirement analysis. When the design is ready, the product can be integrated, validated, maintained and effectively managed. The state machine is a UML construct that allows for visualization, specification, construction and documentation of the artefacts of the software based system. The state charts are widely incorporated in many software designs especially where the system is analysed as a modular design. The challenge is to extend our State Machine based techniques to class testing. The designs seek to compile the empirical evidence about their effectiveness and more so help in the class testing of system based on the requirements design or documentation (Satzinger, akson, & Burd, 2004).
Oral-B Braun 5000 Electric Toothbrush Overview
- It enables the physically able and disabled to brush and floss their teeth with ease.
- The toothbrush has a power component that enables the brush bristles to perform the brushing and flossing without the user’s effort. It is estimated that each quadrant of the dental formula is cleaned within a period of 30 seconds(Oral-B, 2017).
- Unique dentist-inspired round brush head
- 3D Cleaning Action breaks up plaque, rotates, and sweeps it away.
- Up to 48,800 brush movements/second vs 600 with a manual brush.
- In an independent historical review, Oral-B was shown to be more effective than a manual brush, removing 100 percent more plaque.
- Oral-B improves your brushing behaviour over time with customizable settings.
- A travel case, giving you the opportunity to always have a superior clean with you.
The toothbrush has a battery unit or charging unit which stores the power for use. It has a SmartScreen which allows the toothbrush to connect to the phone App. The smartphone App can run on iOS or Android Operating Systems. The App guides one through the entire Bluetooth pairing procedure. The radio connectivity is limited to Bluetooth wireless technology. The toothbrush is operated by turning it ON at the power mode selection point. The moment the toothbrush is turned ON it connects to the application on the Smartphone and starts sharing information (Oral-B, 2017).
- The user guide is keen to mention all the hazards involved to ensure maximum safety of the users.
- It is recommended that the user deactivates the radio transmission after turning off the toothbrush. Turning off the Toothbrush is done by pressing the on/off button for a period of 3 seconds. A user guide on the operation of the toothbrush is available on the smartphone app available from either on Android or iOS play store.
- After brushing, it is recommended that the user brushes the head under running water with the handle switched on. The device is switched off and the brush head is removed. The handle and the brush head are cleaned separately.
The unified modelling language is used in software modelling (Bass, Clements, & Kazman, 2008, p. 16). There are several variants of the system modelling under UML such as class diagrams, state charts or state machine, and the use case technique. The use case diagrams and interaction diagrams describe the basic business and system processes (Bertolino, Fantechi, Gnesi, Lami, & Maccari, 2002, p. 15). In this case study, the state charts are used to comprehend and describe with finely the system or item behaviour. The diagrams are used for analysis and design. They describe the attributes and behaviour of the application objects. For this case study, the states are the two objects namely the toothbrush and the Smart phone app known as the SmartScreen. The state charts are used in modelling, a common practice in engineering designs. The use of state transition diagram is to enable the visualization of the operation of the real-life system, it specifies the structure and the behaviour as well as providing a template to enable one to understand and implement the system.
The state chart diagram uses the following states in the implementation,
Parameter |
Description |
1. Transition |
The movement of an object from one state to another state. |
2. Destination State |
The state to which an object from which a transition occurs. |
3. Origin State |
The original state of an object from which a transition occurs. |
4. Message Event |
The trigger for a transition, which causes an object to leave its original state. |
5. Guard-Condition |
A true/false test to see whether a transition can fire |
6. Action-expression |
A Description of the activities that require to be performed during the transition |
7. Concurrency or concurrent state |
The condition of being in more than one state at a time |
8. Path |
A sequential set of connected states and transitions |
9. Composite state |
A state containing multiple levels and transitions |
The underlying model for the system design is the state transition diagram or the table. The diagram or table connects the beginning states, events, and conditions with resulting states and actions. The state persists until something external happens usually triggering a transition. A state can persist for an indefinite period. On the other hand, an event occurs, either instantly or in a limited, finite period. It is the occurring activity. It is the external occurrence that triggers the transition. An action is the response of the system during the transition. It is either instantaneous or it requires a limited, finite period. The state transition diagrams can be represented in different manner based on the customer’s perception and the system’s perception. When making the design it is important to maintain a consistent point of view.
Software Development Methodologies
The pseudo state, on the far right, shows the beginning of the procedure and is the starting point of the state chart. The state is represented in the green symbols and the sub states are represented in blue symbols. The pseudo state denotes the start of the state chart flow while the transition, denoted using arrows, moves the object from the start to the final or destination state. The transition can contain a number of components depending on the expected action. For instance,
In this case on of the most pronounced transition is the pressure activity and the brush mode activity. It is expected that the toothbrush monitors the time taken to brush one of the dental quadrants. The set time as designed by Oral-B is 30 seconds per quadrant. The transition also checks on the pressure.
The transition can be summarised as,
The software used in this state modelling exercise is Microsoft Visio 2013. It provides very robust features that can perform software and product modelling using the Unified modelling language.
Visio can help you visualize data, not only for manufacturing systems or business workflows, but for individuals, too. In this webinar, we show you an example of data integrated into Visio, by using Excel data to turn an organization chart into a performance dashboard. This is a hands-on tool that enables the software engineers and designers to come up with different designs using the functions and features presented by the Microsoft Visio 2013 to create, edit and save the Visio diagrams for state machine diagrams, flowcharts, organizational charts, and non-process diagrams.
There are two sets of tests namely logical tests and the concrete tests. The concrete test cases need to be created, actual input values and the actual output values have to be generated. A test procedure or test step is started and requires an end. The tests are begun at the initial state and completed at the final state. The sequences of states and transitions that pass through the initial state more than once can be allowed. A formal procedure is followed to perform the tests:
- A sequence of event or conditions combinations are defined to lead to an allowed test ending state.
- Performed from an allowed test starting state. For each transition that will occur, the expected action that the system should take is captured. It is represented by displaying the expected results.
- The state based testing provides a formal procedure for deriving tests. Each visited state and traversed transition should be marked as covered. The easiest way to do this is by printing the state transition diagram and each node is highlighted.
A single sate can be unfolded into a super state consisting two or more sub states. The super state coverage rule states that all transitions are sent to the super state. All transitions are sent out of the super state as well as the sub states. All the transitions within the super state are processed.
State Transition Diagram for the Oral-B Braun 5000 Toothbrush
When the user applies too much pressure, the brush needs to pause the brushing process, sends out an indication on the indicator lights (red light), until the pressure reduces and the brushing proceeds. The action is performed while traversing the transition. The action gives the signals that are sent to other objects while traversing the transition. The modest fault detection of the state-based class testing is the best approach in determining the best model of the system. The functional testing, on the other hand, can be reduced to the state based testing to ensure that the right state model is developed (Bosch, G., D., Obbink, & Pohl, 2001, p. 18).
Tests are based around the conditions that could cause the user to err.
- Applying pressure while brushing – indicator turns RED.
- Power is less – indicator turns RED.
- Power is enough – indicator turns GREEN.
- Brushing mode – All the quadrants are covered after 30 seconds of brushing each.
Environmental considerations
In regards to the disposal of electronic waste, one needs to dispose of the unusable batteries in a dumpsite meant for electrical components only.
The radio transmission is deactivated to avoid occurrence of electromagnetic interference and compatibility conflicts. This is important especially when the user is on a plane or in restricted & marked areas of a hospital. After brushing, it is recommended that the user brushes the head under running water with the handle switched on (Jézéquel & Ziadi, 2015, p. 558). The device is switched off and the brush head is removed. The handle and the brush head are cleaned separately. When the proper handling of a particular event/condition situation depends on the events and conditions that have occurred previously in the set conditions or in the past tests.
Conclusion
The Oral-B Braun 5000 Electric Toothbrush is one of the best electric toothbrushes under the quality ratings done by the consumer federation. The smart App records all the data on every time one brushes their teeth using the Oral-B Braun 5000 toothbrush for future analysis and trends. The information can be used by Dentists or any other medical personnel to track dental health (Biermann & Krishnaswamy, 2006, p. 148).
References
Wasserman, Extending state transition diagrams for the specification of human-computer interaction, IEEE Trans. Software Engrg. 11 (2005) 699-713
Bass, L., Clements, P., & Kazman, R. (2008). Software Architecture in Practices. New York: Addison-Wesley.
Bertolino, A., Fantechi, A., Gnesi, S., Lami, G., & Maccari, A. (2002). Use Case description of requirements for product lines. International Workshop on Requirement Engineering for Product Line (REPL02), 12-18.
Biermann, A.-W., & Krishnaswamy, R. (2006). Constructing programs from example computations. IEEE Trans. software Engineering, 141-153.
Bosch, J. F., G., G., D., K. J., Obbink, H., & Pohl, K. (2001). Variability issues in software product lines. 4th Workshop product family engineering (PFE4), 11-19.
- Ross, Structured analysis (SA): A language for communicating ideas, IEEE Trans. Software Engineering. 3 (2007) 16-34.
Khriss, I., Elkoutbi, M., Keller, R.: Automating the synthesis of UML statechart diagrams from multiple collaboration diagrams. In: Proceedings of UML’98: Beyond the Notation, 1998, pp 115–126.
Jézéquel, M., & Ziadi, T. (2015). Software Product line engineering with the UML deriving products.
Jézéquel, J.-M.: Reifying configuration management for object-oriented software. In: Proceedings of the 20th International Conference on Software Engineering (IEEE Computer Society, Silver Spring, MD 1998) pp 240–249.
John, I., Muthig, D.: Tailoring use cases for product line modeling. In: International Workshop on Requirement Engineering for Product Line (REPL02), September 2002, pp 26–32.
Mäkinen, E., Systä, T.: MAS – an interactive synthesizer to support behavioural modeling. In: Proceeding of International Conference on Software Engineering (ICSE 2001) (2001).
Oral-B. (2017). Oral-B Braun 4000-5000 series Electric Toothbrush. Retrieved April 24, 2018, from https://www.oral-B.com
P.T. Ward., The transformation schema: An extension of the data flow diagram to represent control and timing, IEEE Trans. Software Engrg. 12 (1986) 198-210.
Satzinger, J. W., akson, R. B., & Burd, S. D. (2004). System Analysis and Design in a Changing World (3rd ed.). Boston, USA: Thomas Learning.
Ziadi, T., Hélouët, L., Jézéquel, J.M.: Modeling behaviors in product lines. In: Proceedings of REPL’02, Workshop on Requirements Engineering for Product Lines, Essen, Germany, September 2002.
Ziadi, T., Jézéquel, J.M., Fondement, F.: Product line derivation with UML. In: Proceedings of Software Variability Management Workshop (University of Groningen, Department of Mathematics and Computing Science February 2003).
Ziadi, T., Hélouët, L., Jézéquel, J.M.: Towards a UML profile for software product lines. In: Proceedings of the 5th International Workshop on Product Family Engineering (PFE-5). Lecture Notes in Computer Science, vol 3014 (Springer, Berlin Heidelberg New York 2003) pp 129–139.
Uchitel, S., Kramer, J.: A workbench for synthesising behaviour models from scenarios. In: Proceedings of International Conference on Software Engineering (ICSE 2001) (2001)
Whittle, J., Schumann, J.: Generating statechart designs from scenarios. In: Proceeding of International Conference on Software Engineering (ICSE 2000) (2000)
Robak, S. et al: Extending the UML for modeling variability for system families. Int. J. Appl. Math. Comput. Sci. 12(2), 285–298 (2002).