[comp.simulation] SIMULATION DIGEST V19 N8

simulation@uflorida.cis.ufl.edu (Moderator: Paul Fishwick) (01/26/91)

Volume: 19, Issue: 8, Fri Jan 25 11:01:25 EST 1991

+----------------+
| TODAY'S TOPICS |
+----------------+

(1) CALL: Special Issue of IEEE Software
(2) Graduate Studies in CAD/Simulation
(3) CALL: Mathematical and Computer Modelling
(4) CALL: AI and Simulation of Behavior
(5) Computer Animation Symposium
(6) Simulation in Common Lisp
(7) Modelling Pesticide Fire Dispersion

* Moderator: Paul Fishwick, Univ. of Florida
* Send topical mail to: simulation@bikini.cis.ufl.edu OR
  post to comp.simulation via USENET
* Archives available via FTP to bikini.cis.ufl.edu (128.227.224.1).
  Login as 'ftp', use your last name as the password, change
  directory to pub/simdigest. Do 'type binary' before any file xfers.
* Simulation Tools available by doing above and changing the
  directory to pub/simdigest/tools. 



-----------------------------------------------------------------------------

Date: Wed, 16 Jan 91 14:03:12 PST
From: Kathleen Nichols <nichols@cirocco.apple.com>
To: simulation@bikini.cis.ufl.edu
Subject: request for post


Could you repost a Call for papers for IEEE Software?
The deadline is approaching and I'd like to get the information
out again.

Thanks.


			    Call for Papers
		 IEEE Software Magazine Theme Issue on
	 	   Software for Performance Analysis
 
 
Performance analysis is rapidly becoming a hot topic in software engineering.
Performance analysis is meant to answer the questions beyond "Is it correct?".
The focus is on whether the system under study is "fast enough" or "reliable
enough" and "what is the effect of making changes in the system?".   These
questions are important in several key emerging areas:
 
 * Graphics workstations have made it possible to create sophisticated
   software systems with visually-oriented interfaces,  but response time
   is a critical performance attribute.
 * Real-time embedded systems must meet requirements of timing and reliability.
 * High-speed networks are being designed to meet the demands of distributed
   computing and of connecting ultra-fast CPUs.  Whether such networks can
   be made fast enough at a reasonable cost must be addressed before
   significant resources are devoted to them.
 * Parallel computing is highly performance-oriented: significant speedups or
   significantly larger problems must be acheived to make the additional
   software, hardware, and programming overhead cost effective.
  
These are four widely disparate areas, but all require performance analysis.
This need has recently been recognized by major corporations like
Hewlett-Packard, Intel, and Apple Computer, who have all started major
projects involving performance analysis.
 
In the past, performance has either been ignored or has been carried out by
running discrete and repetitious experiments resulting in lengthy dumps of
metrics which were analyzed by hand.  Today's complex systems require more
than simple dumps of metrics.  Systems are studied through instrumenting,
modeling, and simulating software and hardware.  The overwhelming
amount of data produced by such systems and the numerous options involved
require that performance information be given to the user in a digested form,
possibly with some analysis done or important data highlighted.  These
methodologies and techniques for the study of software performance 
need to be shared.  This issue of IEEE Software will provide a forum for
recent developments in software methods and techniques that serve to
expedite performance analysis.
 
This is a call for papers on performance analysis tools and reports of
particular software studies presented as a systematic approach to measurement
and analysis of software performance.  Papers describing both case studies of
general importance and tools of proven effectiveness are solicited.  In
particular, innovative methodologies and novel presentations of performance
data that have a potential for wide application are sought.
 
 Submit 6 copies of manuscript by February 1, 1991 to:
 
 	Kathleen M. Nichols	or	Paul Oman
 	Apple Computer, Inc.		Computer Science Dept.
 	20525 Mariani Avenue		College of Engineering
 	M/S 76-3K			University of Idaho
 	Cupertino, CA 95014		Moscow, ID 83843
 	(408) 974-1136			(208) 885-6589
 	nichols@apple.com		oman@ted.cs.uidaho.edu
 
 For further information, contact Kathleen or Paul at the above addresses.




