diff --git a/doc/sgpem2uman.texi b/doc/sgpem2uman.texi index da49595..135c86a 100644 --- a/doc/sgpem2uman.texi +++ b/doc/sgpem2uman.texi @@ -799,11 +799,122 @@ request! @subsection The Simulation widget @cindex simulation widget +@image{simulation_widget,,,Screenshot of the simulation widget} + +The simulation graph, as his name tell, show graphically the simulation progress +along the time.@* +It represent the processes status at each instant from the simulation beginning +to the actual one.@* +Into the graph is possible to view the processes only or both processes and threads. + +@strong{Note:} this graph illustrates the @emph{past}. After each simulation +step is gone, the corresponding processes'/threads' states are drawn. + +The graph is divided in three areas: +@itemize +@item At left there are the processes (and optionally threads) names list +@item From center to the right take place the graphical area +@item At the bottom there is the time ruler +@end itemize + +@strong{The Processes/Threads names list} + +Here each process is listed in insertion order.@* +If the thread visualization is enabled, below every process is shown a list of his threads. + +@strong{The graphical area} + +It's a rectangular region wich contains some horizontal bars. +Each bar correspond to a process or thread; the processes' bars are fat, the threads' +are thin. + +The bars are composed horizontally to show the story of each process and thread. +If the process (thread) state change, and this is the rule, the corresponding bar +change color.@* +As default the colors are: green, yellow, red. + +@itemize +@item @strong{Green} is used for running processes/threads +@item @strong{Yellow} is used for ready processes/threads (waiting to run) +@item @strong{Red} is used for blocked processes/threads (waiting for a resource) +@end itemize + +The bar starts when the process or thread begin, ends when it die.@* +The length of the bar correspond to the time life of the process or thread. + + +@strong{The time ruler} + +Below the graphical area there is a time ruler from 0 to the current instant.@* +The last represented time is the @emph{past} instant. + +The first click on play button will show only notch 0 and no process bars.@* +At the second time, on the ruler, will be notches 0 and 1 and eventually the squares +corresponding to living processes or threads.@* +The other clicks... are all the same! + +@strong{How to show/hide threads} + +With the menu item "Show Threads" under the "View" menu the user can enable or +disable threads visibility. + + @c % ------------------------------------------------- @node The Holt graph, The Preferences dialog, The Simulation widget, From the GUI @subsection The Holt graph @cindex holt +@image{holt_circle,7.3,8,Screenshot of the holt graph} + +The graph show the simulation status at @emph{this time}.@* +It represent resources, processes or threads (and status), +requests for resources and allocation. + +If the user choose to view processes then a circle per process is displayed, +if she/he choose to view threads only a circle per thread (and no process) +is displayed. + +Resources are drawn as squares, processes and threads are circular, requests and +allocations are in form of arrows.@* +An arrow from process (thread) to a resource is a request from the process to have +the resource; an arrow from the resource to the process denote the allocation of the +resource to the process. + +The colors, as usual, are: green, yellow, red. + +@itemize +@item @strong{Green} is used for running processes/threads +@item @strong{Yellow} is used for ready processes/threads (waiting to run) +@item @strong{Red} is used for blocked processes/threads (waiting for a resource) +@end itemize + +@strong{How to show processes or threads} + +With the menu item "Show Threads" under the "View" menu the user can switch from +processes to threads visibility. + +@strong{How to show or hide the Holt Window} + +Holt graph, for pratical reasons, is placed in a separate frame out of the main +application window.@* +With the item "Show Holt graph" of the "View" menu is possible to show or hide +this window. To close is always possible to use the standard close button or +system menu command. + +@strong{Changing size and shape} + +The user can change size of the Holt window.@* +As the window change size, his contents is scaled and rearranged to fit into +the client area.@* +If the height/width ratio is >= 5/3 the items are arranged vertially in two +columns, resources at left, processes (or threads) at right.@* +If the height/width ratio is <= 3/5 the items are arranged horizontally in two +rows, resources at top, processes (or threads) at bottom.@* +Otherwise the items are disposed along a circle. + +@image{holt_vert,12.1,8,Vertical arrangement of the holt graph} +@image{holt_horiz,4.5,8,Horizontal arrangement of the holt graph} + @c % ------------------------------------------------- @node The Preferences dialog, Controlling the simulation, The Holt graph, From the GUI @subsection The Preferences dialog