Mesquite Software Home
Products / FAQ
Customers
To Order
Contact Us
Site Map
Documentation
News / Events
News & Events

Mesquite Software Newsletter

Volume 1 - Fall 2004

Welcome to Mesquite Software's first newsletter! We hope this note finds you well, and your simulation applications successful. As you may know, Mesquite Software is proud to celebrate our 10th Anniversary this year, and we want to take this opportunity to stay in touch with our valued users. We also have some new initiatives that we want to share with you.


Anniversary Offer

Now used by over 1500 customers, our CSIM 19 software is the premier developer's toolkit for large-scale, complex, discrete-event simulations. As part of our anniversary celebration, we'd like to extend a special offer to you. If you purchase a copy of CSIM 19 by December 31, 2004, we will include one seat of extended support for a year at no additional cost!

Please visit us at www.mesquite.com for more details, or contact us directly.


We Want Your CSIM User Stories

We've recently started to publish stories describing some of our best users' applications. If you fill out our User Story form online with details of your CSIM application, we'll send you a limited edition CSIM anniversary t-shirt! And if your story is selected for publication on our User Stories page, you'll also receive a complimentary year of extended support!


New Website Content plus Streamlined Electronic Purchase and Download

Come check out our new web updates! We've expanded our website to include a variety of valuable information:

And more - please come see for yourself!


Feedback Please!

We are currently designing CSIM 20 and would like to be able to incorporate your suggestions.

If you have comments or suggestions on CSIM 19, please do let us know!


Our Founder Speaking at INFORMS

The INFORMS society represents professionals in the fields of Operations Research and the Management Sciences. Come see us at the INFORMS annual meeting in Denver, October 24-27. Our founder, Dr. Herb Schwetman, will be speaking on a panel on Simulating the Behavior of Large Software Applications.

If you are speaking or submitting proceedings to a conference, and your proceedings involve CSIM, we would love to see them.

Events in CSIM19

Events are CSIM 19 structures that we use to synchronize the activities of CSIM processes. Modelers often find events useful when creating models of complex systems. Computer operating systems utilize structures that are similar to CSIM's events; semaphores, critical sections, wait-post logic are all comparable structures. However, modelers whose backgrounds don't include computer operating systems may be perplexed by events and may have trouble seeing how to use them in simulation models.

The CSIM User's Guide says that an event has one two-state variable and two queues for waiting processes; the states of the variable are designated OCCURRED and NOT_OCCURRED. The two queues are the wait-queue and the queue-queue. A process that does a wait operation that cannot proceed will be placed in the wait-queue, while a process that does a queue operation that cannot proceed will be placed in the queue-queue.

The terminology here is a bit confusing, but stick with me.

To simplify the discussion, let's examine the wait operation first. Assume that we are modeling a race, where all of the participants come to the starting point, wait for the starter's pistol to fire and then all race off for the finish line. We can easily model the starting point using an event. The initial state of the starting point is NOT_OCCURRED. As is typical in a CSIM model, we will model each racer using a process. As each racer process comes to the starting point, he/she does a wait operation. Finally, the starter fires the starter's pistol (sets the event), which places the event in the OCCURRED state. All of the waiting racer processes are resumed (re-activated), and they each enter the next phase of their behavior; in this case, they each make their way toward the finish line. An important feature of the operation of the start event is that after all of the waiting racers have resumed (left the starting point), the state of the event is automatically returned to the NOT_OCCURRED state. The idea here is that if the same event is used for the next race, its state will be correct. However, this automatic reset would not allow late entrants to start; they would automatically become part of the next race.

In CSIM 19, the basic code to simulate this race would be something like this:

event *pistol;
...
void starter( ) void racer( )
{    {
   create("strtr");      create("racer");
   hold(startTime - clock); pistol->wait();
   pistol->set();     // starting racing
}      }

Of course, some other code will be required to make these two snippets of code into a functioning model of a race or even a sequence of races, but this code byte should give you an idea of the basic structure.

While the wait operation is used to model a race in which all participants begin at the same time, the queue operation would be used to model a sequenced or staggered start for another race. The idea of a queue operation is that waiting processes proceed one-at-a-time. That is, when a set operation places the event in the OCCURRED state, at most one process is resumed. If a set operation is performed on an event and no process is queued (or waiting), the state becomes OCCURRED and the next process to arrive will proceed without delay. Users must be aware of this behavior so that they can ensure that their model correctly represents the operation of the real system."

Events are very powerful CSIM 19 structures and are crucial to the execution of many models. So, if you are modeling a race (or a system that looks like a race), remember events!

Dr. Herb Schwetman


Please explore our website to see our latest updates, or contact us directly if you have ideas, comments, or questions.

With kind regards,

Nan Schwetman, President
Mesquite Software, Inc.
8500 North MOPAC, Suite 825
Austin, TX 78759, USA
Tel: (800) 538-9153 (US) or +1 (512) 338-9153
Fax: +1 (512) 338-4966
E-mail:
www: www.mesquite.com

This newsletter is sent to our user community and interested parties by Mesquite Software. You may subscribe by visiting: www.mesquite.com/newsletter/signup.html