------------------------------

Newsgroups: can.jobs,comp.simulation,ott.general
Path: news
From: rjg@guinan.doe.carleton.ca (Richard Griffith)
Subject: Graduate Studies in CAD
Followup-To: comp.simulation
Sender: news@ccs.carleton.ca (news)
Organization: Carleton University, Ottawa, Canada
Distribution: can
Date: Thu, 17 Jan 1991 17:34:16 GMT
Apparently-To: simulation@uflorida.cis.ufl.edu

Graduate Studies in CAD

Applications are invited for graduate studies at the Ottawa-Carleton
Institute for Electrical Engineering in advanced CAD techniques for
VLSI design. These vacancies are made possible through the recent
establishment of two Industrial Research Chairs funded by Bell-Northern
Research and the Natural Sciences and Engineering Research Council of
Canada.

Qualified candidates will carry out research in statisical and large-
scale optimization of high-speed interconnects with physical/geometrical
modelling.  The concepts of simulation, optimization, decomposition,
modelling and statistical design will be combined into a coherent CAD
approach. Background in circuit theory and computational methods is
desirable. Skill in either Fortran or C computer languages is an asset.

Interested persons should reply to:
Email: qjz@doe.carleton.ca

Smail:  Prof. Q.J.Zang or Prof. M.S.Nakhla
	Department of Electronics
	Carleton University
        Ottawa, Ontario
	K1S 5B6

 --
Richard Griffith. 	Internet: rjg@doe.carleton.ca
Ultimate, its more than a game, its a way of life.



------------------------------

Date: Thu, 17 Jan 91 13:57 PST
From: Ethan A. Scarl <eas@atc.boeing.com>
Subject: 8th ICMCM
To: simulation-request@bikini.cis.ufl.edu
Cc: ethan@atc.boeing.com, PhamDT%cardiff.ac.uk@NSS.Cs.Ucl.AC.UK

Date: Thu, 17 Jan 91 05:27 PST
From: PhamDT%CARDIFF.AC.UK@pucc.PRINCETON.EDU
Subject:    8th ICMCM
To: <@UK.AC.EARN-RELAY:ethan@ATC.BOEING.COM>


The 8th International Conference on Mathematical and Computer Modelling
will take place 1-4 April 1991, at 

The University of Maryland College Park
College Park, Maryland  USA

The Call for Abstracts requests 200-word abstracts of papers
on all aspects of mathematical and computer modelling and simulation.

Abstracts should be sent to the Conference Chairman:

Prof Xavier J R Avula 
P.O. Box 1488
Rolla, MO  65401, USA
Tel (314) 341-4585.



------------------------------

Via: dcs.leeds.ac.uk (csvax1.ARPA); Thu, 17 Jan 91 22:29:07 GMT
          Thu, 17 Jan 91 10:48:27 GMT
From: B M Smith <bms@dcs.leeds.ac.uk>
Date: Thu, 17 Jan 91 10:49:37 GMT
          Thu, 17 Jan 91 10:49:37 GMT
To: simulation@ufl.edu
Subject: Item for Distribution


                  PRELIMINARY CALL FOR PARTICIPATION
                  ==================================

                                AISB91
                         University of Leeds
                           16-19 April 1991

Interested to know what is happening at the forefront  of  current  AI
research?

Tired of going to AI conferences where you hear nothing but talk about
applications?

Bored at big AI conferences where there are so many parallel  sessions
that you don't know where to go?

Saturated with small workshops that focus only on one narrow topic  in
AI?


     ==> the 1991 AISB conference may be just the thing for you !

AISB91 is organized  by  the  Society  for  the  Study  of  Artificial
Intelligence  and  Simulation  of Behaviour. It is not only the oldest
regular  conference  in  Europe  on  AI  -  which  spawned  the   ECAI
conferences  in  1982  -  but  it  is  also  the conference that has a
tradition of focusing on research as opposed to applications.

