Fig. 2. Monitoring control sub-state.
Representation of Preemptive Misuse
The paradigm we adopted for representing preemptive misuse is as follows:
1. Define a super-state (normalOperation) enclosing the preemptable sub-states
(usualControl, bloodPressure, coilLeak, bathChange). (Fig. 2)
2. Associate a preemption event with each preemptable state, and draw a transition
from the super-state to each of the preemptable states, triggered by the associated
event. The event naming convention is evPreemptive<state name>. (Fig 2).
3. For each Violation Priority associate an event according to the naming convention
evViolationPriority<n> where highest priority is n=1. (Fig 2)
4. Divide the monitoring control state into two orthogonal components (operation,
misUse). In the misUse orthogonal component, define reentrant transitions (these
could have been reactions in state), to map the misuse events (triggers) to violation
priorities (actions). (Fig. 2)
5. The corrective action for the various violation priorities are as follows:
a. Priority 1, aborts the treatment (Figure 1, abort state). (Fig. 1)
b. Priority 2, allows 5 minutes for corrective action, before reverting to the
previous state. (Fig 2)
c. Priority 3, immediately reverts to the previous state(Fig. 2)
d. Priority 4, allows the preemption, but posts a warning, as per the the reaction
in state defined for monitoringcontrol state (Fig.1).
6 Discussion
Reengineered PFA replaces intuitive speculation with a highly focused purpose – to
automatically correct potential misuse. As the stakeholder traverses the model, a
mo nitori ngco ntrol
nor malOperation
bloodPressur e
suspend(dialy sis); correctiveBlo odPressure ()
resume(dialys is)
bat hCha nge
cha ngeBath(po st)
[NbOfUs e!=2 0 &&NbOf Use
!=8]/release(2eNurse)
usualCo ntrol
evGoBack
coilLeak
evGoBack
evGoBack
to Ba thC ha ng e
toBathC hange
[NbOfControl !=1 !!
NbOfUse !=4&& NbOfUse != 4 && NbofUse!=20]
/re lease (nurs e)
[NbOfUs e==20]
[els e]/release(nurse)
[NbOf Us e== 8]/re lease (2eN urse)
tm(30min)
[NbOfControl==1&&NbOfUse==4]/request(2eNurse)
[els e]
[else]
[NbOf Us e != 20]/r eleas e(2e Nurse );
release( nurse )
[NbOfUs e==20]
evPreemptiveUsua lControl
evPreemptiveBloodPressure
evPreemptiveCoilLeak
evPreemptiveBathChange
evViolationPriority3/GEN(evG oBack)cor rectiv eAct ion
tm(5min)/GEN(evGoBack)
evViolationPriority2
operati on
mis c hi ev e
ev P reemptiv e Usua lCon t rol/G EN(e vViolationP riorit y4)
evPremp tiveBloodPressure/GEN(e vViolationPriority1)
evPreemptiveCoilLeak/GEN(e vViolationPriority2)
ev P reemptiv e Bath C han ge/G EN(e vViola tionP riorit y 3)
misUse
evPreemptiveBloodPressure
[NbOfUs e!=2 0 &&NbOf Use
!=8]/release(2eNurse)
evPreemptiveBathChange
evGoBack
evPreemptiveUsua lControl
evGoBack
evGoBack
evPreemptiveCoilLeak
[NbOfControl !=1 !!
NbOfUse !=4&& NbOfUse != 4 && NbofUse!=20]
/re lease (nurs e)
[NbOfUs e==20]
[els e]/release(nurse)
[NbOf Us e== 8]/re lease (2eN urse)
tm(30min)
[NbOfControl==1&&NbOfUse==4]/request(2eNurse)
[els e]
[else]
[NbOf Us e != 20]/r eleas e(2e Nurse );
release( nurse )
[NbOfUs e==20]
evViolationPriority3/GEN(evG oBack)
tm(5min)/GEN(evGoBack)
evViolationPriority2
ev P reemptiv e Usua lCon t rol/G EN(e vViolationP riorit y4)
evPremp tiveBloodPressure/GEN(e vViolationPriority1)
evPreemptiveCoilLeak/GEN(e vViolationPriority2)
ev P reemptiv e Bath C han ge/G EN(e vViola tionP riorit y 3)
67