This document is the user manual for Eludo, interfaced for the
X window system (XEludo). Some technical information has been
left out intentionally: such as the description of installation of the
"source" distribution, or the installation procedure of the binary
(already detailed by a README
file).
The reader shall remember that this document is specific to XEludo, the version that runs on the X window system. The document Eludo User Manual should be consulted for information about the usage of the TTY version.
Then, on-line help is also available from the man pagesxeludo, eludo and lotos, where most important topics are covered in not so many details.
The reader is expected to be familiar with the Un*x operating system, or at least the most common concepts (e.g. directories and files) and commands (moving within directories, editing, creating, copying and deleting files). The LOTOS language should be known already. Although ELudo may prove to be quite useful in learning the language, there is no documentation included in this user manual intended to teach to the user what the LOTOS language is about.
Finally, the user should be familiar with the X Window System: what it's about, how to launch it and access its various utilities, how to invoke a particular window manager. In particular, it shall prove to be helpful to be able to move, resize and iconify windows. Explanations about X itself is beyond the scope of this document; only procedures specific to XEludo (such as explicit mouse button usage) will be described here.
COMMON DOCUMENTATION (TO THE TTY AND TO THE X INTERFACES) HAS BEEN PUT IN A SINGLE FILE, TO FACILITATE UPDATING. THE DOCUMENT IS REFERRED AS "ELUDO GENERAL USER MANUAL". COPY&PASTE IT INSTEAD OF THOSE 3 LINES.
In order to start XEludo, you need to be in an X window system environment, compliant with X11R5. If this environment is not up yet, it may usually be started with the command 'xinit' or 'startx'. Refer to your X window system manual for more details.
Once in the X environment, XEludo is started by entering the
command xeludo. There are a number of command line options that may be
entered at that time. The manual page of XEludo
(xeludo.man
) provides a summary about each of them. You may also
have those preferences used every time XEludo is started by
creating a .XEludo
defaults file in your home directory (refer to
Customizing).
XEludo was designed with the standard X Window System options plus a few others. The options described in the xeludo manpage are particular to xeludo. If one wishes to learn about the other options, an X Window System manual should be consulted.
.l, .lot, .lotos Text of a lotos specification. .pl Specification translated by lotos(1) to a prolog database suitable for most eludo tools. .cp A ISLA session saved previously, may be loaded with RESUME SESSION .tr Trees generated by SELA and used by LOTEST. .df3 User defined constants file. .log SELA output to file while generating tree. /tmp/isla_###/ Directory of temporary files used by eludo.
XEludo is a graphical and user-friendly environment for simulating LOTOS specifications. The interface consists of a hierarchy of windows, functionally grouped and poped up on a as-needed (or as-requested) basis. Each window is explicitly identified by a title bar. Main windows have square iconic buttons to activate pull-down menus or trigger a single specific command.
The availability of some tools is implicitly controlled by having them available to the user only from certain windows (i.e. only once they should become available). Thus, the user should never have to worry whether it's time or not to hit a button (unless, of course, when otherwise warned).
Typing has been reduced to a minimum by ingenious use of buttons and lists.
The hierarchy starts with the main window, from where a general control over the whole system is offered. This is where a specification may be selected to have it translated, or loaded for simulation. Once a specification has been loaded, a second main window appears, namely the PROCESS window. The is the launching point of most of the tools of ELudo.
The purpose of the PROCESS window is to present the user with a list of the processes contained in the specification, and give access to tools to manipulate them. Tools like ISLA, SELA or GLOTOS, to name the main ones, may be started from here. Each of those tools will pop-up their own "main" window(s), with their particular options and commands.
Some similar tasks used to be performed individually by many parts of the system. Optimization lead to the creation of generic sub-tools that the user will rapidly recognize. The Filename tool and the Value Expression Editor are among the ones most often met during a session with XEludo. While the first one helps the user to navigate in his/her directory tree and select a filename (whether for output or for input), the second one will assist the user in building syntactically correct value expressions according to the type definitions of the loaded specification. Then, although they will appear in many different circumstances, they are parameterized tool and are called in such a way to help you to a maximum to perform the due process. For instance, the FileName tool will filter out not suitable files; and the Value Expression Editor will ensure (in due time) that resulting sorts will coincide with the requirements of the requiring tool.
Closing down a window (e.g. using the Exit buttons) takes care of also closing down relevant and dependent windows. For example, if the specification is "unloaded" (by exiting the PROCESS window), it does not make sens to keep the Value Expression Editor tool up (since all the ADT equations just got zapped out!).
Some icons appear in more that one place throughout XEludo. This is not a mistake, but a guided decision that is meant to facilitate the learning process by re-using symbols for similar purposes. This is the case of the OPTIONS and VIEW buttons. Although each of those buttons have completely independent functions (i.e. the open totally different OPTIONS and VIEW windows), they have similar goals, namely, allowing the user to indicate some preferences (OPTIONS) or having a peek at "something" (VIEW). But each OPTIONS and VIEWS button are bound to unique options and views.
On the other hand, for example, the SELA button also appears in more than one place, intending to remind the user that the SELA function may be performed in more that one situation, such as with the selected process of the PROCESS window or with the current behaviour of the ISLA window. Finally, the same (SELA) icon appearing in the SELA window itself is used as the "go-for-it" functionality.
Command buttons at the bottom of a window usually deal with "confirm/cancel" type of inquiries.
One or more viewports constitute the rest of the window. Viewports are scrollable sub-windows that present the user withThe system is divided into five main windows. The commands and details of each window is discussed in details later in the following sections. This is just to help the reader to anticipate what's coming on.
The XEludo window appears when the program is started from the Un*x prompt using thexeludo command. It provides commands for translating and starting the execution of specifications. The remaining commands allow the user to define translation options, view the content of a file, or terminate XEludo, at any time.
The PROCESS window appears as the result of starting the execution a specification from the XEludo window. This really is just the result of "loading" the specification and having it ready to be processed. The PROCESS Window displays the list of the processes contained in the loaded specification. From this window, the user may, among others:The ISLA window appears as the result of starting the step-by-step simulation of a given process (from the PROCESS window). The HISTORY window gets pope-up at the same time. The ISLA window displays the list of next actions that might be used to derive (execute) the current behaviour.
The other commands offered to the user by the ISLA window are:The SELA window is activated from either the PROCESS or the ISLA window. In the first case, it processes by default the behaviour of the selected process; in the second case, it processes by default the main behaviour of ISLA. The behaviour to be used for expansion may be changed at will once SELA is up. Two main viewports are shown by SELA, each one revealing the result of the expansion, for the first and second pass.
The GOAL window may be started from within the ISLA window. Once up, it asks the user to specify a goal to be reached from the current behaviour of ISLA; then offers either a first or all possible sequences it may find.
The GLOTOS window displays the graphical representation (Boxed or as a Tree) of a behaviour, either the one of the selected process (in the PROCESS window) or the current behaviour of ISLA. This tools may be made available from either the Process or ISLA windows. The content of the GLOTOS window may be saved to file in Postscript format.
+------------------------------------------------------------------------------ | Figure: XEludo Window +------------------------------------------------------------------------------
+------------------------------------------------------------------------------ | Figure: Eludo/Lotos Window | | When the Lotos command is selected, a pull-down menu appears with the | items Execute, Translate & Resume. Releasing the mouse button while one | of the items is highlighted triggers this particular item; if the button | is released after the mouse has been dragged away from the pull-down | menu (such that no item is further highlighted), then the pull-down menu | just closes down (without doing anything further). +------------------------------------------------------------------------------The Execute item instructs XEludo to load the selected specification, thus rendering it readily available to the tools of XEludo. The proper loading of the selected specification is confirmed in the viewport of the XEludo window; then the PROCESS window pops up.
+------------------------------------------------------------------------------ | Figure: FNTOOL after the Execute Command | | If the user selects the Execute item of the LOTOS command, the FileName | tool appears. The user may proceed in selecting a file from the listed | ones or abort the Execute operation altogether with the Cancel button. | Note that only directories and files whose extensions are ".pl" are being | shown by the FileName Tool. (see the FileName Tool in???). +------------------------------------------------------------------------------The Translate item is an alternative way of processing a LOTOS specification with the LOTOS translator (command "lotos"). The other possible route being to issue the "lotos specification" command directly from the Un*x prompt. The result of translating a LOTOS specification is an equivalent Prolog database (extension .pl) suitable for use by XEludo. The viewport of the XEludo window will reflect the status of running "lotos", whether is consists of a confirmation of the complete verification and translation into Prolog; or whether errors were found in the text specification. In the last case, the errors displayed in the viewport will need to be fixed by the specifier, and the Translate command executed again, before a valid Prolog translation takes place. In either cases, nothing else happens (i.e. the Translate command is a shear "file" operation).
The parameters (mostly options) of translation are settable through the OPTIONS command of the XEludo window. All the translation options may be changed at will before each translation. Once the options are set, the Continue button of the OPTIONS window must be selected before being able to carry on with the translation.
In each of the above cases, and in many instances throughout the use of XEludo , file selection will be necessary. It is is accomplished using the FileName Tool, explained in details later (you may wish to have a peak at it right away if you intend to perform the operations as you read through this document). Nevertheless, it should be pointed out now that the FileName Tool is instructed by XEludo on the type of file expected to be selected. Thus, when "Translate" is chosen by the user, the FileName Tool will only give access to those files that have valid LOTOS extensions (e.g. .l) and to directories. On the other hand, when "Execute" is chosen, only those files with a valid Prolog extension (.pl) are being displayed. There is no reason to worry about the files you might notice as "missing"; they're not, they are just "not shown". In all cases though, directories will always show.
The VIEW command is a utility that permits peeking at a text file, but it offers no editing nor saving facilities.
+------------------------------------------------------------------------------ | Figure: Eludo/View Window +------------------------------------------------------------------------------
The rest of the options are related to the translator and grouped in 5 boxes:
+------------------------------------------------------------------------------ | Figure: Eludo/Options Window +------------------------------------------------------------------------------Once the translation options are set and the Exit button is selected (to have the OPTIONS window closed down), the values set become in effect. They will be used for subsequent translations (via the Translate item).
To terminate the XEludo session, the user must select the Exit command from the ELudo window (rightmost icon, with the opened door). When selected, a new window appears awaiting for a confirmation from the user. To exit, simply click on the "YES" command box with the left mouse button. If you pressed Exit by error, or changed your mind, rather move the mouse pointer over the "NO" button then click on the left mouse button. The confirmation box will freeze all activities of XEludo until you choose either YES or NO.
+------------------------------------------------------------------------------ | Figure: Eludo/Exit Window | | Press YES to confirm your intention of terminating XEludo, or NO to | return to normal operations. Until you choose either, nothing else | may be accomplished by XEludo. +------------------------------------------------------------------------------
+------------------------------------------------------------------------------ | Figure: Process Window +------------------------------------------------------------------------------
ISLA may be started for the currently selected process by clicking once on the ISLA button, or by double-clicking the process item desired. The behaviour of the process is then displayed in the bottom viewport (if not there already) and the ISLA window appears. This operation may be repeated even after ISLA has started; the effect being to restart ISLA with the currently selected process (not necessarily the same). Be careful: a running ISLA session would be aborted without further notice.
If the process to execute has any parameter(s), the Value Expression Editor tool will open, prompting the user to enter the appropriate ADT value expression(s) for this (those) parameter(s). This will carry on until the user has entered all necessary value expression(s) for all the parameters of the selected process.
SELA may be started for the currently selected process by clicking once on the SELA button. Again, the behaviour of the process is then displayed in the bottom viewport (if not there already) and the SELA window appears. Similarly to the ISLA command button, hitting the SELA command button once SELA has started causes SELA to start processing the currently selected process, without further action required by the user.
Note that the ISLA and SELA commands expect a process to have been selected already. In both instances, an error message (in the title bar of the PROCESS window) shall indicate if a process needs to be selected. A bell will be heard each time an error or notice gets posted in any window.
The LOTOS process representation determines how the process in the bottom section of the Process window will look like. The choices include short, normal and long displays. The long representation expands process instantiations by replacing them with their full process definitions, while, with short representation, only the first action of each behaviour is displayed.
+------------------------------------------------------------------------------ | Figure: Eludo/Lotos/Process/Glotos Window +------------------------------------------------------------------------------To view a process in Glotos representation, select a process from the process list, move the mouse pointer over the Glotos command in the Process menu, and then click the left mouse button. A new window will appear and draw the process in the defined Glotos representation.
The Glotos models offered by XEludo are Boxes and Tree representations. The Boxed model is similar to the ISO proposal of January 1989. The Tree model is based on the Cheung-Ye proposal from the University of Ottawa.
The ISLA window displays the list of actions available for execution, given the current behaviour. When ISLA starts, the current behaviour is the one of the selected process. Thereafter, it becomes what the user decides, based on the events he/she selects for execution.
The commands buttons offered by ISLA are:
The Valid command button sets the selected values and closes down the ISLA/Options window.
The HISTORY window displays the tree of actions as executed by ISLA. The action executed just before the current behaviour of ISLA has a patterned background. This display is updated each time an action is executed.
Selecting an action is performed by moving the cursor over the desired action and clicking on the left mouse button. The selected action is then changed to display a highlighted border.
The commands provided by this menu are the following:
The SELA button starts the execution of SELA on the current behaviour when in current behaviour mode, and on the behaviour of the selected process when in process mode. The execution begins with the first tree in the first viewport and continues with the final tree in the second viewport.
Execution may be stopped with CANCEL button.
The CANCEL button, when active, stops the execution of SELA a while before it gets the processing to cease.
In the utility menu, SAVE TREE saves the content of the second viewport of SELA in a text file (.tr). This file may be used by LOTEST.
The OPTION button allows you to set SELA options, controlling the execution of SELA.
The first viewport displays the list of observable gates of the behaviour, and the second one the tree of traces leading to the gate found.
The SDP menu lets you search some path. SEARCH A PATH finds the first sequence of actions going to the gate; NEXT finds the following one; and ALL finds all the following ones (or all of them is the search had not begun yet). The STOP button is used to stop the FIND ALL PATH command while performing.
The ISLA button will be one day executing in ISLA the list of action selected in GOAL second viewport. But it's not there yet...
In the tree, the left button of the mouse selects a node while the middle button is used to hide some branch.
+------------------------------------------------------------------------------ | Figure: Eludo/Glotos Window +------------------------------------------------------------------------------
To return to the previous process picture, move the mouse pointer over the process's small box, located at the top of the picture, and click on the left mouse button. The Glotos window will redisplay the previous process picture. If you are viewing the first process picture, clicking on the small box of the process's picture will exit and close the Glotos window.
In short, the FileName allows one to enter a filename. Filenames may be specified in 2 ways. The easiest one consists in clicking twice on the desired filename; or clicking once on the file then once DONE.
The second option is to type in the filename at the keyboard and hit the <RETURN> key.
Similarly, one can change the current working directory by either clicking once on it, or by typing it in at the keyboard and hitting the <RETURN> key. ".." will move into the parent directory.
If the file needed is in another directory, simply select the directory which leads to that file. Then the files from this directory will be displayed. Continue this until the file is found. Once the file is found, select the filename.
[footnote: If the directory path is very different from the default directory in the ELudo Options Menu, then it may be faster to enter the directory name directly into the option. Then a file selections will one from this directory. However, when you change directory in the file selection window, the default directory option is updated automatically.]
The first viewport displays the current state of the expression. The current "operation" is surrounded by a box. Use the mouse to select any operation desired. Any operation is displayed with its name and its arguments. Uninitialized arguments show their sort type surround by angled brackets.
The COPY button makes a copy of the selected operation (with its arguments) in the copy buffer to allow later cut&paste operations. Note that the copy buffer is NOT erased between two calls to the Expression Editor.
The PASTE button copies the content of the copy buffer into the selected operation. PASTE allows you to make some cut&paste operations and also some undo operations. If the selected operation was initialized, it is copied to the copy buffer (to permit to undo with PASTE).
The CURRENT SORT label displays the sort of the current operation.
The OPERATION viewport displays the list of available operators for the current sort (of selected operation) in your specification. Select one of them to insert it in your expression. Note that the selected operation becomes the next uninitialized operation in expression, and that if the selected operation was initialized, its content is not lost because it is copied in the copy buffer (reselect operation and use PASTE to make an UNDO).
The CONSTANTS viewport does the same as OPERATION viewport, but it deals with user-defined constants.
The EVALUATION WITH TRACE button requests the Expression Editor to construct the ACT ONE expression of the resulting type selected in the first viewport and then evaluates it. It shows the trace of evaluation in the second viewport.
The EVALUATION WITHOUT TRACE button does the same, except that no trace will be displayed but only the result of the evaluation.
The EXPRESSION EVALUATED menu let you RESET the second viewport or SAVE it in a file (.log).
The ADD button is used to enter a new constant, its name being entered in the first viewport and its sort being selected in the second one. The ADD button calls the Expression Editor to allow you entering the value expression to be associated to the constant.
The DELETE button allows you to remove the existing constant selected in the third viewport.
The SAVE button saves the set of existing constants in a file (.df1, .df2 or .df3)
The LOAD button loads a constant file (.df1, .df2 or .df3) and adds constants found to the set of existing constants.
The GOE (Goal Oriented Execution) is not fully implemented.
The CONSTANTS functionality is does not handle loading of constant files adequately.
The SETS functionality is not there yet.
Triple-clicking sometimes crashes the application. If an element is already selected (highlighted), it is currently sufficient to just click once more, even if this second click happens long after the first one has occurred. It is currently NOT a true double-click. This problem should get fixed when a true double-click is implemented.
Some bugs related to the Athena Widget Set have been found. We found no way to correct them. We can just say that they don't occur too often.
There is one bug related to the prolog run time code which prevents xeludo from being launched in the background. If you want to launch xeludo directly from a session manager or a window manager root menu (and not directly in a shell window), you must specify it as:
If you find some bugs, please report them to lotos-mgr@csi.uottawa.ca.