The 1991 edition of the conference is no different  in  this  respect.
The conference has a single session and covers the full spectrum of AI
work,  from  robotics  to  knowledge  systems.  It  is  designed   for
researchers active in AI who want to follow the complete field. Papers
were  selected  that  are   representative   for   ongoing   research,
particularly  for  research  topics  that promise new exciting avenues
into a deeper understanding of intelligence.

There will be a tutorial programme on Tuesday 16  April,  followed  by
the technical programme from Wednesday 17 to Friday 19 April.

The conference will be held at Bodington Hall, University of Leeds,  a
large  student  residence  and  conference centre. Bodington Hall is 4
miles from the centre of Leeds and set in 14 acres of private grounds.
Leeds/Bradford  airport  is  6  miles away, with frequent flights from
London  Heathrow,  Amsterdam  and  Paris.  Leeds  itself   is   easily
accessible  by  rail (2 and a half hours from London) and the motorway
network.  The Yorkshire Dales National  Park  is  close  by,  and  the
historic city of York is only 30 minutes away by rail.

TECHNICAL PROGRAMME  Wednesday 17 - Friday 19 April 1991
========================================================
The technical programme sessions are organized around  problem  areas,
not  around approaches. This means sessions show how different schools
of AI - knowledge-based approaches, logic based approaches, and neural
networks - address the fundamental problems of AI.

The technical programme lasts 2 and  a  half  days.  Each  day  has  a
morning  session  focusing  on  a particular area of AI. The first day
this area is distributed AI, the second day new  modes  of  reasoning,
and  the third day theorem proving and machine learning. The afternoon
is devoted to research topics which are at the  forefront  of  current
research.  On the first afternoon this topic is emergent functionality
and autonomous agents.  It  presents  the  new  stream  of  ideas  for
building  autonomous  agents  featuring  concepts  like  situatedness,
physical symbol grounding, reactive systems,  and  emergence.  On  the
second  day  the  topic is knowledge level expert systems research. It
reflects the paradigm shift currently experienced in  knowledge  based
systems  away  from  the symbol level and towards the knowledge level,
both for design and knowledge acquisition. Each session  has  first  a
series  of accepted papers, then two papers which treat the main theme
from a principled point of view, and finally a panel.

In addition the conference features three exciting  invited  speakers:
Andy  Clark  who talks about the philosophical foundations of AI, Rolf
Pfeifer who reflects on AI and emotion, and Tony Cohn who looks at the
formal  modeling  of  common  sense.  The  conference is closed by the
Programme  Chairman,  Luc  Steels,  who  speculates  on  the  role  of
consciousness in Artificial Intelligence.

Here is a more detailed description of the various  sessions  and  the
papers contained in them:

Distributed Intelligent Agents
==============================

Research in distributed AI  is  concerned  with  the  problem  of  how
multiple agents and societies of agents can be organized to co-operate
and collectively solve a problem. The first paper by Chakravarty (MIT)
focuses  on  the problem of evolving agents in the context of Minsky's
society of mind theory. It addresses the question how new  agents  can
be  formed  by  transforming  existing ones and illustrates the theory
with an example from game playing. Smieja (GMD,  Germany)  focuses  on
the  problem of organizing networks of agents which consist internally
of neural networks. Smieja builds upon the seminal work  of  Selfridge
in  the  late  fifties  on the Pandemonium system. Bond (University of
California) addresses the problem of regulating  co-operation  between
agents.  He  seeks  inspiration  in sociological theory and proposes a
framework based on negotiation. Finally Mamede and Martins  (Technical
University   of   Lisbon)  address  the  problem  of  resource-bounded
reasoning within the context of logical inference.

Situatedness and emergence in autonomous agents
===============================================

Research on robots and autonomous agents used to be  focused  strongly
on  low  level mechanisms. As such there were few connections with the
core problems of AI. Recently, there has  been  a  shift  of  emphasis
towards the construction of complete agents. This has lead to a review
of some traditional concepts, such as the  hierarchical  decomposition
of  an agent into a perception module, a decision module and an action
module and it has returned robotics research to the front  of  the  AI
stage.  This session testifies to the renewed interest in the area.

