La lecture en ligne est gratuite
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
Télécharger Lire


9 pages
A tutorial introduction to Seesim 5• typing mistakes are rarely critical with Seesim Seesim version 55; and • Seesim 5 detects most other errors What is Seesim 5 all about?immediately, rather than at run-time.Seesim 5, of course, upgrades Version 4.Version 4 has been used widely for teaching How complete is this version?simulation for about 15 years. Although it has Almost every Version 4 feature can be specied no peers in some respects, it is a DOS program in Seesim 5. The known exceptions are indirect whose user-interface is now very old fashioned.addressing of attributes and some rarely used The author has had in mind a revolutionary initial state condition specications.set of enhancements which, for various reasons, Despite all that, there are a number of there has not been time to implement. bells, ropes and whistles which have not yet been Furthermore, users of Seesim have requested implemented. When they are, they will make enhancements. All this has meant that change was some things better than they currently are.inevitable. Seesim 5 is the rst step in that change.In particular, printing is currently primitive. The change will be made in two distinct There is no page setup, and pagination has phases. Seesim 5:not been implemented. Furthermore, there is no • implements a Windows user-interface for Help. Most importantly, graphical specication specication of the model and performing of the activity cycle diagram (which will ...
Voir plus Voir moins

Vous aimerez aussi

A tutorial introduction to Seesim 5
Seesim version 5
What is Seesim 5 all about? Seesim 5, of course, upgrades Version 4. Version 4 has been used widely for teaching simulation for about 15 years. Although it has no peers in some respects, it is a DOS program whose user-interface is now very old fashioned. The author has had in mind a revolutionary set of enhancements which, for various reasons, there has not been time to implement. Furthermore, users of Seesim have requested enhancements. All this has meant that change was inevitable. Seesim 5 is the rst step in that change. The change will be made in two distinct phases. Seesim 5: • implements a Windows user-interface for specication of the model and performing simulation experiments; and • uses a 32-bit version of Seesim Version 4 to perform simulations. Seesim 6 will replace the Version 4 simulation engine with a newly coded version having enhanced functionality. This strategy means that the simulation engine: runs without the large contiguous memory requirement of Version 4; is essentially insulated from changes to the user-interface; and provides efcient, robust and reliable code. The downside, for users of large models in particular, is that pre-existing limitations on model size persist. Seesim 5 produces a test output le, which is read by the Version 4 simulation engine. This le layout is exactly as described in Appendix B of the Version 4 user manual. After the simulation experiment has been completed Seesim 5 reads the Version 4 text output le to display results. Thus Seesim 5 is insulated from the simulation engine by text les which the user can access, modify, print, etc. The payoff for using Sessim5 is that models can be developed more quickly and reliably because: • the arcane Version 4 Values and Attributes can now have meaningful names;
• typing mistakes are rarely critical with Seesim 5; and • Seesim 5 detects most other errors immediately, rather than at run-time.
How complete is this version? Almost every Version 4 feature can be specied in Seesim 5. The known exceptions are indirect addressing of attributes and some rarely used initial state condition specications. Despite all that, there are a number of bells, ropes and whistles which have not yet been implemented. When they are, they will make some things better than they currently are. In particular, printing is currently primitive. There is no page setup, and pagination has not been implemented. Furthermore, there is no Help. Most importantly, graphical specication of the activity cycle diagram (which will vastly simplify specifying model structure) has not been implemented. Another extension being implemented is the capability for terminating simulation experiments when predened system states occur – a pre-requisite for regeneration point techniques.
How robust is this version? No beta testing has been done with this version, so problems are certainly possible. There are two areas, which if errors occur, are more likely culprits than others. First is the generation of Version 4 le for input to the simulation engine. Because this generation is not trivial, users are advised to inspect the le for plausibility. (Seesim 5 will display it for you on demand.) Second is the behaviour of Seesim 5 when a run-time error occurs in the simulation engine. All being well, an error report should be returned to Seesim 5, which will display it when results are viewed. But remember the system is still under development. Therefore, please save your le frequently and apply plausibility criteria to what Seesim 5 does.
st 1 March 2000
What do you need to know in order to use Seesim 5? Like most user-interfaces, when you know how to use Seesim 5 it is easy to use! You will need to expend some effort acquiring an initial familiarity. Furthermore, since the functionality of Seesim 5 is almost exactly the same as that of Version 4, you need to know how to use Version 4. To get started, you need to: • read and understand the rst four chapters of theSeesim version 4 user manual – Volume 1. In particular, become familiar with the jargon surrounding Seesim and learn how to draw activity cycle diagrams; then • work through these sheets actually using Seesim 5 to become familiar with it.
What le types and folders are used? Seesim 5 stores model details in binary form in les of type.ssm. Data les for Version 4 are text les of type.dat. and results les are text les of type .lst. Seesim 5 works smoothly if you use a folder named C:\Seesim\DataFiles\ for .ssm and .dat les, and a folder named C:\Seesim\OutputFiles for .lst les.
The window layouts There are two panes side-by-side: The left-hand pane is the control area. By clicking in this area you control what is displayed in the right-hand pane. The right-hand pane displays details on demand such as data for a distribution, results of a simulation run or error reports.
A tour of the windows 1. Invoke Seesim. [You should see a display like that below.
This display represents an empty model. Notice that the left-hand pane contains information. You will recognise certain Seesim key words such asEntities,QueuesandActivities. These are headings under which information for these elements will be led.]
Errors A red cross preceding a word in the display signies an error. Because, for example, there are no entities specied in our current model, there are red crosses visible. To see the error reports, 1. Click onView Errorstowards the bottom of the left pane.
Printing You can print these errors and, in the same way you can print the contents of any pane. 1. Select something in the right-hand pane to signify this is the pane to be printed (e.g. by clicking on the top left-hand element in the pane). 2. For now, select from the menu barFileand then Print Previewto see what would be printed.
st 1 March 2000
Inserting simulation elements 1. Click on the wordEntitiesin the left-hand pane. The word will be highlighted and new headings will be displayed in the right-hand pane 2. Right-click on the same word and you will be offered the opportunity to insert a new entity 3. Click on the oating menu to open the dialogue box for inserting entities 4. Enter the entity nameMyEntityand selectSave this and close. [The new entity now exists and is displayed in both panes. Rather than enter a lot of data at this stage you can read a model that has already been dened.]
Reading the internally generated model. 1. Select from the menu barFileand then Generate internal model. [You should be able to see the names of all of the elements of the model in the left-hand pane. If you want more detail, click on the element name in the left-hand pane. This leads to the display of the details of all of the elements of the same class (e.g. all activities or all distributions).] 2. Click on an activity name (say,Repair) beneath that wordActivities. [The right-hand pane now contains detailed information concerning each activity. For example, you can see that the activityRepairinvolves one MachinefromAwait_repairand oneFitterfrom Idle_tters. At the completion of the activity the Machinemoves toDummyand theFitterreturns to Idle_tter. The display in the right-hand pane may have one or more of its elements truncated because a column-width is too narrow. You can adjust column widths by dragging a column boundary in the heading row.] 3. Try making the column headedEntitywider by dragging the vertical bar to the right ofEntityfurther to the right. [This kind of adjustment is often advisable before printing. You cannot amend the details in the right-hand pane directly. Rather, you need to invoke the appropriate dialogue box. Now you will make a change to the details for the DistributionProduction.]
4.Distribution Select the Productionand right-click 5. ChooseAmend distribution detailsfrom the oating menu 6. In the dialogue box, change the value of the Meanfrom 30 to 35 7. After you have inspected the dialogue box, chooseOKto exit. [In general, to amend any element, you select it and right-click to display a oating menu, from which you can invoke the dialogue box. Take some time to click on various elements in the left-hand pane and try to become familiar with what is in the corresponding right-hand panes.]
st 1 March 2000
To run a simulation using Version 4 les You can use Seesim5 to pass a Version 4 data le to the simulation engine. Before proceeding, decide on what data le you will use, what length of transient period and main run you require, and what le you want to use for results.
Specifying details of the experiment 1. Launch Seesim and click on the oating menu relating toExperimentsin the left-hand pane. This will invoke the dialogue box below.
2. Optionally enter descriptive information at Experiment name3. Use theBrowsebuttons to specify input and output les. [The remaining three boxes are used to specify: • a transient period (0 denotes no transient period); • a number of blocks (there must be at least 1); and • the duration of each block.] 4. Enter appropriate numbers in these three boxes 5. Click onOKwhen nished.
To perform the simulation run 1. ClickRunon the menu bar.
To inspect results 1. Click onView Resultsin the left-hand pane.
To print results While results are displayed: 1. Click in the top left-hand corner of the right-hand pane 2. Now selectFileand thenPrintfrom the menu bar. You can also preview before printing.
Saving the details of the experiment To save the experiment details in a le: 1. SelectFileand thenSavefrom the menu bar.
st 1 March 2000
To dene a simple model Before you start with Seesim it is absolutely essential for you to have drawn a complete activity cycle diagram for your model and to have chosen names for all elements . The simplest sequence to follow when entering data is: i. dene all Entity names, Activity names and Value names; ii. dene all Queue, Generate, Terminate and Attribute names; iii. dene all Distribution names; iv. specify any details required for all elements; v. specify state details (such as the quantities of permanent entities). You are going to enter model data to describe the single server queue represented by the activity cycle diagram below. The names to be dened are:
New customers
Await service
Leave system
Before you can conduct any experiments you must rst specify the initial system state. In this model, the only obligatory data is the quantity of Servers, namely 1. Start with an empty model in Seesim. 1. Launch Seesim 2. Select from the menu barFileand thenNew.
Dening Entity and Activity names You have already seen how to invoke an insert dialogue box by right-clicking on the element class name in the left-hand panel. An alternative is to work from the menu bar. 1. Select from the menu barInsertand thenNew Entity, Activity or Value. The dialogue box below appears.
ServersNow enter the entity and activity names as follows: Idle 2. Check thatEntityis selected in the dialogue box, server then enter the Entity nameCustomers• Entity names:Customers,Servers3. Select the buttonSave this and add more • Activity names:Service4. Enter the entity nameServers• Queue names:Await_service,Idle_server5. Select the buttonSave this and add more • Generate name:New_customers6. SelectActivity, enter the Activity nameService • Terminate name:Leave_system.7.Select the buttonSave this and close. Bearing in mind the Seesim defaults (e.g. [You may have made typing mistakes. You quantities of 1), the details to be specied are: can repeat appropriate parts of the above procedure • the GenerateNew_customersto insert more names. If you want to change anydestination is the QueueAwait_servicename you have entered, you can do this after • the ActivityServiceneeds oneCustomerfrom selectingAdd amend … detailsfrom the oating the QueueAwait_servicewhich passes to the menu that appears when you select and right-click TerminateLeave_systemon the name you want to change (in the left-handat the end of the Activity; panel). Furthermore, you can delete an unused • the ActivityServiceneeds oneServername by selectingfrom the Deletefrom the oating menu.] QueueIdle_serverwhich returns to that Queue Dening Generate, Queue and Terminate at the end of the Activity; and names. • the Generate duration (inter-arrival time) is exponentially distributed with a mean of 100 To dene Generate, Queue and Terminate names: time units1. Select from the menu barInsertand thenNew • the Activity duration (service time) isQueue, Generate, Terminate or Attribute. exponentially distributed with a mean of 80 time The dialogue box on page 6 appears. units. Note that the entity names you have just All of the above follows from the activity dened are displayed. Now enter the names as cycle diagram. follows: st 1 March 20005
2. Ensure thatQueueandCustomersare selected, then enter the Queue nameAwait_service 3. Select the buttonSave this and add more 4. Select the entityServers, then enter the Queue nameIdle_server 5. Select the buttonSave this and add more 6. SelectGenerateandCustomers, then enter the nameNew_customers 7. Select the buttonSave this and add more 8. SelectTerminateandCustomers, then enter the nameLeave_system 9. Select the buttonSave this and close.
Adding Generate details 1. Select and right-click onNew_customers2. From the oating menu forNew_customers, chooseAdd/amend Generate details 3. In the dialogue box that appears, click on the
arrow at the right-hand end of the third box on the top line (labelledDestination). [This drops down a list-box of possible destinations for newly generated Customers. The dialogue box should now look like that below.] 4. SelectAwait_servicefrom the list box. [Before dismissing the dialogue box, take a while to inspect it. Move down the dialogue box one group at a time. TheQuantitygroup allows you to specify an expression for the number of this entity to be generated. Like all Seesim expressions, this is specied in dialogue boxes (invoked by the New quantity expressionbutton) so that syntactic correctness is guaranteed. TheTime between successive generate eventsgroup normally (as in this case) species process generation from a distribution of the same name as the Generate. Alternatively, an expression can determine the time between successive generates. TheCodegroup allows lines of code to be specied (Seesim again ensures syntactic correctness) to, for example, modify values of values or attributes, or conditionally change the destination of generated entities.] 5. SelectOKto dismiss the dialogue box.
st 1 March 2000
Adding Activity details 1. Select and right-click onService2. From the oating menu forService, chooseAdd/ amend activity details. [In the dialogue box that appears (see below), nd theUse of individual entitiesgroup in the bottom half of the box. Note that the entity name Customersis visible, which allows you to specify details for that customer. 3. Click on theSourcebox (to the right of the entity name) and select the queueAwait_service 4. Select the TerminateLeave_systemfrom the Destinationbox. The next step is vital and easily missed. 5. Click on the button labeledSave this entity use. [If you don’t do this your changes will be ignored even though you click on theOKbutton. Note that a tick appears in the box to the left of Customers. This signies that details have been specied for this entity.]
6. Click on theEntitybox arrow, select the Entity Servers 7. Specify the QueueIdle_serveras bothSourceandDestination(see3and4above) 8. Click on the button labeledSave this entity use. [Again, before dismissing it, inspect the dialogue box. Much of the box is similar to that for Generates. Note, however, that theQuantityexpression andCodeapply to specic entity uses. Changes to thesemustbe saved with theSave this entity usebutton, or they will be lost on exit. TheBlock ifandStarve ifconditions are guaranteed by Seesim to be syntactically correct.] 9. Select theOKbutton to dismiss the dialogue box.
Dening distributions and adding details Begin with the distribution for the Generate New_customers.
st 1 March 2000
1. SelectDistributionsin the left-hand pane and right-click 2. Click on the oating menu 3. In the dialogue box, click on the arrow in the Distribution namebox. [This gives the box below. Note that Seesim
has provided a list of all Generate and Activity names that have not yet had distributions specied for them. If you want to specify a distribution having a name not in the list, you can type it directly into the edit box.] 4. Select the GenerateNew_customersand 5. ClickOK 6. In the left-pane, usingNew-customersunder the headingDistributions, invoke theAmend distribution detailsdialogue box (similar to steps1to3above ). [In the resultant dialogue box, the default is a uniform continuous distribution with a lower bound of 0 and an upper bound of 1.] 7. Change theDistribution typeby selecting Exponentialin the right-hand list box. [There is now only one parameter in the Parametersthat is the mean.]group, and 8. Enter 100 and click onOK
9. Repeat the above process (steps1to8) to specify that the distribution for the duration of theActivity Serviceis exponential with mean 80. 10.If you have done everything correctly, there should be no errors. If there are errors, x them.
Specifying the number ofServers. 1. Click on the oating menu forInitial system state2. In the left-hand list box, selectQUEUEto give the dialogue box below. [Note that, using this dialogue box, you can specify initial values for Queues, Values and
random number streams.] 3. Click onIdle_server 4. Enter theInteger value1 5. Click onSave this and close.
Specifying model information You can specify descriptive information concerning the model, in the dialogue box invoked from the Model(at the top of the left-hand pane) oating menu.
Concluding remarks You should now be able to dene simple models. You will need extra effort to: • perform a simulation experiment; • specify empirical distributions; • specify expressions; • specify conditions; or • specify code, including using attributes and variables. have not If already saved your model usingFile,Save, then do so now.
st 1 March 2000
Performing a simulation experiment The Seesim le you produced while working through the last section can now be used for simula-tion. 1. Launch Seesim 2. Read the model you last produced usingFilefrom the menu bar (names of recently used les are towards the bottom of theFilemenu).
Making a Version 4 le If there are no errors you can build a Version 4 le for the model. 1. ClickView V4 Filein the left-hand pane. [This displays the Version 4 le in the right-hand pane.] 2. If the le is incorrect, make appropriate changes to the data you have entered until the Version 4 le is correct 3. Right-clicking onView V4 Fileto display the oating menu 4. Click onWrite V4 File. An open le dialogue allows you to specify the le name and path 5. After choosing an output le name, clickOpento initiate the write. [You now have a Version 4 model le to pass to the simulation engine.]
To specify and conduct the simulation experiment See the previous sectionTo run a simulation using Version 4 les.
3.SelectNormalfrom theDistribution typelist box; 4.In theParametersgroup, set theMeanat 80 and theStandard deviationat 30. 5.Click onOK. Now make a Version 4 le (seeMaking a Version 4 le) and run a simulation experiment (seeTo run a simulation experiment using Version 4 les) having no transient period and 1 block of duration 100000 (long enough to ensure that a negativeServicedura-tion occurs). A message box is displayed when the error occurs. The results le also contains the error message in the form given in the Seesim version 4 user manual.
Specifying empirical distributions To be written.
Specifying expressions To be written.
Specifying conditions To be written.
Specifying code, including using attributes and variables To be written. Beware deletingIF,{and}. If done improperly, Seesim will crash. It is currently allowed because nochange line of codeis yet implemented.
What about errors occurring during the simulation experiment? Next you will modify your model so that it pro-duces an error in the simulation run by using, for an activity duration, a statistical distribution that generates negative values. Change the DistributionServiceso that it denes a normal distribution with mean 80 and standard deviation 30. Do this by following these steps: 1. Invoke the dialogue box for amending the DistributionService(see steps4to6ofDening distributions and adding details) 2. In theClass of Distributionlist box select Theoretical continuous, which displays, amongst others, the nameNormalin theDistribution typelist box st 1 March 2000
Un pour Un
Permettre à tous d'accéder à la lecture
Pour chaque accès à la bibliothèque, YouScribe donne un accès à une personne dans le besoin