Simulation Modeling Methodology and the WWW

The World Wide Web was conceived as a set of simple Internet-based client/server protocols for transferring and rendering documents of a primarily textual nature. What distinguished the Web's mode of communicating information from other Internet-based tools that preceded it (e.g. electronic mail, electronic file transfer via ftp, and network newsgroups) was the provision for embedding hyperlinks that allowed users to easily navigate between related documents. The hyperlinking scheme allowed content providers to organize and present information in a natural hierarchical fashion. It also served to insulate users from the tedious details involved in identifying and retrieving a particular document. Since the development and rapid widespread adoption of these conventions, they have been extended and integrated with other new related technologies that provide for the delivery of content that is much more dynamic in nature. The most important of these related developments has been the introduction and rapid widespread adoption of the Java programming language as a standard for Internet-based computation.

The integration of the Web and Java represents a technological advancement that enables a fundamentally new approach to simulation modeling, one that makes possible the development of environments with coherent Web-based support for collaborative model development, dynamic multimedia-based documentation, as well as open widespread execution and investigative analysis of models. A key aspect to the approach is the role the Java language plays in both the specification and implementation of the model.

The evolution to high-level model specification languages and formalisms has been motivated by the desire to make simulation more accessible by eliminating the programming burden. However, such systems are often difficult to modify or extend because of an imposed separation between the specification system and its implementation. This can lead to models that poorly mirror system behavior and have no potential for distribution and reuse within an enterprise. The Java language is ideally suited to implementing an advanced simulation architecture whose features are readily accessible at the programming language level, special purpose simulation language level, and high-level model specifications.

Specifically, key features like the well-designed object-oriented nature of Java and native support for multithreaded execution allow special purpose simulation modeling features to be incorporated directly into the Java language in a natural way so that the underlying modeling and programming languages are the same. These relatively low-level but powerful modeling capabilities can in-turn be used to implement higher-level model specification systems via the JavaBeans component development model. The simple programming conventions that constitute JavaBeans allow Java-based software components to be assembled visually into applications using any of a growing number of sophisticated graphical programming environments including Symantec's Visual Café, Microsoft's J++, IBM's Visual Age, Sun's Java Workshop, Borland's Jbuilder, and Lotus's BeanMachine. When visually assembling predefined simulation modeling components, no programming is required; however, when necessary, the user has access to the underlying code and full power and flexibility of the Java programming language. What's more, any Java environment can be used for model building and debugging. The modeling language capabilities and predefined component assembly capabilities can also be used in isolation or in combination to produce high-level standalone simulation applications that users interact with in predefined ways.

The hardware and operating system independent design of Java facilitates collaboration by allowing modelers to share language level or component level models independent of where they were developed. The documentation and deployment of modeling tools and end-user applications via the Web also serves to make open and widespread both the development and investigative analysis of models.

This vision of Web-based simulation is the motivation behind Thread Technologies' design of SilkTM , a general purpose simulation language based on the Java programming language. Silk merges familiar process-oriented modeling structures with powerful object-oriented language features in an intelligent design that encourages model simplicity and reusability through the development and the visual assembly of Silk modeling components in JavaBeans-based graphical software environments. More generally, Silk's openly extensible, scalable, and platform independent design represents the type of approach that is essential to keeping simulation modeling on track with other revolutionary changes taking place in Internet-based computing.


Kevin J. Healy is the author of the Java- based Silk simulation language and a partner in Thread Technologies, a company involved in the development of Internet-based simulation capabilities. He received his Ph.D. in Operations Research from Cornell University. His former positions include Vice-President of Development for Systems Modeling Corp. and Assistant Professor in Purdue University's School of Industrial Engineering. (E-mail:

Simulation Modeling Methodology in the Wonderfully Webbed World

Animated GIF courtesy of Web GraFX-FX