It starts with a paper by Bersini (Free University of Brussels)  which
is strongly within the new perspective of emphasizing situatedness and
non-symbolic relations between perception and action. It discusses the
trade-offs  between  reactive  systems and goal-oriented systems. Seel
(STC Technology, Harlow, UK) provides some of the  formal  foundations
for  understanding  and building reactive systems. Jackson and Sharkey
(University of Exeter) address the problem of  symbol  grounding:  how
signals can be related to concepts. They use a connectionist mechanism
to relate spatial descriptions with  results  from  perception.  Cliff
(University  of  Sussex)  discusses  an  experiment  in  computational
neuroethology.

The next paper is from the Edinburgh Really Useful Robot project which
has  built up a strong tradition in building autonomous mobile robots.
The paper will be  given  by  Hallam  (University  of  Edinburgh)  and
discusses an experiment in real-time control using toy cars. The final
paper is by Kaelbling (Teleos Research,  Palo  Alto,  California)  who
elaborates  her  proposals  for  principled  programming of autonomous
agents based on logical specifications.

The panel which ends the session tries to  put  the  current  work  on
autonomous  agents  into  the  broader  perspective  of  AI. The panel
includes  Smithers  (University  of  Edinburgh),   Kaelbling,   Connah
(Philips Research, UK), and Agre (University of Sussex).

Following this session, on Wednesday evening,  the  conference  dinner
will  be  held  at  the  National  Museum  of  Photography,  film  and
Television at Bradford. The evening will include a special showing  in
the IMAX auditorium, which has the largest cinema screen in Britain.

New modes of reasoning
======================

Reasoning remains one of the core topics of AI. This session  explores
some  of  the  current  work to find new forms of reasoning. The first
paper by Hendler and Dickens (University of  Maryland)  looks  at  the
integration  of  neural  networks  and symbolic AI in the context of a
concrete example involving an underwater robot.  Euzenat  and  Maesano
(CEDIAG/Bull, Louveciennes, France) address the problem of forgetting.
Pfahringer (University  of  Vienna)  builds  further  on  research  in
constraint   propagation  in  qualitative  modelling.  He  proposes  a
mechanism to improve efficiency through domain variables. Ghassem-Sani
and  Steel  (University  of  Essex)  extend the arsenal of methods for
non-recursive  planning  by  introducing   a   method   derived   from
mathematical induction.

The knowledge level perspective
===============================

Knowledge systems (also known as  expert  systems  or  knowledge-based
systems)  continue  to  be the most successful area of AI application.
The conference does not focus  on  applications  but  on  foundational
principles  for building knowledge systems. Recently there has been an
important shift of emphasis from symbol  level  considerations  (which
focus  on the formalism in which a system is implemented) to knowledge
level considerations. The session highlights this shift in emphasis.

The first paper by Pierret-Golbreich  and  Delouis  (Universite  Paris
Sud) is related to work on the generic task architectures. It proposes
a framework including support tools for  performing  analysis  of  the
task  structure  of  the  knowledge  system.  Reichgelt  and  Shadbolt
(University of Nottingham) apply the knowledge  level  perspective  to
the problem of knowledge acquisition. Wetter and Schmidt (IBM Germany)
focus on the formalization of the KADS interpretation models which  is
one  of the major frameworks for doing knowledge level design. Finally
Lackinger and Haselbock (University of Vienna) focus on domain  models
in  knowledge  systems, particularly qualitative models for simulation
and control of dynamic systems.

Then there are two papers which directly address foundational  issues.
The  first  one  by  Van de Velde (VUB AI Lab, Brussels) clarifies the
(difficult) concepts involved in knowledge level discussions of expert
systems,   particularly   the  principle  of  rationality.  Schreiber,
Akkermans and Wielinga (University of  Amsterdam)  critically  examine
the suitability of the knowledge level for expert system design.

The  panel  involves  Leitch  (Heriot  Watt  University,   Edinburgh),
Wielinga,  Van  de  Velde,  Sticklen  (Michigan State University), and
Pfeifer (University of Zurich).

Theorem proving and Machine learning
===============     ================

