DesktopVolumeManagementStates

This page is associated with DesktopVolumeManagement.

Postscript Version

digraph "DesktopVolumeManagement v0.1.1" {
/* This is a "sort of" state transition diagram. It is strangely parameterised for compaction
   And is not expected to be truly complete at this stage, but just to demonstrate the user experience.
   Interaction between operations on the commandline and in the GUI is not currently covered */

// State transitions with Unparenthesised, Unannotated event descriptions are triggered upon that event.
// Parenthesised phrases indicate a predicate test, alternative transitions should be given for other cases.
// phrases annotated with a '+' or a '-' indicate a change of predicate state - some may not be given (usually where it is fairly obvious)

        graph []
        node [ shape = "rectangle" ]
        edge [ ]

        "n0"  [ label = "\N: Drive Assumed Not Attached" ]
        "n1"  [ label = "\N: Drive Assumed Attached\n" +
                        "Media Status Unknown" ]


        "n2"  [ label = "\N: Drive Assumed Attached\n" +
                        "Media Detection Underway" ]
//      "n3"  [ label = "\N: Media is Assumed Present" ]
//      "n4"  [ label = "\N: Media is Assumed Present\n" +
//                      "Filesystem Detection Underway" ]
        "n5"  [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem Detection Underway" ]
//      "n6"  [ label = "\N: Media is Assumed Absent\n" +
//                      "Media Detection Underway" ]
//      "n7"  [ label = "\N: Media is Assumed Present\n" +
//                      "Filesystem is Assumed Present\n" +
//                      "Filesystem is Not Mounted" ]
        "n8"  [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem is Assumed Present\n" +
                        "Filesystem is Mounted" ]

        "n9"  [ label = "\N: Media Status Unknown\n" +
                        "Context Menu is Open\n" +
                        "Media Detection Underway" ]
        "n10" [ label = "\N: Media is Assumed Absent\n" +
                        "Context Menu is Open" ]
//      "n11" [ label = "\N: Media is Assumed Present\n" +
//                      "Context Menu is Open\n" +
//                      "Media Detection Underway" ]
        "n12" [ label = "\N: Media is Assumed Present\n" +
                        "Context Menu is Open\n" +
                        "Filesystem Detection Underway" ]
        "n13" [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem is Assumed Present\n" +
                        "Filesystem is Not Mounted\n" +
                        "Context Menu is Open" ]
        "n13" [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem is Assumed Present\n" +
                        "Filesystem is Mounted\n" +
                        "Context Menu is Open" ]

        "n14" [ label = "\N: Media Status Unknown\n" +
                        "Nautilus Window is Open\n" +
                        "Media Detection Underway" ]
        "n15" [ label = "\N: Media is Assumed Absent\n" +
                        "Nautilus Window is Open" ]
//      "n16" [ label = "\N: Media is Assumed Present\n" +
//                      "Nautilus Window is Open\n" +
//                      "Media Detection Underway" ]
        "n17" [ label = "\N: Media is Assumed Present\n" +
                        "Nautilus Window is Open\n" +
                        "Filesystem Detection Underway" ]
        "n18" [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem is Assumed Present\n" +
                        "Filesystem is Not Mounted\n" +
                        "Nautilus Window is Open" ]
        "n19" [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem is Assumed Present\n" +
                        "Filesystem is Mounted\n" +
                        "Nautilus Window is Open" ]
        "n20" [ label = "\N: Media is Assumed Present\n" +
                        "Filesystem is Assumed Absent\n" +
                        "Nautilus Window is Open" ]

        "n0"  -> "n2"  [ label = "Bus Notifies of Drive Hotplug\n+Mount Being Attempted" ]

        "n1"  -> "n9"  [ label = "User Clicks DriveMount Applet" ]
        
        "n2"  -> "n5"  [ label = "User Waits\n(Media Present)\n(Mount Being Attempted)" ]
        "n2"  -> "n9"  [ label = "User Clicks DriveMount Applet\n-Mount Being Attempted)" ]

        "n5"  -> "n19" [ label = "User Waits\n(Filesystem Present)\n(Mount Being Attempted)" ]
        "n5"  -> "n12" [ label = "User Clicks DriveMount Applet\n-Mount Being Attempted)" ]

        "n8"  -> "n13" [ label = "User Clicks DriveMount Applet" ]

        "n9"  -> "n12" [ label = "User Waits\n(Media Present)\n(Mount Not Being Attempted)" ]
        "n9"  -> "n10" [ label = "User Waits\n(Media Absent)" ]
        "n9"  -> "n14" [ label = "User Clicks \"Open\"\n+Mount Being Attempted" ]

        "n10" -> "n14" [ label = "User Clicks \"Open\"\n+Mount Being Attempted" ]

        "n12" -> "n17" [ label = "User Clicks \"Open\"\n+Mount Being Attempted" ]

        "n13" -> "n1"  [ label = "User Clicks \"Unmount\"" ]
        "n13" -> "n8"  [ label = "User Clicks DriveMount Applet" ]

        "n14" -> "n17" [ label = "User Waits\n(Media Present)\n(Mount Being Attempted)" ]
        "n14" -> "n15" [ label = "User Waits\n(Media Absent)" ]

        "n15" -> "n1"  [ label = "User Closes Nautilus Window" ]
        "n15" -> "n17" [ label = "Drive Notifies of Media Insertion\n(Mount Being Attempted)" ]

        "n17" -> "n18" [ label = "User Waits\n(Filesystem Present)\n(Mount Not Being Attempted)" ]
        "n17" -> "n19" [ label = "User Waits\n(Filesystem Present)\n(Mount Being Attempted)" ]
        "n17" -> "n20" [ label = "User Waits\n(Filesystem Absent)" ]

        "n18" -> "n1"  [ label = "User Closes Nautilus Window" ]
        "n18" -> "n19" [ label = "User Clicks \"Mount\"" ]

        "n19" -> "n18" [ label = "User Clicks \"Unmount\"" ]
        "n19" -> "n8"  [ label = "User Closes Nautilus Window" ]

        "n20" -> "n15" [ label = "Drive Notifies of Media Removal" ]
}

DesktopVolumeManagementStates (last edited 2008-08-06 16:24:42 by localhost)