Short description of the HiQPN-Tool: ==================================== Installation: ============= For installing HiQPN-Tool you need a password, which you will get from us. Please contact: bause@ls4.cs.tu-dortmund.de You can use the tool for free, but you are not allowed to commercially distribute or sell the tool (see Licence Agreement). The password is only a simple mechanism for us to build up a list of users, which we can inform when updates get available and surely also to know how many people are using our tool. To decrypt the file you need PGP (Pretty Good Privacy). a) pgp tool.tar.gz.pgp (decrypt the file using the password) b) gunzip tool.tar.gz c) tar -xvf tool.tar (all files are placed in the current directory!) There are two steps for making the tool HiQPN running: 1. Call INSTALL within the sub-directory hiqpn. INSTALL will generate a file "hiqpn" that is a shell script for running the GUI of the program. So type d) cd hiqpn; ./INSTALL The current version of the tool also provides a hypertext online help, which is displayed using netscape or Mosaic. If you want to use Mosaic instead of the (default) netscape browser, you must set the variable MY_BROWSER in hiqpn/main.tcl to "Mosaic". If you are using some other browser your task gets more difficult, since you have to edit the procedure hyperhelp in file hiqpn/main.tcl establishing a mechanism that the page referenced by the variable "startpage" is shown when calling hyperhelp. For netscape this mechanism is given by the "remote-option" which can be called for a running netscape application; for Mosaic browsers this mechanism is established via communication using a file whose name includes the process id (pid) of the running Mosaic browser and containing a goto-statement with the appropriate html-page as parameter. BTW: If you are pressing specific help buttons you sometimes have to scroll a little bit upwards to get to the place where the corresponding information is given. 2. Call hiqpn for working with the tool (always within the sub-directory hiqpn!). So type e) ./hiqpn & (When exiting the tool, you should normally also quit the browser.) Short description: ================== The online help and the manual in file Manual.ps.gz give a more detailed description. Here we will give you only some hints for usage. The tool consists of two parts: - a GUI written using Tcl/Tk and an - analyser for Hierarchically Combined Queueing Petri Nets (HiQPN-Analyser). Analyser: --------- The functionality of the analyser is identical to the former SunView version of the tool as described in: 1) Bause, F.; Buchholz, P.; Kemper, P. QPN-Tool for the Specification and Analysis of Hierarchically Combined Queueing Petri Nets in Beilner, H.; Bause, F. (eds.) Quantitative Evaluation of Computing and Communication Systems Lecture Notes in Computer Science, No 977, Springer-Verlag, 1995, pp. 224-238. as far as the analysis algorithms are concerned. Only the input format has changed. It is now based on an Abstract Petri Net Notation (APNN) for Hierarchically Combined Queueing Petri Nets (HQPNs), for more details see: 2) Bause, F.; Kemper, P.; Kritzinger. P. Abstract Petri Net Notation Petri Net Newsletters 49, Oct. 1995, pp. 9-27. We plan to make the source code of the parser of the HQPN-specific part of the APNN available in the future, so that it will be easier for you to connect your own analysis programs with the GUI. GUI: ---- The GUI must be called within the directory containing the Tcl sources: hiqpn. A hierarchical net is called a project and before you can edit your first net you have to define a new project, using the project menu item "New". The name must contain lower case letters only and the path is the unix path where the project is to be stored. The path name must end with a slash (/)! Ensure that you have write permissions, if you want to create/modify a project or at least read permissions. Projects are added to a list which is the last item of the Project menu. This list is user specific and stored in your home directory (~) in file .hiqpn_preferences. This user specific file is loaded during starting the GUI. Using the "Add" option you can insert projects of e.g. other users for easier access. The project list offers a pull-down menu for each project offering three operations: opening the project, removing the project from your list, deleting the project (sure, this will delete the whole project, so be careful). Once you have opened a project the canvas displays the hierarchical structure of the net. The displayed rectangulars are buttons for opening and closing the (sub)nets with the left mouse button. The right mouse button enables a menu to change the part of the currently displayed hierarchy. These options might be useful for large hierarchical nets. The total structure of the hierarchy can only be changed by editing the (sub)net descriptions, never via this initially shown canvas. To edit a (sub)net description open the corresponding subnet and input your net. After entering a subnet place and after specifying its name (edit attributes) and saving(!) the net description, the canvas for the hierarchical structure is updated. A newly generated subnet (via the definition of a subnet place) consists of a basic structure as described in 1) in order to support specific analysis algorithms (Structured Power, Structured SOR, ...). The attributes of these automatically generated elements are themselves NOT inserted automatically. You have to do this by hand. We are going to change this in the future. It is very important for the analysis algorithm that special places with names input, output (and actual_population) as well as special transitions t_input and t_output are defined in a subnet! Furthermore the colour sets of input, output and actual_population should be identical and coincide with the colours defined for the corresponding subnet place. Transition t_input should always act as an identity only forking tokens into the user defined part of the subnet, so that transition t_output defines the behaviour of the subnet as recognized on the higher level. Under the Option menu there are two important options: - Export model will write a file .apnn in the directory where the model is stored. This file is used as input for the analyser! - The Analysis option will popup a window for inserting the analysis parameters (see 1) again). The GUI also supports an animation (token game) of the model, but this part is still under construction. Press the "Animation" button first. This will change the appearance of the tool indicating that it is now in a different mode. You can get back to the modelling mode by pressing the button "Modeling". Open the net(s) you want to animate. You can select the transition to fire by hand or starting an automatic animation using the recorder functions (the parameters from the option menu are only partly used up to now, sorry). You will notice that HiQPN-Tool's animation is different from other tools. We do NOT display individual tokens, but animate as follows. Each place is represented by a circle (as usual) and the circle is divided into different segments, one for each colour. The filling of these segments represents the number of tokens of the shown colour currently at this place. If the segment is totally filled with the colour then this place is currently marked with number of tokens or more. The parameter can be set in the options menu (Animation parameters; default value is 5). We think that this form of animation is very suitable for coloured Petri nets. Apropos colours, the tool supports the representation of visual colours. So you can associate specific visual colours (real colours; currently six colours are supported) with token colours to support the animation. The animation of timed places and subnet places also considers the two significant parts of these places. For timed places the left half of the circle represents the population of the queue and the right half the marking of the depository. The left half of a circle displaying a subnet place represents the sum of the markings of the places input and actual_population of the corresponding subnet. The right half represents the marking of the place output. Last not least, two hints in case you run into troubles: - When the tool crashes and you restart it, it might happen that you can't edit (sub)nets of a recently opened project. To get write permissions again, just delete the .lock files. A .lock file is created when you open a (sub)net and removed when you close it again. So if someone else uses HiQPN-Tool at the same time he or she can not modify these nets. This simple mechanism is intended to support group work. But be aware that this mechanism is imperfect due to race conditions. - Sometimes you might get "tcl_unknown" error messages. When you get the first one, usually several others will follow soon. In such cases it's often better to exit the tool (see Project menu) and to restart it. BTW Make sure that you have write permissions to a directory /tmp So now have fun using our tool Falko Bause, Peter Buchholz, Peter Kemper, Andreas Klamann P.S. Further information on QPNs can be found via WWW: http://ls4-www.cs.tu-dortmund.de/QPN/