The final set of papers focuses on recent work in theorem proving  and
in  machine  learning.  The  first  paper by Giunchiglia (IRST Trento,
Italy) and Walsh (University of Edinburgh) discusses  how  abstraction
can  be  used  in  theorem proving and presents solid evidence to show
that it  is  useful.  Steel  (University  of  Essex)  proposes  a  new
inference scheme for modal logic.

Then there are two papers which  represent  current  work  on  machine
learning.  The  first  one  by  Churchill  and  Young  (University  of
Cambridge)  reports  on  an  experiment  using  SOAR  concerned   with
modelling  representations  of  device  knowledge. The second paper by
Elliott and Scott (University of Essex)  compares  instance-based  and
generalization-based learning procedures.

TUTORIAL PROGRAMME - Tuesday 16 April 1991
==========================================

Six full-day tutorials will be offered on 16 April (subject to sufficient
registrations for each.)

Tutorial 1  Knowledge Base Coherence Checking
 ----------
Professor Jean-Pierre LAURENT
University of Savoie
FRANCE

Like conventional software, AI Systems  also  need  validation  tools.
Some  of  these  tools  must  be  specific,  especially for validating
Knowledge-Based Systems, and in particular for checking the  coherence
of  a  Knowledge  Base  (KB).  In the introduction to this tutorial we
will  clarify  the  distinctions  to  be  made   between   Validation,
Verification, Static Analysis and Testing.

We will present methods  which  try  to  check  exhaustively  for  the
coherence  of  a  knowledge  Base.  Then  we  will present a pragmatic
approach in which, instead of trying to assert the global coherence of
a  KB,  it  is  proposed  to  check  heuristically whether it contains
incoherences. This  approach  is  illustrated  by  the  SACCO  System,
dealing  with  KBs  which contain classes and objects, and furthermore
rules with variables.

Tutorial 2  Advanced Constraint Techniques
 ----------
Dr. Hans Werner Guesgen and Dr. Joachim Hertzberg
German National Centre for Computer Science (GMD)
Sankt Augustin,
GERMANY

This tutorial will present a coherent  overview  of  the  more  recent
concepts  and  approaches  to  constraint  reasoning.  It presents the
concept of dynamic constraints  as  a  formalism  subsuming  classical
constraint   satisfaction,  constraint  manipulation  and  relaxation,
bearing a relationship to reflective systems; moreover,  the  tutorial
presents   approaches   to   parallel  implementations  of  constraint
satisfaction in general and dynamic constraints in particular.

Tutorial 3  Functional Representation and Modeling
 ----------
Prof. Jon Sticklen and Dr. Dean Allemang*
Michigan State University
USA

* Universitaet Zurich, SWITZERLAND

A growing body of AI research centres on using the known functions  of
a device as indices to causal understanding of how the device "works".
The results of functional representation and modeling  have  typically
used  this  organization  of causal understanding to produce tractable
solutions to inherently complex modelling problems.

In this tutorial, the fundamentals of  functional  representation  and
reasoning  will  be explained. Liberal use of examples throughout will
illustrate the representational  concepts  underlying  the  functional
approach.  Contacts  with other model based reasoning (MBR) techniques
will be made whenever appropriate.

Sufficient background will be covered to make this suitable  for  both
those  unacquainted  with  the  MBR  field,  and  for more experienced
individuals who  may  be  working  now  in  MBR  research.  A  general
familiarity with AI is assumed.

Participants should send in with their registration  materials  a  one
page  description  of  a  modeling  problem  which  they face in their
domain.

Tutorial 4   Intelligent Pattern Recognition and Applications
 ----------

Prof. Patrick  Wang  M.I.T.  Artificial  Intelligence  Laboratory  and
Northeastern University, Boston USA

The core of pattern recognition, including "learning  techniques"  and
"inference"  plays  an important and central role in AI.  On the other
hand, the methods in AI such  as  knowledge  representation,  semantic
networks,  and  heuristic  searching algorithms can also be applied to
improve the pattern representation and  matching  techniques  in  many
pattern recognition problems - leading to "smart" pattern recognition.
Moreover, the recognition  and  understanding  of  sensory  data  like
speech  or  images,  which  are major concerns in pattern recognition,
have always been considered as important subfields of AI.

