Article View: comp.simulation
Article #167SIMULATION DIGEST V6 N4
From: Moderator: Paul Fishwick
Date: Mon, 31 Oct 1988 18:53
Date: Mon, 31 Oct 1988 18:53
387 lines
14208 bytes
14208 bytes
Volume: 6, Issue: 4, Mon Oct 31 13:53:28 EST 1988
+----------------+
| TODAY'S TOPICS |
+----------------+
(1) Looking for PD Discrete Event Routines
(2) Simulation Languages as Program Generators
(3) The SIMAN Module Processor (long message)
* Moderator: Paul Fishwick, Univ. of Florida
* Send topical mail to: simulation@uflorida.cis.ufl.edu
* Archives available via FTP to bikini.cis.ufl.edu, login as
'anonymous', use your last name as the password, change
directory to pub/simdigest.
-----------------------------------------------------------------------------
Date: Thu, 27 Oct 88 12:27:34 EDT
From: rob@xermes (Robert A. Schroeder)
To: philabs!uflorida.cis.ufl.edu!simulation@uunet.UU.NET
Subject: Wanted: Public Domain Discrete Event Simulation Routines in C
Cc: rob@uunet.UU.NET
I hope someone out there can help me. I'm looking for a public domain
set of discrete event simulation routines written in C - preferably
using double linked list data structures. I need routines that
perform functions similar to what is possible with the SLAM and SIMAN
(and probably just about any other general purpose simulation package)
list (file) manipulation subroutines. I don't need any fancy front
ends, just the guts.
If anyone has information about the availability of such a package,
(or has written them him/her self) please let me know. If there is
sufficient interest, I'd be happy to distribute the results of my query.
Thanks,
Rob Schroeder
Xerox - MESL
141 Webber Ave.
No. Tarrytown, NY 10591
(914) 631-4710
philabs!xermes!rob
------------------------------
From: rnews@sm.unisys.com
Date: 28 Oct 88 02:30:22 GMT
To: comp-simulation@rdcf.sm.unisys.com
Subject: Submission for comp-simulation
Responding-System: sdcsmb.sm.unisys.com
Path: sdcsmb!sm.unisys.com!aero!abbott
From: abbott@aero.ARPA (Russell J. Abbott)
Newsgroups: comp.simulation
Subject: Simulation languages as program generators
Date: 27 Oct 88 19:25:06 GMT
Reply-To: abbott@aero.UUCP (Russell J. Abbott)
Organization: The Aerospace Corporation, El Segundo, CA
I have been looking into the general field of systems that generate
executable programs. Included in this area are standard programming
languages and application generators. My interest is in the different
ways in which such generating systems abstract aspects of computations
and thereby provide their users leverage over them. For example,
Algol-like languages abstract certain control structures, variables,
types, etc. Application generators abstract the structures particular
to the application domain for which they are written.
Simulation languages also generate executable programs. I know little
about simulation languages, but presumably they provide access to
abstractions useful in building simulations. I would appreciate
references to simulation languages that provide interesting
abstractions. Since my knowledge of simulation languages is limited,
all replies will be appreciated.
Thanks in advance.
-- Russ Abbott
------------------------------
Date: Thu, 27 Oct 88 11:27:14 edt
From: kra@demon.siemens.com (Kenneth R Anderson)
To: fishwick@fish.cis.ufl.edu
Subject: A SIMAN Model Processor
Prof. Dr. Horst Tempelmeier, Technical University of Darmstadt
Hochschulstr. 1, D-6100 Darmstadt, Tel. 06151/162163, Fax 01651/165489
THE SIMAN MODULE PROCESSOR
PC-based automatic generation of
SIMAN Simulation Models
The SIMAN MODULE PROCESSOR (SMP) is a PC-based program that can be
used to generate SIMAN simulation model based on predefined modules.
The SMP inputs predefined, filed modules, interprets them in rela-
tion to interactively specified data (e.g. problem-specific parame-
ters) and produces a syntactically correct SIMAN simulation model.
After processing by the SMP, the two data files (*.MOD and *.EXP)
comprising the simulation model - if necessary - can be further
modified by the user with conventional editing methods.
The SMP relieves the user of all routine tasks capable of automation
which arise in the generation of a new simulation model. Where
modules are defined appropriately, it can be used for the generation
of fully parametrised SIMAN simulation models.
The user can himself develop any SIMAN modules and store them in a
module file (module library). When modules are defined, it is pos-
sible to explain each input required in detail, so that even an un-
practised user can operate the SMP and, following the input com-
mands, can quickly produce operable simulation models.
Using this concept, we have developed several libraries for the
generation of simulation models for Flexible manufacturing systems,
warehouses, material handling systems etc., that are currently being
used by german industrial SIMAN users. For example, the module
library for flexible manufacturing systems comprises modules for
load/unload stations, machining centers with and without machine
breakdowns and/or tool changes, tool magazines that can be linked to
any machining center, a central tool storage, a central pallet
storage. All these modules can be combined to simulate a great
variety of possible flexible manufacturing systems. Using this
module library, it takes about 10 minutes to develop a simulation
model of a flexible manufacturing system.
The modules consist of SIMAN statements that are enriched with SMP-
specific strings. A general rule is: everything written in upper
case letters will be transfered to the SIMAN simulation model
without any changes. Anything written in lower case letters will be
interpreted as to be exchanged interactively.
EXAMPLE APPLICATION OF THE SIMAN MODULE PROCESSOR
Let us illustrate the application of the SMP with a simple example,
in this case, an standalone machine with possible breakdowns. The
module library file reads as follows:
;; List of modules:
;; ---------------
;; 1. project control
;; 2. generate parts
;; 3. processing
;; 4. machine failures
; EXPERIMENTAL FRAME MODULE PROJECT-CONTR
;. Project Initialisations
PROJECT,title[%FILE.EXP%],analyst[ME],%DATE%;
DISCRETE,max-ent[150],%SUM.ATTR%,%SUM.QUEUES%,stat[10];
; S G: MAX-STATIONS=`-1,2`
;; CDDDDDDDDDDDDDDDDDDDDDDDDDDDY
;; @ reference to the second entry in the
last row
REPLICATE,nruns[1],tstart[0.],tend[1000.];
; MODEL MODULE GENPARTS
;. Generate workpieces
;;
;; Reservation of attribute numbers and parameter numbers
;; (this is generally not necessary)
;;
; RS: #A-PARTTYPE#=1
; RS: #A-WORKTIME#=2
; RS: #A-ARRIVTIME#=3
; RS: #P-PARTNUM#=1
;
CREATE,batch[1]:EX(#P-IAZEIT#,1):MARK(#A-ARRIVTIME#);
ASSIGN:A(#A-PARTTYPE#)=DP(#P-PARTNUM#,1);
ASSIGN:A(#A-WORKTIME#)=howlong[DP(#P-PROCTIME#,1)];
;; --------------------------------------------------------------
; EXPERIMENTAL FRAME GENPARTS
;
;.This is a comment that will be displayed on the PC-screen:
;.How many product types do you want to consider?
INITIALIZE,X(#X-ANZPRODUKTE#)=number-producttypes[2];
;
;.Parameters of the inter-arrival-time distribution;
;.Enter the mean value (an exponential distribution is used):
PARAMETERS:|#P-IAZEIT#,parameterset-definition[0.8;]
;
;.Enter the parameters of a discrete empirical distribution DP(IP,1):
PARAMETERS:|#P-PARTNUM#,parameterset-definition[0.3,1,1.,2;]
;
;.Distribution of processing times:
PARAMETERS:|#P-PROCTIME#,parameterset-definition[0.5,0.3,1.,1.1;]
;;---------------------------------------------------------------
; MODEL MODULE PROCESSING
; Processing of workpieces
;.This module may be used several times. In order to ensure
;.unequivocal labels,
;.enter a single letter or number, e.g. 1
; S L: K=identification[1]
START^K^ QUEUE,#Q-WORK^K^#;
SEIZE:MACHINE;
;.Enter definition of processing time.
;.The default is using the prespecified attribute:
DELAY:time[A(#A-WORKTIME#)];
RELEASE:MACHINE:NEXT(goon[ENDE^K^]);
;.If module has been chosen several times, enter
;."NEXT(STARTidentification od next module)":
ENDE^K^ TALLY:A(#A-PARTTYPE#),INT(#A-
ARRIVTIME#):jumpto[DISPOSE];
;;---------------------------------------------------------------
; EXPERIMENTAL FRAME PROCESSING
;;
RESOURCES:#R-MACH#,MACHINE,capacity[1]
;.Specify at least one TALLY-Variable, because in the model there
;.is a TALLY-Block. The TALLY-Variable will be numbered
;.automatically:
TALLIES:|"COUNT",name[FLOW TIME 1]
TALLIES:|"COUNT",name[FLOW TIME 2]
;.Specify DSTATS-Variables: if you don't want to use DSTATS,
;.delete the whole line with key F9:
DSTATS:|"COUNT",variable[NR(#R-MACH#)],name[Utilization;]
; MODEL MODULE FAILURE
;. Failures
CREATE:2,1;
KREIS QUEUE,#Q-FAIL#;
PREEMPT:MACHINE;
;
;.Repair time?
DELAY:repairtime[EX(#P-REPAIR#,2)];
RELEASE:MACHINE;
;
;.Time between failures?
DELAY:worktime[EX(#P-WORK#,2)]:NEXT(KREIS);
; EXPERIMENTAL FRAME FAILURE
;
RESOURCES:#R-MACH#,MACHINE,capacity[1]
;.Mean time to failure:
PARAMETERS:|#P-WORK#,parameterset-definition[5;]
;.Mean time to repair:
PARAMETERS:|#P-REPAIR#,parameterset-definition[1;]
Legend:
;. - comments that are displayed on the PC-screen
; - normal SIMAN-comments
;; - SMP comments
; S G: - store as a global Variable
; RS: - reservation: assign fixed number to a a
symbolic name
; [] - default value; will be taken if nor overwritten
#NNN# - sybolic name (will be replaced by a number)
lower case strings - to be filled in interactively
The above module library has been saved as a normal ASCII-file.
The SMP will read this library and put the modul names into in menu
screen, from which the user has to choose some modules.
S I M A N M O D U L E P R O C E S S O R
Copyright Fachgebiet Fertigungs- und Materialwirtschaft
Fachbereich 1, Technische Hochschule Darmstadt
Hochschulstrasse 1, D-6100 Darmstadt
1 PROJECT-CONTR Project Initialisations
2 GENPARTS Generate workpieces
3 PROCESSING Processing of workpieces
4 FAILURE Failures
In the next step each line of the modules chosen will be scanned by
the SMP for lower case letters. These strings are displayed on the
screen and the user is asked to fill in the actual values.
; EXPERIMENTAL FRAME MODULE PROJECT-CONTR
PROJECT,title[%FILE.EXP%],analyst[ME],%DATE%;
Enter data for: title [%FILE.EXP%] Example
Enter data for: analyst [ME] Tempelmeier
DISCRETE,max-ent[150],%SUM.ATTR%,%SUM.QUEUES%,stat[10];
Enter data for: max-entities [150] 300
Enter data for: number-stations [10] 1
REPLICATE,nruns[1],tstart[0.],tend[1000.]; RETURN
Enter data for: nruns [1] RETURN
During the session the several function keys can be used.
After all modules have been processed, pressing function key F8 will
generate the two SIMAN files (*.MOD and *.EXP). In the above
example, they look as follows:
BEGIN;
;************************************************
;* MANUFAC.MOD *
;************************************************
; MODEL MODULE GENPARTS
; RS: #A-PARTTYPE#=1
; RS: #A-WORKTIME#=2
; RS: #A-ARRIVTIME#=3
; RS: #P-PARTNUM#=1
;
CREATE,1:EX(2,1):MARK(3);
ASSIGN:A(1)=DP(1,1);
ASSIGN:A(2)=DP(3,1);
; MODEL MODULE PROCESSING
; Processing of workpieces
; S L: K=A
STARTA QUEUE,1;
SEIZE:MACHINE;
DELAY:A(2);
RELEASE:MACHINE:NEXT(ENDEA);
ENDEA TALLY:A(1),INT(3):DISPOSE;
END;
Cross-Reference:
A 1 A-PARTTYPE
A 2 A-WORKTIME
A 3 A-ARRIVTIME
P 1 P-PARTNUM
P 2 P-IAZEIT
P 3 P-PROCTIME
Q 1 Q-WORKA
R 1 R-MACH
X 1 X-ANZPRODUKTE
BEGIN;
;************************************************
;* MANUFAC.EXP *
;************************************************
; Experimental Frame of all Modules
;====================================
PROJECT,EXAMPLE,TEMPELMEIER,10/06/88;
DISCRETE,300,3,1,1;
DSTATS:1,NR(1),UTILIZATION;
INITIALIZE,X(1)=2;
PARAMETERS:1,0.3,1,1.,2:
2,0.8:
3,0.5,0.3,1.,1.1;
REPLICATE,1,0.,1000.;
RESOURCES:1,MACHINE,1;
TALLIES:1,FLOW TIME 1:
2,FLOW TIME 2;
END;
The above example is very simple; but it hopefully shows the
strength of the concept inherent in the SMP.
Price: 1200 US-$
Demonstration disk available (5 US-$)
For further information call or write to:
Prof. Dr. Horst Tempelmeier
Fachgebiet Fertigungs- und Materialwirtschaft
Institut fr Betriebswirtschaftslehre
Technische Hochschule Darmstadt
Hochschulstr. 1
D-6100 Darmstadt, West Germany
Tel. 06151/162163
Fax 06151/165489
------------------------------
+--------------------------+
| END OF SIMULATION DIGEST |
+--------------------------+
Technical Details
Message-ID:
<18901@uflorida.cis.ufl.EDU>Path:
arc1-ca.pugleaf.net!utzoo!yunexus!geac!syntron!jtsv16!uunet!lll-winken!lll-tis!ames!haven!uflorida!simulationShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!yunexus!geac!syntron!jtsv16!uunet!lll-winken!lll-tis!ames!haven!uflorida!simulation From: simulation@uflorida.cis.ufl.edu (Moderator: Paul Fishwick) Newsgroups: comp.simulation Subject: SIMULATION DIGEST V6 N4 Message-ID: <18901@uflorida.cis.ufl.EDU> Date: 31 Oct 88 18:53:43 GMT Article-I.D.: uflorida.18901 Sender: fishwick@uflorida.cis.ufl.EDU Reply-To: simulation@uflorida.cis.ufl.edu Lines: 386 Approved: fishwick@uflorida.cis.ufl.edu