220 likes | 750 Views
OOA Case Study: Pacemaker. A cardiac Pacemaker is an implanted device that assists cardiac functions when the underlying pathologies make the intrinsic heartbeats low or irregular. The Pacemaker runs in either a programming mode or in one of the operational modes.
E N D
OOA Case Study: Pacemaker • A cardiac Pacemaker is an implanted device that assists cardiac functions when the underlying pathologies make the intrinsic heartbeats low or irregular. • The Pacemaker runs in either a programming mode or in one of the operational modes. • During programming, the programmer specifies the type of the operational mode. • The operational mode depends on whether the Atrium (A), Ventricle (V), or both are being monitored or paced.
Case Study: Pacemaker • The programmer also specifies whether the pacing is inhibit (I), triggered (T). • For example in the AVI operation mode, the Atrium portion (A) of the heart is paced (shocked), the Ventricular portion (V) of the heart is sensed (monitored), and the Atrium is only paced when a Ventricular pulse does not occur
use case Diagram Case Study: Pacemaker (continued)
Context Class Diagram Needed for verification purposes
AVI Sequence Diagrams Refractory “Initial” Pacemaker (continued)
AVI Sequence Diagrams Sensed Pacemaker (continued)
AVI Sequence Diagrams Unsensed Pacemaker (continued)
Case Study: Pacemaker (continued) Atrial statechart
Atrial statechart Case Study: Pacemaker (continued)
Atrial statechart Case Study: Pacemaker (continued)
Atrial statechart Case Study: Pacemaker (continued)
AVI Sequence Diagrams Pacemaker (continued) In case of sensing a heart beat In case of not sensing a heart beat
A sequence diagram for the Programming scenario Programmer ReedSwitch CoilDriver Communication Atrial Ventricular Gnome ApplyMagnet IDLE EnableComm IDLE EnableComm ToON ToON Pulse Count = 1, SetTimer Receiving Pulse Count++, ResetTimer BitTimeout Decode(Count) Store Bit in Byte Waiting For Byte Full? Byte Yes enqueue(byte) Waiting for Bit Pulse Count =0 Receiving ByteTimeOut OR ByteTimeOut Validating IDLE IsValid? ToAVI Yes HerezaByte(ACK) Processing HerezaByte(NAK) Waiting to Send No Next Byte ToAVI Waiting to Transmit
Sample statechart diagram • Of the Coil Driver
Case Study: Pacemaker Object Interaction Diagram