This  tutorial  includes  overviews   of   pattern   recognition   and
articifical  intelligence;  including recent developments at MIT.  The
focus of the tutorial will be on the  overlap  and  interplay  between
these fields.

Tutorial 5 SILICON SOULS - Philosophical foundations of computing and AI
 ----------
Prof. Aaron Sloman
University of Birmingham

This will not be a technical tutorial. Rather the tutor will introduce
a   collection   of   philosophical  questions  about  the  nature  of
computation, the  aims  of  AI,  connectionist  and  non-connectionist
approaches  to  AI, the relevance of computation to the study of mind,
varieties of mechanism, consciousness, and the nature of emotions  and
other  affective  states.  Considerable  time  will  be  provided  for
discussion by participants.

Prof. Sloman has provided a list of pertinent questions, these will be
sent to participants upon registration.

Tutorial 6 Knowledge Acquisition
 --------
Dr. Nigel Shadbolt
Nottingham University

Practical methods for acquiring knowledge from  experts.  The  methods
described  have  been  shown  to  be  effective through the pioneering
research at Nottingham which compared common and less  common  methods
for eliciting knowledge from experts.

This tutorial is an  updated  version  of  the  knowledge  acquisition
tutorial given at AISB'89 which was well-attended and enthusiastically
received.

========================================================================

For further information on the tutorials, mail tutorials@hplb.hpl.hp.com or
tutorials@hplb.lb.hp.co.uk or tutorials%hplb.uucp@ukc.ac.uk

For a conference programme and registration form, or general information
about the conference, mail aisb91@ai.leeds.ac.uk or write to:

Barbara Smith
AISB91 Local Organizer
School of Computer Studies
University of Leeds
Leeds LS2 9JT
U.K.



------------------------------

From: <hubinf!wega@bikini.cis.ufl.edu>
Date: Mon, 21 Jan 91 20:50:32 GMT
Apparently-To: comp-simulation@unido.informatik.uni-dortmund.de

To: comp-simulation
Path: wegaop!hergo
From: hergo@wegaop.UUCP (Hergo Pape)
Newsgroups: eunet.misc,rec.arts.animation,comp.simulation
Subject: Symposium Computer Animation
Keywords: Computer Animation
Date: 21 Jan 91 18:58:43 GMT
Reply-To: nane@tumif.UUCP (Christiane Kloeditz)
Organization: TU Magdeburg


On february the 6th and 7th of 1991 at the Technical University
of Magdeburg the 3th Symposium "Computer Animation" will take
place.
The main topics of the talks are:

	1. Basics of Computer Animation
	2. Computer Animation and Simulation
	3. Computer Animation and Education
	4. omputer Animation and Presentation of Products

If you are interested in talking part in the symposium I would 
be very pleased to get a notice and send you a program.

				C. Kloeditz

+----------------------------------------------------------------------------+
! TU Magdeburg       Christiane Kloeditz   Institut fuer Simulation & Grafik !
! D-O-3010  PSF 124  Tel (+37 91) 592 868  ..!unido!hubinf!mesma!tumif!nane  !
+----------------------------------------------------------------------------+  


------------------------------

Date: Tue, 22 Jan 91 09:19:10 cst
From: george@huntsai.boeing.com (George Williams)
To: simulation@bikini.cis.ufl.edu
Subject: Re: Simulation in Common Lisp
Newsgroups: comp.simulation
References: <26346@uflorida.cis.ufl.EDU>

In comp.simulation you write:

