In this section the different sections of the DaCoPAn animator are briefly explained.
As you can see in the above image, the screen is divided in three main parts: the main animation area, the note area and the UFO panel. In the main animation area there can be two kinds of animation panels: MSC and ENC panels. In addition to these, there also is a tool bar and a status bar. In Scenario mode you can also see a small window for editing and controlling the scenario. That dialog is explained in the scenarios section.
The tool bar provides a fast way to access the most important actions available trough the menu. Those are the basic file operations, animation control, settings and changing layer:
In addition to these, in the menu there are the following commands
The main animation area can be used by either MSC or ENC panel. When the animator is started, a welcome screen is shown in that space.
Message Sequence Chart (MSC) animation is the main animation type in the DaCoPAn animator. It shows the units being transfered between two hosts mapped along a time axis increasing from up to down. The panel is divided in a drawing area that shows the packets moving as lines and a host area that holds information about host variables at specific times in animation. The current time in the animation is shown as a horizontal blue line ("now line").
The ENC panel shows the encapsulation of a selected transfer unit. The selected unit is marked with a red border. To get out of the ENC view, there is a button: "Quit encapsulation".
The UFO panel visualizes the units moving in the MSC panel in a more visual way as boxes. It is always used together with the MSC animation panel and when the main animation area is used by the ENC panel, the UFO stays empty.
The note panel displays notes that can be attached to either time and layer (MSC panel) or a specific encapsulation view (ENC). In MSC mode the note panel always shows the last note. The note panel can also be used for adding, deleting and editing notes.
The status bar contains two important sections: On its left side, there is a display showing which animator mode (scenario or explore mode) is currently active. The active one is highlighted and the other one grayed. On the right corner there is a panel displaying current time in the actual network communication animated.
When the animator is in scenario mode, the scenario playlist window can be minimized to the status bar. Then it appears on the right side of the animator mode display and by clicking the title, the window appears again.
The Animator works with two different types of files:
tcpdump
.
These files can be opened and viewed in the Animator. However, as the
contents of PEF files vary significantly from one file to the other,
the settings of the Animator often require tweaking before the data in
the file can be visualized in a meaningful way.
For example, some PEF files may contain protocol units that are sent and received within a couple of milliseconds (as is the case in a local area network) and in other files it might take the units several hundred milliseconds to arrive (modem connection to the internet, for example). Thus it's often necessary to adjust the visual scale -setting of the Animator to make the information on the units readable.
Any changes made to Animator settings can't be saved in the PEF file itself. However, there is another file type, Scenario File, that's designed to contain the protocol events data along with settings set by the user. A scenario file can also contain a sequence of animations recorded by the user as well as any notes attached to the animations.
Both PEF and scenario files can be loaded using the same procedure. To bring up the dialog for choosing which file to load, you should either
Ctrl
and O
keys
simultaneously)
Image 1: Accessing the file selection dialog
After the file selection dialog has opened, you can set the file filter either to show PEF files, scenario files or all files.
Image 2: Selecting a file
To load a file, double-click on it, or select it using a single mouse click and then press the Open button. When the file is being loaded, a progress dialog is shown (see Image 3).
Image 3: Progress dialog
If no errors are reported, the file was valid and the Animator is ready to run!
When any changes are made to a file (either a PEF or a scenario file) loaded into the Animator, the name of the file shown in the titlebar of the application is suffixed with an asterisk, i.e. the character '*' (see Image 4).
Image 4: The asterisk indicates a file with unsaved changes
As explained in the previous chapter, the Animator only saves scenario files. If any changes are made to a PEF file, they need to be saved in a new scenario file. To save a PEF file to a scenario file, you can either
Image 5: Typing in the name of a new scenario file
If a scenario file is already loaded into the Animator, accessing the Save... menu item or activating the Ctrl+S hotkey automatically saves the latest changes to the existing scenario file. It is naturally also possible to save the scenario to a new file. To do this, you must select the Save as... menu item from the File menu.
The DaCoPAn animator can be tuned to adapt it to the different user purposes. The setting panels are the interface for the user to set the animator parameters.
There are two ways to access to the setting panels:
From the main toolbar clicking on the icon for the settings
From the menu: File->Settings
There are some different types of settings depending on their functionality.
They have been divided into three basic categories
Setting up the animation display size and the speed of it are the most basic features of the animator and the user will need to tune them often to get the visualization. The scale settings panel contain some elements that will made easier to adjust these values.
Scale settings
The MSC animation lets the user to show some information about the network units while the animation is running. There are two types of data that can be shown in the screen: variables (host-dependent values that are changed during the network transactions) and protocol header fields (value extracted from the header of a message exchanged in the network).
Protocol header fields and variables are values specific to a layer, so the animator creates a panel per layer to select the fields and variables to display. These selection are made through two separeted lists that contain the different variables and fields for the different protocols in that layer.
These selections are made by single-clicking on the different items in the list. No group selections are allowed. To deselect an item just single-click it again. Due to screen space issues when drawing the animation the number of variables and header fields that can be swown has been limited. The actual limits for them are 3 variables and 5 protocol header fields. If this limits are reached a message is displayed, as you can see in the figure.
Layer settings panel
The variables and protocol header fields are displayed in different places in the MSC animation. The variables are shown in the columns every time that a message unit is sent or received (message unit event). The protocol header fields are displayed over the lines that represent the message unit.
Variables and protocol header fields represented in the MSC
animation
These settings let the user select the load of the animator over the system in wich is running.
Performance settings
The panels displayed to change the settings are different depending on the working mode of the DaCoPAn animator, due to the different purposes of the two modes.
In the explore mode the complete set of settings can be configured, these are settings are:
A smaller number of settings can be configured here. Due to the purpose of creating a item for the scenario playlist, only the settings needed for one of those items is displayed:
The autoplay checkbox in the layer settings panel
Another place where the setting panels can be invoked is from the recording mode of the scenario playlist. In the scenario playlists the MSC elements settings can be edited by pressing the edit button. The panels open to edit the element settings are the same as the ones for the scenario mode but the values changed are the ones that the MSC element contain.
Editing and msc item in the scenario playlist
The animation is controlled either through the tool bar or commands in the menu. The basics of animation controlling are presented in this section.
When an animation is loaded in the animator, it is in paused mode. In this mode you can scroll the MSC area and step to specific places in time by clicking on the MSC panel. When you want to watch the animation as a continuos stream of events, you can just click on the play button.
When the animator is playing the animation, other buttons than pause become grayed, and if you want to do something else than just watch the animation, you must first press pause.
When the animation is paused, you can use the stepping buttons to step in the animation. The stepping moves the now line to the next or previous event depending on the direction in which you are stepping. Different events in the animation are sending a unit, receiving a unit or a unit being dropped.
Rewind and fast forward buttons can be used to move to the beginning or to the end of the animation.
The encapsulation (ENC) panel for a specific unit can be displayed by highlighting the unit in the UFO panel. In upcoming versions of the animator it will be possible to select the unit by clicking on it, but at the moment you need to use the stepping functionality to find the unit you want to highlight (the newest unit is always highlighted).
In the above picture you can see that the gray unit is highlighted and it's data is shown on the left data area. On the second channel (orange) moving from right to left, the last one is highlighted: it has a thicker border and it's data is shown on the right data area.
When you have selected the unit whose encapsulation you want to see, you can show it by clicking on the "show encapsulation" button under the data area for that unit.
A scenario is a 'play list' of different items. You may get a scenario as a ready-made scenario file (extension .sce) or you can create your own scenarios.
To work with scenarios you need to be in 'scenario mode'. The program is always either in 'explore mode' or in 'scenario mode'. You can switch between the modes at any time, regardless of what kind of file you have loaded. You switch the mode in the Animation menu, see picture below.
You can always see the mode you are in by looking at the bottom left corner of the DaCoPAn animator window. When you are working with the animator, either the EXPLORE or the SCENARIO text is always highlighted with blue color. That tells you which mode you are in.
The only difference between the modes is that in scenario mode you have the 'Scenario play list' dialog where you can select scenario items for viewing. Aside from this dialog, in both of the modes ALL other controls available to the user work in EXACTLY the same way.
The Scenario play list dialog shows the scenario play list and provides ways for showing and editing the list. When the application is in Scenario mode, the Scenario play list dialog is always either visible on screen or appears as minimized in the status bar (see the picture above in previous section). So, in Scenario mode, the dialog is NEVER completely hidden from view. If the dialog is minimized in the status bar, you can always make it visible by simply clicking on the blue rectangle with the text "Scenario play list".
If you just want to view scenarios, make sure you are NOT in recording mode. In the image below you see two versions of the dialog. The version on the left has recording mode OFF and the one on right has recording mode ON.
You can always (when not in recording mode) select an item from the list for viewing. The list is intended to be presented from beginning to the end, so unless you want especially to inspect some item on the list, it's most logical to start from the beginning (top). You can always advance to the next item by clicking on the Next item button. When one item is presented, the program will automatically move to the next item on the list. Depending on what kind of items there are on the list, and some settings for those items, the list may play all the way from beginning to end without user input, or the scenario may require that the user presses the Play button (in the toolbar) or the Next item button (in the Scenario play list dialog) for some of the item. For more details, read about the different scenario items in the next section.
See the image below for another example of a play list.
An MSC item means a presentation of the protocol data on the Message Sequence Chart. An MSC item is presented in the play list in this fashion:
MSC 0.3137->2.0061 [Transport] {1/10} AutoPlay
An MSC scenario item contains information about the following:
Start time - A point in time where the presentation of this item starts. In the above example the start time is 0.3137. When the item is selected from the list, the animation time is set to match this time.
End time - A point in time after the start time. In the above example the end time is 2.0061. When the animation is played to (or past) this time, the scenario will automatically advance to the next scenario item. Note that when the item is being recorded, it will exist in such a state that it has a start time but no end time. To mark this the end time is shown just as * (an asterisk).
Layer - Always just one layer where to present the data. In the above example the layer is Transport.
Settings - All the settings that you can access in scenario mode by the Change settings button (in toolbar) or the Edit item button (in Scenario dialog, only in recording mode) will be saved for the item. The settings are saved independently for each list item, so changing settings for one item doesn't affect the settings for any other item. The settings include the scale settings, the visualization settings for the particular layer, and also the 'AutoPlay' setting that is relevant (and available) only in the scenario mode. As an indication about these settings, the above example line has the part "{1/10}". That tells the magnitude of the scale, and corresponds to the radio button selected in the scale settings.
Meaning of the AutoPlay settings: (notice the text "AutoPlay" in the above example line) When AutoPlay is selected, the item is automatically put to Play mode when selected. (Selecting can happen either when the user clicks the item with mouse, or the scenario advances to that item from the previous item.) Notice that the AutoPlay does NOT have effect when the scenario dialog is in recording mode. This is to make it easier to edit the play list.
An ENC item corresponds to an encapsulation of a selected unit. As a scenario item the ENC item is very simple. When the item is selected, the animator will present the encapsulation for the selected unit, and wait for the user to select the Quit encapsulation button. When that is done, the scenario will move to the next scenario item. Or alternatively the user can select the Next item button from the scenario dialog, or just select another item from the play list. The are no editable settings associated with an ENC item.
A pause item is a 'non-showable' item in the sense that selecting it doesn't cause any change in the visualization mode of the animator. So when a pause item is selected from the play list, what you will see corresponds always to the PREVIOUS 'showable' item that was selected. (Be aware that if you have selected the Pause item by clicking it on the list, the 'previous' item is not necessarily the one directly above the pause on the list, it is the item that was selected before you clicked the Pause item, whatever the previous item was.)
The only functionality of the pause item is that when the pause item is selected, it pauses the currently playing animation and moves it to the end time of the previous scenario item. (See note above for what exactly is the 'previous' item.)
You may want to use a pause item in the list after an MSC item if you wish the presentation to pause before e.g. changing layer or going into encapsulation. By using the pause item you can have the program pause so that the end of the previous MSC item is still visible.
This item behaves in much the same way as the pause item. There is always exactly one end marker in the play list - at the end. What is it for? Always, when you add a new item to the play list, it is added BEFORE the item that is currently selected. So, if you want to add something as the last (real) item in the list, you need to select the end marker and then add your item.
Most of what you need for recording your own scenarios has already been told previously on this section. This chapter will concentrate of some this-far-unexplained features of the recording mode.
When you are in recording mode, your scenario dialog will look like the dialog on the right below:
The buttons have the following meanings:
Recording mode - toggles the recording mode on and off.
Next item - advances to the next item on the list.
Insert encapsulation - Inserts the currently visible encapsulation (only available when one is visible) to the current position in the play list. (Also see the 'Automated recording actions' section below for another way of recording ENC items.)
Edit item - Shows the settings dialog for the current MSC item. Only available when an MSC item is selected.
Record start - Inserts a new MSC item, with the current time as the start time of the item. Only available in MSC mode and only when there are no unfinished MSC items on the list.
Record end - Sets the current end time as the end time for the currently unfinished MSC item. Only available in MSC mode and when there is an unfinished item. If the current time is before the start time of the unfinished item (end time cannot be before start time!), an error message is shown.
Delete item - Deletes the currently selected item.
Insert pause - Inserts a pause in the current position in the list.
Always when you are in recording mode, the following recording actions are carried out automatically:
New MSC item is recorded when you press Play - Whenever you press the Play button, a new MSC item is added to the current position in the list. The functionality is as if the Record start button had been pressed simultaneously.
Encapsulation will be inserted when you press Encapsulation - Whenever you press one of the Encapsulation buttons inside the Unit Flow panel, the encapsulation is inserted in the play list as if Insert encapsulation had been pressed.
Finishing unfinished items - Whenever you have an unfinished MSC item on the list (MSC item without an end time) and you try to insert a new item in the list (either explicitly or implicitly) OR change the layer, the program will try to record the current time as the end time for the unfinished item. If this is not possible, an error message is shown and the action you tried to do is cancelled.
These automated actions aim at making the recording of scenarios more intuitive and effortless.
By using the Pause items and the AutoPlay settings it is possible to flexibly create scenarios with quite different paces. Using plenty of the AutoPlay you can make scenarios that play from beginning to end with the only necessary user interaction being pressing the 'Quit encapsulation' button to get out of encapsulation mode. Using plenty of the Pause item and not using the AutoPlay feature it's possible to create scenarios that wait for user actions (either the Next item button or the Play button, depending on situation) before any changes in the mode happen.
Extended information about the DaCoPAn animator in http://www.cs.helsinki.fi/group/dacopan
Last revision: May 31, 2004