Modelling Control Process and Control Mode with Synchronising Orthogonal State Machines
Modelling Control Process and Control Mode with Synchronising Orthogonal State Machines
In this short paper we describe early work on a case study concerning a power window control unit. We use UML-B state machines to simultaneously model both the cyclic processing schedule and the mode of control behaviour. We find this a useful way to visualise the model, particularly when the state machines are animated via the Pro-B animator. We verify the state machines using the Event-B proof tools. We envisage new developments to the UML-B tool set to improve support for this modelling technique. The motivation for this simple but powerful form of modelling is the immediate benefit and low cost of entry making industrial adoption of formal models more attractive to industry.
Snook, Colin
b2055316-9f7a-4b31-8aa1-be0710046af2
21 June 2011
Snook, Colin
b2055316-9f7a-4b31-8aa1-be0710046af2
Snook, Colin
(2011)
Modelling Control Process and Control Mode with Synchronising Orthogonal State Machines.
B2011, Limerick.
Record type:
Conference or Workshop Item
(Paper)
Abstract
In this short paper we describe early work on a case study concerning a power window control unit. We use UML-B state machines to simultaneously model both the cyclic processing schedule and the mode of control behaviour. We find this a useful way to visualise the model, particularly when the state machines are animated via the Pro-B animator. We verify the state machines using the Event-B proof tools. We envisage new developments to the UML-B tool set to improve support for this modelling technique. The motivation for this simple but powerful form of modelling is the immediate benefit and low cost of entry making industrial adoption of formal models more attractive to industry.
Other
pw1/pw4.ex_mode.normal_mode.state.stateDiag
- Other
Other
pw1/pw0.classDiag
- Other
Other
pw1/pw5.pw0_sm.executed.inputStage.stateDiag
- Other
Other
pw1/pw7.pw0_sm.stateDiag
- Other
Other
pw1/pw1.classDiag
- Other
Other
pw1/pw7.pw0_sm.executed.inputStage.stateDiag
- Other
Other
pw1/pw6.ex_mode.stateDiag
- Other
Other
pw1/pw4.ex_mode.stateDiag
- Other
Other
pw1/cx4.contextDiag
- Other
Other
pw1/pw6.classDiag
- Other
Other
pw1/cx2.contextDiag
- Other
Other
pw1/pw2.pw0_sm.stateDiag
- Other
Other
pw1/pw4.ex_mode.normal_mode.state.Going_up.Going_up_Substate.stateDiag
- Other
Other
pw1/pw2.ex_mode.stateDiag
- Other
Other
pw1/pw1.umlb
- Other
Other
pw1/pw7.classDiag
- Other
Other
pw1/pw4.classDiag
- Other
Other
pw1/pw3.pw0_sm.stateDiag
- Other
Other
pw1/pw1.umlb (original)
- Other
Other
pw1/pw3.ex_mode.stateDiag
- Other
Other
pw1/pw0.pw0_sm.stateDiag
- Other
Other
pw1/pw1.packageDiag
- Other
Other
pw1/pw3.classDiag
- Other
Other
pw1/pw6.pw0_sm.executed.inputStage.stateDiag
- Other
Other
pw1/pw4.pw0_sm.stateDiag
- Other
Other
pw1/pw5.classDiag
- Other
Other
pw1/pw3.ex_mode.normal_mode.state.stateDiag
- Other
Other
pw1/pw6.ex_mode.normal_mode.state.Going_dn.Going_dn_Substate.stateDiag
- Other
Other
pw1/pw4.ex_mode.normal_mode.state.Going_dn.Going_dn_Substate.stateDiag
- Other
Other
pw1/pw5.pw0_sm.stateDiag
- Other
Other
pw1/pw2.classDiag
- Other
Other
pw1/cx7.contextDiag
- Other
Other
pw1/pw1.pw0_sm.stateDiag
- Other
Other
pw1/pw6.pw0_sm.stateDiag
- Other
Other
pw1/pw6.ex_mode.normal_mode.state.stateDiag
- Other
Other
pw1/cx6.contextDiag
- Other
Other
pw1/animation/pw6.ex_mode.normal_mode.state.stateDiag.anim_diag
- Other
Other
pw1/animation/pw2.pw0_sm.stateDiag.anim_diag
- Other
Other
pw1/animation/pw0.pw0_sm.stateDiag.anim_diag
- Other
Other
pw1/animation/pw3.ex_mode.normal_mode.state.stateDiag.anim
- Other
Other
pw1/animation/pw3.ex_mode.stateDiag.anim_diag
- Other
Other
pw1/animation/pw2.ex_mode.stateDiag.anim
- Other
Other
pw1/animation/pw3.ex_mode.normal_mode.state.stateDiag.anim_diag
- Other
Other
pw1/animation/pw4.ex_mode.stateDiag.anim_diag
- Other
Other
pw1/animation/pw2.ex_mode.stateDiag.anim_diag
- Other
Other
pw1/animation/pw1.anim
- Other
Other
pw1/animation/pw6.pw0_sm.stateDiag.anim_diag
- Other
Other
pw1/animation/pw6.pw0_sm.executed.inputStage.stateDiag.anim_diag
- Other
Other
pw1/animation/pw3.pw0_sm.stateDiag.anim_diag
- Other
Other
pw1/animation/pw4.pw0_sm.stateDiag.anim_diag
- Other
Other
pw1/animation/pw1.pw0_sm.stateDiag.anim_diag
- Other
Other
pw1/animation/pw6.ex_mode.stateDiag.anim_diag
- Other
Other
pw1/animation/pw4.ex_mode.normal_mode.state.stateDiag.anim_diag
- Other
Other
pw1/animation/pw4.ex_mode.normal_mode.state.Going_dn.Going_dn_Substate.stateDiag.anim_diag
- Other
Other
pw1/animation/pw4.ex_mode.normal_mode.state.Going_up.Going_up_Substate.stateDiag.anim_diag
- Other
Other
pw1.eventB/pw3.bps
- Other
Other
pw1.eventB/pw2_implicitContext.bcc
- Other
Other
pw1.eventB/pw7.bpr
- Other
Other
pw1.eventB/pw5.bcm
- Other
Other
pw1.eventB/pw0.bpo
- Other
Other
pw1.eventB/pw1_implicitContext.buc
- Other
Other
pw1.eventB/pw1_implicitContext.bpo
- Other
Other
pw1.eventB/pw5_implicitContext.buc
- Other
Other
pw1.eventB/pw7.bps
- Other
Other
pw1.eventB/cx7.buc
- Other
Other
pw1.eventB/pw5.bpo
- Other
Other
pw1.eventB/pw7.bpo
- Other
Other
pw1.eventB/cx7.bcc
- Other
Other
pw1.eventB/pw1_implicitContext.bps
- Other
Other
pw1.eventB/pw2.bcm
- Other
Other
pw1.eventB/pw7.bum
- Other
Other
pw1.eventB/pw4.bps
- Other
Other
pw1.eventB/pw7_implicitContext.bcc
- Other
Other
pw1.eventB/pw2_implicitContext.bpo
- Other
Other
pw1.eventB/pw2_implicitContext.buc
- Other
Other
pw1.eventB/pw3_implicitContext.buc
- Other
Other
pw1.eventB/pw3_implicitContext.bpr
- Other
Other
pw1.eventB/pw4.bpr
- Other
Other
pw1.eventB/pw4_implicitContext.buc
- Other
Other
pw1.eventB/pw0_implicitContext.bps
- Other
Other
pw1.eventB/pw2.bps
- Other
Other
pw1.eventB/pw2.bum
- Other
Other
pw1.eventB/Machine1.bpr
- Other
Other
pw1.eventB/cx6.buc
- Other
Other
pw1.eventB/pw0_implicitContext.buc
- Other
Other
pw1.eventB/pw1_implicitContext.bpr
- Other
Other
pw1.eventB/pw2.bpr
- Other
Other
pw1.eventB/pw2.bpo
- Other
Other
pw1.eventB/pw4.bcm
- Other
Other
pw1.eventB/cx4.buc
- Other
Other
pw1.eventB/pw7_implicitContext.bps
- Other
Other
pw1.eventB/pw7_implicitContext.bpo
- Other
Other
pw1.eventB/pw0_implicitContext.bpr
- Other
Other
pw1.eventB/pw4_implicitContext.bcc
- Other
Other
pw1.eventB/pw3_implicitContext.bcc
- Other
Other
pw1.eventB/pw1.bpo
- Other
Other
pw1.eventB/cx4.bpo
- Other
Other
pw1.eventB/pw6.bpo
- Other
Other
pw1.eventB/pw6_implicitContext.bps
- Other
Other
pw1.eventB/pw3.bcm
- Other
Other
pw1.eventB/pw6.bps
- Other
Other
pw1.eventB/pw6_implicitContext.bpr
- Other
Other
pw1.eventB/pw6.bpr
- Other
Other
pw1.eventB/pw6.bum
- Other
Other
pw1.eventB/Machine1_implicitContext.bpr
- Other
Other
pw1.eventB/pw1.bcm
- Other
Other
pw1.eventB/cx6.bcc
- Other
Other
pw1.eventB/pw4.bum
- Other
Other
pw1.eventB/pw0.bpr
- Other
Other
pw1.eventB/pw4_implicitContext.bpo
- Other
Other
pw1.eventB/pw6_implicitContext.bcc
- Other
Other
pw1.eventB/pw0_implicitContext.bpo
- Other
Other
pw1.eventB/pw3.bum
- Other
Other
pw1.eventB/pw1.bps
- Other
Other
pw1.eventB/pw5_implicitContext.bcc
- Other
Other
pw1.eventB/cx2.buc
- Other
Other
pw1.eventB/cx4.bps
- Other
Other
pw1.eventB/pw7.bcm
- Other
Other
pw1.eventB/pw5_implicitContext.bpr
- Other
Other
pw1.eventB/cx7.bpo
- Other
Other
pw1.eventB/pw0_implicitContext.bcc
- Other
Other
pw1.eventB/pw1.bum
- Other
Other
pw1.eventB/cx4.bcc
- Other
Text
pw1.eventB/PW6BMotionVisualization.bmso
- Other
Other
pw1.eventB/pw7_implicitContext.buc
- Other
Other
pw1.eventB/pw3.bpo
- Other
Other
pw1.eventB/cx2.bpo
- Other
Other
pw1.eventB/pw4.bpo
- Other
Other
pw1.eventB/pw2_implicitContext.bpr
- Other
Other
pw1.eventB/pw0.bcm
- Other
Other
pw1.eventB/pw5.bpr
- Other
Other
pw1.eventB/cx7.bps
- Other
Other
pw1.eventB/cx2.bcc
- Other
Other
pw1.eventB/pw1_implicitContext.bcc
- Other
Other
pw1.eventB/pw5.bps
- Other
Other
pw1.eventB/pw4_implicitContext.bps
- Other
Other
pw1.eventB/pw5_implicitContext.bpo
- Other
Other
pw1.eventB/pw3_implicitContext.bps
- Other
Other
pw1.eventB/pw3_implicitContext.bpo
- Other
Other
pw1.eventB/cx4.bpr
- Other
Other
pw1.eventB/pw5.bum
- Other
Other
pw1.eventB/pw6.bcm
- Other
Other
pw1.eventB/pw2_implicitContext.bps
- Other
Other
pw1.eventB/cx2.bps
- Other
Other
pw1.eventB/cx2.bpr
- Other
Other
pw1.eventB/pw0.bps
- Other
Other
pw1.eventB/pw0.bum
- Other
Other
pw1.eventB/pw1.bpr
- Other
Other
pw1.eventB/pw5_implicitContext.bps
- Other
Other
pw1.eventB/pw4_implicitContext.bpr
- Other
Other
pw1.eventB/cx6.bps
- Other
Other
pw1.eventB/pw6_implicitContext.bpo
- Other
Other
pw1.eventB/cx7.bpr
- Other
Other
pw1.eventB/cx6.bpo
- Other
Other
pw1.eventB/pw6_implicitContext.buc
- Other
Other
pw1.eventB/pw7_implicitContext.bpr
- Other
Other
pw1.eventB/pw3.bpr
- Other
Other
pw1.eventB/cx6.bpr
- Other
Text
OrthogonalSM.pdf
- Other
Show all 159 downloads.
More information
Published date: 21 June 2011
Additional Information:
Event Dates: 21st June 2011
Venue - Dates:
B2011, Limerick, 2011-06-21
Organisations:
Electronic & Software Systems
Identifiers
Local EPrints ID: 272287
URI: http://eprints.soton.ac.uk/id/eprint/272287
PURE UUID: a6777f09-d6b2-40b9-a6b7-6e5305cf3f10
Catalogue record
Date deposited: 16 May 2011 20:44
Last modified: 15 Mar 2024 03:12
Export record
Contributors
Author:
Colin Snook
Download statistics
Downloads from ePrints over the past year. Other digital versions may also be available to download e.g. from the publisher's website.
View more statistics