>I'm interested in efforts undertaken in simulation based on Common
>Lisp / CLOS. Especially discrete event simulations are of concern
>(e.g., Zeigler's DEVS).

>I'm not looking for a commercial system; any hack or any reference
>to a hack will do (a public domain hack that is).

>I've posted a request like this before to comp.lang.lisp. As a result
>I got a lot of email of people sharing my interest but no one could
>give me helpfull hint.

>Is this really possible; is there no such system? Why could that be?
>Is Common Lisp inherently bad for simulation? Is CL too slow? Are
>other Lisp dialects more desireable (e.g., Scheme)? Why?..

>  Thanks,  Alex

Alex,

As I mentioned to you in my reply to your posting on comp.lang.lisp, I
had some code in lisp to do some discrete event simulation work, and
though it was on tape, I'd pull it out if you had no other responses.
Well, I needed to load those files for another reason yesterday, so
I'm sending them on to you now.

This code is not a complete simulation, but it provides the basic
event manager which the rest of the simulation was built upon.  It was
written on a Symbolics under Genera 7.0 using Flavors, but it's small
enough to convert to CLOS with minimal difficulty.  The only
documentation is the code and the few comments contained therein, but
if you need help putting them in context, just give me a holler.

George Williams
Boeing Computer Services   Internet: george@hsvaic.boeing.com  [preferred]
POBox 240002, M/S JY-58    UUCP: ...!uunet!uw-beaver!bcsaic!hsvaic!george
Huntsville AL 35824-6402   Phone: 205+464-4968 FAX: 205+464-4930 BTN: 464-4968
 ----8< snip >8--------8< snip >8--------8< snip >8--------8< snip >8----
;;; -*- Mode: Lisp; Syntax: Common-lisp; Package: USER -*-

;;; GLOBALS.LISP -- simulation tools global definitions

(defvar *active-simulation* nil		"the currently active simulation object")
(defvar *event-queue* nil		"pointer to the head of the event queue, managed by the event manager")
(defvar *sim-time* -1			"current simulated time for the active simulation")
 ----8< snip >8--------8< snip >8--------8< snip >8--------8< snip >8----
;;; -*- Mode: Lisp; Syntax: Common-lisp; Package: USER -*-

;;; OBJECTS.LISP -- simulation tools software object definitions

(defflavor simulation
	(
	 (current-time 0.0)
	 (event-queue (make-instance 'event-queue))
	 previous-sim-time
	 previous-active-simulation
	 )
	()
  :gettable-instance-variables
  :settable-instance-variables
  :initable-instance-variables
  (:required-methods				;the protocol
   activate
   deactivate
   )
  )

(defmethod (activate simulation) ()
  (setq previous-active-simulation *active-simulation*)
  (setq *active-simulation* self)
  (setq previous-sim-time *sim-time*)
  (setq *sim-time* current-time))

(defmethod (deactivate simulation) ()
  (setq *active-simulation* previous-active-simulation)
  (setq current-time *sim-time*)
  (setq *sim-time* previous-sim-time))



(compile-flavor-methods
  simulation)
 ----8< snip >8--------8< snip >8--------8< snip >8--------8< snip >8----
;;; -*- Mode: Lisp; Syntax: Common-lisp; Package: USER -*-

;;; EVENT-MGR.LISP -- simulation event manager

(defstruct (event-queue-entry
	     (:conc-name eqe-))
  time
  data
  next
  prev) 

(defflavor event-queue
	(
	 (head (make-event-queue-entry :time nil
				       :data nil
				       :next nil
				       :prev nil))
	 )
	()
  (:required-methods				; the protocol
   add-eqe					; entry time
   next-eqe					; --> entry
   )
  )

(defmethod (make-instance event-queue) (&rest ignore)
  (setf (eqe-next head) head)
  (setf (eqe-prev head) head))

(defmethod (add-eqe event-queue) (data time &optional new-entry)
  (unless new-entry				;don't use lambda-list init'g in case it uses a presence test instead
    (setq new-entry (make-event-queue-entry)))			;... of a test for nil
  (setf (eqe-time new-entry) time)		;force update when reusing old eqe's
  (setf (eqe-data new-entry) data)
  (do ((cur-entry (eqe-next head) (eqe-next cur-entry)))
      ((eq cur-entry head)
       (insert-before-eqe new-entry cur-entry))
    (if (< time (eqe-time cur-entry))
	(return (insert-before-eqe new-entry cur-entry)))))

(defun schedule (data time &optional new-entry)
  (add-eqe *event-queue* data time new-entry))

(defmethod (next-eqe event-queue) ()
  (unless (eq (eqe-next head) head)		;don't want to delete the dummy entry
    (delete-eqe (eqe-next head))))

(defun next-scheduled ()
  (next-eqe *event-queue*))

(defun delete-eqe (entry &aux
		   (prev-entry (eqe-prev entry))
		   (next-entry (eqe-next entry)))
  (when prev-entry
    (setf (eqe-next prev-entry) next-entry))
  (when next-entry
    (setf (eqe-prev next-entry) prev-entry))
  (setf (eqe-next entry) nil)
  (setf (eqe-prev entry) nil)
  entry)

(defun insert-before-eqe (new-entry prior-entry
			  &aux (prior-prev-entry (eqe-prev prior-entry)))
  (setf (eqe-next new-entry) prior-entry)
  (setf (eqe-prev new-entry) prior-prev-entry)
  (setf (eqe-next prior-prev-entry) new-entry)
  (setf (eqe-prev prior-entry) new-entry))

(defun delete-next-eqe (entry
			&aux (prev-entry (eqe-prev entry))
			(next-entry (eqe-next entry)))
  (setf (eqe-next prev-entry) next-entry)
  (setf (eqe-prev next-entry) prev-entry)
  (setf (eqe-next entry) nil)
  (setf (eqe-prev entry) nil)
  entry)

(defmethod (display-event-queue event-queue) ()
  (do ((ele (eqe-next head)
	    (eqe-next ele)))
      ((eq head ele))
    (format *standard-output* "~&~D ~S" (eqe-time ele) (eqe-data ele))))

(defun show-event-queue ()
  (display-event-queue *event-queue*))

(defmethod (queue-length event-queue) (&aux (length 0))
  (do ((ele (eqe-next head)
	    (eqe-next ele)))
      ((eq head ele) length)
    (incf length)))

(compile-flavor-methods event-queue)
 ----8< snip >8--------8< snip >8--------8< snip >8--------8< snip >8----
;;; -*- Mode: Lisp; Syntax: Common-lisp; Package: USER -*-

;;; event-mgr-tests.lisp -- tests for the simulation event manager


(setq *event-queue* (make-instance 'event-queue))

(schedule 'test1 5)
(schedule 'test2 7)
(schedule 'test3 3)
(schedule 'test4 4)
(schedule 'test5 1)

(inspect *event-queue*)

(next-scheduled)				;test5
(next-scheduled)				;test3
(next-scheduled)				;test4
(next-scheduled)				;test1
(next-scheduled)				;test2
(next-scheduled)				;nil

(queue-length *event-queue*)

(delete-eqe 'test5)				;delete first
(delete-eqe 'test4)				;delete middle
(delete-eqe 'test2)				;delete last

(next-scheduled)				;test3
(next-scheduled)				;test1
(next-scheduled)				;nil
 ---
George Williams
Boeing Computer Services   Internet: george@hsvaic.boeing.com  [preferred]
POBox 240002, M/S JY-58    UUCP: ...!uunet!uw-beaver!bcsaic!hsvaic!george
Huntsville AL 35824-6402   Phone: 205+464-4968 FAX: 205+464-4930 BTN: 464-4968


------------------------------

To: uunet!comp-simulation@uunet.UU.NET
Path: apss!sph
From: sph@apss.ab.ca (Shaun Hammond)
Newsgroups: sci.environment,comp.simulation,sci.chem
Subject: Pesticide fires
Keywords: Plume dispersion models
Date: 24 Jan 91 23:18:30 GMT
Distribution: na
Organization: Alberta Public Safety Services


We have had an enquiry from a group looking for references
to a plume dispersion model for  a fire at
a pesticide plant or pesticide storage facility.
Essentially the group is looking to determine the
fallout from such an event, as part of an environmental
impact study. Any references or pointers towards a
source would be greatly appreciated.

email replies to sph@apss.ab.ca

Thanks.


 -- 
Shaun Hammond	    sph@apss.ab.ca		403-427-2772



------------------------------




END OF SIMULATION DIGEST
************************