Most books are written in an expository style in which the author(s) goes to a great deal of trouble to explain, in detail, the concepts and ideas being presented. This style is also prominent in simulation books, of which there are basically two categories – those that base their book on a simulation language and those that don't. If the simulation book is based on a simulation language, then the various features and uses of the language has to be described along with the fundamental concepts in simulation. Simulation books that are not based on a language are generally better able to concentrate on the fundamentals of simulation, especially the statistical or analytical aspects.
This book is different than most. First, it's written in what might be called a participatory style. You don't sit and read the book without a computer loaded with SIMIO. This book expects your active participation in using SIMIO as you turn the pages. We try to carry on a conversation with you. Our belief is that simulation is not a spectator sport. You have to do it to develop skill with it and you develop that skill through modeling practice. This book encourages you to practice and use your skill.
Secondly, this book is focused on simulation modeling with SIMIO and most of the statistical analysis and analytical issues are left as topics to be explored elsewhere. Now it's not that we don't think these are important, because they are vital (and when we teach simulation, they are a fundamental part of the course). But we aren't going to spend much time on these topics here, since there are excellent simulation books that can fill our omission. We strongly suggest that if you are teaching/learning simulation that you also have one of the non-language books available.
Third, this book is deliberately cheap (the E-book or the paper copy). A new simulation language like SIMIO will be changing constantly. In fact, the SIMIO folks try to have new releases (called "sprints") about every month. Any book that describes SIMIO will go out of date quickly, so we want to track new features and update this book fairly often. We'll probably change the book's content some as we find better examples and approaches. If you don't pay much for it, maybe you'll want to re-buy this book from time to time, so you have the latest information.
Our intent is that you become an active learner and, as our title suggests, you "work" as you read. Our classroom experience is that students learn most by "doing", so this workbook is centered about "labs" – which our students do during class. The chapters in this book generally correspond to one lab. If you are not in a classroom, but want to learn SIMIO on your own, we think you will find this approach attractive for self-learning. You can work through a chapter in an evening.
There are several mechanisms for incorporating active learning in a classroom. Some teachers begin the class with some kind of orientation to the problem and the modeling features. Some teachers go directly through the modeling exercise with the students. And yet others tend to let students work though the workbook at their own pace. Critical to exploiting this active learning method is the use of "teaching moments," as opposed to lectures. Teaching moments occurs when questions arise or observations are made, where elaboration on a topic is appropriate. Some people think of this as a "pull" educational process.
The approach is scary for many teachers because there is no formal lecture format and the fear is that something won't be "covered" in class.
To help insure that everyone participates in this active learning process, we usually handout at the beginning of class a page or two filled with questions that are derived from the chapter exercise. We sprinkled some of these questions throughout the chapters in this book. They have short answers and require the student pay some attention to what is going on. Accordingly, our classes are well attended even though we don't officially take attendance, but we do give credit for students who turn in their in-class assignment each day. Courses like this develop a reputation as a class you need to attend.
In our view simulation modeling is a form of "systems engineering." Our intent is to engineer or re-engineer a system, but because that system is complex, difficult (or impossible) to experiment on, or doesn't exist, we resort to building a model of that system on the computer and experimenting with that model (similar to how airplane designers use a wind tunnel to experiment with airplane designs). The keystone activity is "building the model" – what we call simulation modeling. Simulation modeling is not an exact science, but it draws upon the problem-solving approach. To build a simulation model of a system requires: (1) a robust set of modeling concepts (the simulation language), and (2) a computer implementation. So to become proficient at simulation modeling, you need to acquire knowledge of the modeling concepts and experience with their use.
SIMIO provides a wealth of simulation modeling concepts and features and the implementation appeals to our need for visual and numeric results. However, anyone who has experience with simulation modeling knows that simulation languages have limits and sometimes we can't build the model we want because the language limits us. Instead of the entity, attribute, and resource approach, SIMIO is based on the more general object-oriented paradigm, in which the objects execute processes. In addition to the standard objects and processes, the user can add, subtract, and change objects and processes to meet particular needs.
So learning to use SIMO will require some different thinking. You will need to set aside the perspectives you have learned from another simulation language and begin to adopt another way to view the model building process. We think that if you work carefully though this book, you will learn enough about the SIMIO modeling approach that you can get to the next level where it becomes your approach to simulation modeling.
This book is conceptually organized so you build models quickly. In the first five chapters, we concentrate of the use of the Standard Library Objects in SIMIO. You can do a lot of simulation modeling without resort to more complex concepts. Then the next seven chapters show you how to extend the standard objects using processes. Learning how to extend the objects gives you more modeling flexibility without having to invent your own library of objects. In the later chapters, we discuss the creation of new objects and the modification of existing objects within SIMIO and show you the power of its object-oriented capabilities.
The book is designed to be read from chapter to chapter, although it may be possible to pick out certain concepts and topics. In the beginning chapters we construct models rather directly without much explanation as to why certain features are chosen. In the later chapters we provide more explanation on why the modeling features are chosen and what else might be done. Some later chapters return to topics that were previously introduced, but we try to present them in more detail. Some redundancy is helpful in learning. By the time you have finished this book you should be well-prepared to build models in SIMIO and to understand the virtues of different modeling approaches.
At the end of most chapters, we offer commentary on topics presented. We will emphasize the strengths and weaknesses of the modeling approach and the language (we have no financial stake in SIMIO). The designers of SIMIO were also the designers of Arena and there are Arena fingerprints on SIMIO. Since a number of you will be migrating from Arena, we will provide some observations on these "fingerprints." However, be prepared to go well beyond what you have learned in Arena or in any other simulation language.
When comparing Arena to SIMIO, you will not find in SIMO an Arena-like Input Analyzer or an Output Analyzer. SIMIO will probably never have an input analysis capability, as there are many third-party ones available.2 When using an input modeler, be sure the parameters being fitted from the input modeler can be converted to the parameters used in SIMIO. The Output Analyzer function and the Process Analyzer in Arena are extended in SIMIO, with ways to write information externally to files for other analysis. SIMIO display of output is improving on an almost daily basis. SIMIO has incorporated recent research in subset selection and ranking/selection of scenarios. Optimization features have also been added.
In a very limited sense SIMIO is like Arena with an explicit Siman process capability. However that doesn't do justice to the greater flexibility and extensiveness offered by SIMIO. Further SIMIO has 3D graphics that is built to scale and possesses an object-orientation that allows new objects to be added and processes to be easily changed. SIMIO has a far more modern "look and feel" and, in our opinion, generally superior to most other simulation language choices.
Certain styles have been used in this book to illustrate objects, names and parameters and to make it easier to distinguish these types of parameters. Standard SIMIO objects will be set in small caps using a Courier New font (e.g., SERVER) while objects that are created by the modeler will be also bolded (e.g., DELAYOBJECT). Properties associated with these objects will be italicized (e.g., Processing Time). Process names will be italicized and placed in quotes, as "OnEnteredProcessing", while Add-on process triggers (e.g., Exited) will be will be only italicized since they are properties. Process steps like Assign will be set in italicized in Courier New font. SIMIO uses lots of expressions. These are set in Courier New font (e.g., SrvOffice.Contents >0). Names of all objects specified by the modeler will be bolded (e.g., Insert a SERVER named SrvOffice). Values associated with properties will be set in a fashion similar to expressions or in quotes for strings (e.g., "True").
We wish to thank our students, who have added much to our understanding and who let us often display our ignorance and inadequate preparation. We appreciated the response of SIMIO people to our endless stream of questions and doubts, especially Dave Sturrock and Dennis Pegden. Finally we thank our families for understanding and patience as we often spend more time talking with each other than with them.
Please let us know how we can improve this workbook and how it can better meet your needs.
Jeff Joines (JeffJoines AT ncsu.edu)
Steve Roberts (roberts AT ncsu.edu)
North Carolina State University
Raleigh, North Carolina