Web-based Simulation Development System
Transcription
Web-based Simulation Development System
CSCI 4010.001 Software Requirements Document Web-based Simulation Development System NOTE FROM THE INSTRUCTOR: Please note that this SRD does not completely adhere to the enumerated outline format as specified during the classroom discussion about the SRD format. I still use this as a valid sample of a well-designed and written SRD because of its completeness in the description of the particular project it describes. Although minor points may be counted off for not adhering completely to the required format, please realize that the completeness of the document holds far more weight that the format alone. Please be sure to be thorough with your requirements definitions. September 28, 1999 Portions of the Simulation Development System are copyrighted by Don Retzlaff Web-based Simulation Development System Introduction Table of Contents INTRODUCTION ............................................................................................... 3 I. SIMULATION ENGINE .................................................................................... 3 II. SIMULATION EDITOR ................................................................................... 3 HARDWARE REQUIREMENTS....................................................................... 5 I. SERVER SIDE INFORMATION .......................................................................... 5 A. Web Server.............................................................................................. 5 II. CLIENT-SIDE INFORMATION ......................................................................... 5 A. Basic computer system............................................................................ 5 B. Modem and ISP connection .................................................................... 6 C. Available Web browsers ......................................................................... 6 SOFTWARE REQUIREMENTS ........................................................................ 7 I. OVERVIEW .................................................................................................... 7 A. Typical users........................................................................................... 7 II. APPLICATION INTERFACE............................................................................. 7 A. Title Screen ............................................................................................. 7 B. SDS Main Page....................................................................................... 8 i. Create new simulation.......................................................................................8 ii. Edit an existing simulation...............................................................................8 iii. Run a completed simulation............................................................................9 C. Active Simulation Example..................................................................... 9 III. SIMULATION COMPONENTS ......................................................................... 9 A. Simulation configuration file ................................................................... 9 i. [Configuration] section ...................................................................................10 a. Layout........................................................................................................10 b. Predefined simulation variables.................................................................10 c. Attribute=value pairs .................................................................................10 ii. [Source] section .............................................................................................13 a. Layout........................................................................................................13 b. Special considerations ...............................................................................14 iii. [Sim] section.................................................................................................14 a. Layout........................................................................................................14 b. Predefined subsection tags.........................................................................15 c. !VAR subsection - special formatting information ....................................17 B. Simulation Editor.................................................................................. 19 i. Data Entry Form .............................................................................................19 a. [Configuration] information section...........................................................20 b. [Source] information section .....................................................................20 c. [Sim] information section ..........................................................................21 d. Final [Sim] frame options ..........................................................................21 e. File saving options .....................................................................................22 ii. Online Help....................................................................................................23 a. Individual Help topics................................................................................23 b. Main Help page .........................................................................................24 C. Simulation Interpreter .......................................................................... 25 i. Simulation Engine...........................................................................................25 GLOSSARY ...................................................................................................... 26 APPENDIX A : SPECIAL HTML CHARACTERS ......................................... 29 APPENDIX B : SAMPLE SIMULATION CONFIGURATION FILE............. 33 Italicizes words are defined in the Glossary found on page 26. 2 Web-based Simulation Development System Introduction Introduction Tell me, I forget. Show me, I remember. Involve me, I understand. -- Chinese proverb In today's schools, businesses, and communities, one instructional item remains the most important and influential tool available to an instructor-- the visual aid. Whether they are the product of Eastern or Western culture, students react more positively and remember more completely information that is presented visually. Armed with something "tangible," an instructor can more deeply involve his or her students in the process they are learning. This Software Requirements Document describes an application that is designed to enable a classroom lecturer, a distance-learning instructor, or a web-based teacher to construct online simulations of sequential procedures for use in the classroom, on a network, or on the Web. This application utilizes the unique capabilities of the World Wide Web ("the Web" or WWW) and modern graphical Web browsers to help instructors create simulations for use in teaching. The application consists of two distinct parts : I. Simulation Engine The first part-- the simulation engine, is an application that reads an existing configuration file and displays (individual) sequential simulation frames in an HTML-enabled browser. Depending on the user's chosen configuration and the complexity of his/her procedure, each frame might illustrate an individual step in a process or a combination of steps. II. Simulation Editor The second part-- the simulation editor, is a Web-based forms interface which facilitates the dynamic creation of a simulation. This interface allows a user to interactively create a simulation without extensive knowledge of the HTML code and configuration parameters required for the simulation. As the user adds components to his/her simulation, the project is updated and displayed for further addition, deletion, or edition of simulation frames (procedure steps). Italicizes words are defined in the Glossary found on page 26. 3 Web-based Simulation Development System Introduction Another client views simulation Client creates simulation using Web-based SDS Client views simulation using Web-based SDS Physical location of Web-based Simulation Development System Figure 1 Simulation Development System Italicizes words are defined in the Glossary found on page 26. 4 Web-based Simulation Development System Introduction Hardware Requirements I. Server side information This simulation development system is a Web-based application, which means that the Simulation Development System itself runs on a Web server rather than on a user's computer (which is sometimes called a client). This structure enables the user to run the development system without making extensive modifications to their own computer. However, before using the Simulation Development System there are certain hardware components required in addition to the standard components of a stand-alone computer or workstation. These additional components include some type of connection to the Internet and a graphics-enabled Web browser capable of interpreting HTML. The following sections describe the operating environment of the Simulation Development System. A. Web Server The Simulation Development System resides on a Web server. A Web server is a software program running on a computer connected to the Internet. The term Web server is also used sometimes to refer to the computer on which the software is running. More often, the computer is called a server and is running more software than just Web server software. The server supplying the Simulation Development System is running the freeBSD operating system and the Apache Web server system. The purpose of a Web server is to respond to requests for WWW files. When you surf the WWW, you are sending requests to Web servers all over the country or world. The requests and responses use a language protocol called the HyperText Transfer Protocol (HTTP) and the pages shown in your browser are composed using HyperText Markup Language (HTML). A Web server waits 24-hours a day for requests to arrive from the Internet. When it receives a request (for example, when you submit a simulation for execution) it responds by sending the requested file, or files, which are used to construct the Web pages seen in your browser. II. Client-side information A. Basic computer system For the Simulation Development System, the user will need access to a computer capable of processing information relatively quickly and capable of displaying color Web pages. Required hardware : 100% IBM-compatible computer, Apple Macintosh, or UNIX-based workstation color monitor (CRT) Internet connection Optional hardware : Printer (color, if possible) Table 1 Basic computer system Italicizes words are defined in the Glossary found on page 26. 5 Web-based Simulation Development System Introduction B. Modem and ISP connection A typical home-based Internet connection utilizes some type of modem (internal or external, telephone or cable or satellite) and a dial-up service with a local or national Internet Service Provider (ISP). Typically, this type of system is not permanently connected to the Internet. Instead, the user dials into his/her ISP, utilizes something on the Web, and disconnects from the ISP. A typical office-based Internet connection utilizes some type of network interface card (NIC) and a network proxy server. This type of connection is almost always permanent and fairly transparent to the user, except for the unique addressing scheme of Web locations (either an IP address or URL). C. Available Web browsers Several utilities are available for retrieving information from the Web. Because this simulation utility makes extensive use of HTML's table and coloring features, it is imperative that the user have access to a graphical Web browser. Some common browsers are listed in the following table : Browser Netscape Navigator Microsoft Internet Explorer Opera iBrowse NeoPlanet Lynx Mosaic Cello Platform Win 3.1/95/98/NT Win 3.1/95/98/NT Win 3.1/95/98/NT Amiga Win 3.1/95/98/NT (requires IE 4.0+) Win 95/98/NT, UNIX, Amiga, Mac (beta), BeOS Win 3.1/95/98/NT, Mac Win 3.1/95/98/NT Version 4.5 5 3.6 2.0 5.0 Graphical Yes Yes Yes Yes Yes HTML-enabled Yes Yes Yes Yes Yes 2.8 Yes 3.0 Yes No (actually-- Yes, but all graphical stuff is stripped away) Yes 1.01a Yes Yes (no frames or Java) Table 2 Available Web browsers Note : Text-based browsers, such as Lynx, are not appropriate for use with the Simulation Development System. Italicizes words are defined in the Glossary found on page 26. 6 Web-based Simulation Development System Introduction Software Requirements Note : Although the Simulation Development System serves the dual purpose of simulation creation and presentation, the emphasis of this Software Requirements section is on its creative and editorial features. Therefore, throughout this section, the term user will refer to someone creating a simulation (not someone viewing a completed simulation). I. Overview A. Typical users The Web-based Simulation Development System is designed to create simulations that can be used to teach procedures or processes. Typical users include university professors, secondary school instructors, professional lecturers, corporate trainers, or anyone involved in teaching a process that can be described in individual sequential steps. II. Application interface A. Title Screen The Simulation Development System is accessible at the following URL : http://www.cs.unt.edu/~ostevens/sds_title_page.html Figure 2 Welcome screen for Simulation Development System Italicizes words are defined in the Glossary found on page 26. 7 Web-based Simulation Development System Introduction B. SDS Main Page When the user clicks the link marked "Click here to enter the Simulation Development System," the following page (possibly formatted differently) will be accessed : http://www.cs.unt.edu/~ostevens/sds_mainmenu.html Figure 3 Screen shot of SDS Main Menu The Simulation Development System Main Menu allows the user to create a new simulation, edit an existing simulation, or run a completed simulation. i. Create new simulation To create a new simulation, the user types a new simulation name (without the file extension .sim) and clicks the "Start SDS" button. The Simulation Editor is loaded for the new simulation and default values are placed in the new simulation's configuration file. Note : For details about the Simulation Editor, see section III.B. "Simulation Editor". ii. Edit an existing simulation To edit an existing simulation, the user chooses a simulation from the drop-down list of available simulations and clicks the "Start SDS" button. The Simulation Editor is loaded with the selected simulation's configuration values and frames. Note : For details about the Simulation Editor, see section III.B. "Simulation Editor". Italicizes words are defined in the Glossary found on page 26. 8 Web-based Simulation Development System Introduction iii. Run a completed simulation To run a completed simulation, the user chooses a simulation from the drop-down list of available simulations and enters a starting frame value. Clicking the "Start SDS" button loads the Simulation Engine with the selected simulation's configuration information and begins the simulation at the desired frame. Note : For details about the Simulation Engine, see section III.C.i. "Simulation Engine". C. Active Simulation Example These simulations will consist of individual frames, viewed in a Web browser, that describe individual steps in a process. Figure 2 Sample screen from active simulation III. Simulation components A. Simulation configuration file Each simulation is formatted using a configuration scheme similar to the INI scheme in early versions of Microsoft Windows©. A simulation configuration file, which is an ASCII text file of any length with the file extension .sim, provides the Simulation Development System with key information about the appearance of the overall simulation and the appearance of individual frames within the simulation. (An entire simulation configuration file is presented in Appendix A.) Italicizes words are defined in the Glossary found on page 26. 9 Web-based Simulation Development System Introduction The simulation configuration file consists of three randomly-ordered sections of information used to format each simulation frame : a Configuration section, a Source code section, and at least one Sim section. The following pages describe each section's contents. i. [Configuration] section The [Configuration] section of the simulation configuration file provides general formatting information for the simulation. a. Layout The [Configuration] section consists of the following four (4) predefined simulation variables and twenty-one (21) "attribute=value" pairs. This information may be listed in any order in the [Configuration] section. If no value is provided for a particular attribute (such as "Background color="), the user's browser default value is used. b. Predefined simulation variables Note : Capitalization is required for predefined simulation variables. $SIM$ Current simulation frame number. "Title=Simulation of C++ for loop - Step $SIM$" $VALUE$ Current value of the corresponding item. "Normal Line Attribute= $VALUE$" $PREVIOUS$ Link information for the immediately previous simulation frame. "Previous Link=<a href="$PREVIOUS$">Previous frame</a>" $NEXT$ Link information for the immediately subsequent simulation frame. "Next Link=<a href="$NEXT$">Next frame</a>" c. Attribute=value pairs Note : Capitalization is not required for "attribute=value" pairs. Number of simulations Number of frames to presented in the simulation. Not displayed "Number of simulations=12" Italicizes words are defined in the Glossary found on page 26. 10 Web-based Simulation Development System Title Simulation's title, which is displayed in the Window title bar. Introduction Displayed "Title=Pumping Iron with Hans und Franz - Step $SIM$" Heading Displayed Simulation's heading, which is displayed at the top of the browser window. "Heading= Pumping Iron with Hans und Franz - Step $SIM$" Author Not displayed Author of the simulation. This attribute is not displayed during the simulation and is used only for record-keeping and maintenance of existing simulations. "Author=Arnold Schwarzeneggar" Author Email Not displayed Author's email address. This attribute is not displayed during the simulation and is used only for record-keeping and maintenance of existing simulations. "Author [email protected]" Keywords Words and phrases used to quickly describe the simulation's content. Not displayed "Keywords=muscle, arnold, hans, franz, pump you up, girly-man" Description Brief description of simulation. Not displayed "Description=Describe intense workout to pump you up" Background color Background color to be used in browser window. Yields to designated background image. Displayed "Background color=white" Italicizes words are defined in the Glossary found on page 26. 11 Web-based Simulation Development System Introduction Background image Displayed Background image to be used in browser window. Overrides background color. Supported image formats are browser-dependent. Most common formats are GIF (.gif)and JPEG (.jpg). "Background image=hans_und_franz.jpg" Variable Table Attributes Displayed Controls appearance of variable table. Adheres to standard HTML coding standards. "Variable Table Attributes=border=1 cellpadding=8" Inactive Variable Cell Attributes Displayed Controls appearance of individual table cells for variables that are in the simulation source, but are not utilized or changed in the current simulation frame. "Inactive Variable Cell Attributes=bgcolor=white" Inactive Variable Text Attributes Displayed Controls appearance of text in individual table cells for variables that are in the simulation source, but are not utilized or changed in the current simulation frame. "Inactive Variable Text Attributes=<B> $VALUE$ </B>" Active Variable Cell Attributes Displayed Controls appearance of individual table cells for variables that are in the simulation source and are utilized or changed in the current simulation frame. "Active Variable Cell Attributes=bgcolor=blue" Active Variable Text Attributes Displayed Controls appearance of text in individual table cells for variables that are in the simulation source and are utilized or changed in the current simulation frame. "Active Variable Text Attributes=<font color=white><B> $VALUE$</B></font>" Source Table Attributes Control appearance of the box containing the simulation's source code. Displayed "Source Table Attributes=border=1 cellpadding=8" Exec Line Attributes Displayed Controls appearance of the line of simulation source code that is being discussed in the current simulation frame. "Exec Line Attributes=<font color=red><B>==>> $VALUE$</B></font>" Normal Line Attributes Italicizes words are defined in the Glossary found on page 26. Displayed 12 Web-based Simulation Development System Introduction Controls appearance of lines of simulation source code that are not being discussed in the current simulation frame. "Normal Line Attributes= $VALUE$" Remarks Table Attributes Displayed Controls appearance of the box containing comments about the current simulation frame. "Remarks Table Attributes=border=1 cellpadding=8 bgcolor=oldlace" Output Table Attributes Displayed Controls appearance of the box containing the current output of the simulation. "Output Table Attributes=border=1 cellpadding=8 bgcolor=oldlace" Previous Link Controls how the PREVIOUS link will appear in each simulation frame. Displayed "Previous Link=<a href="$PREVIOUS$">Previous Frame</a>" Next Link Controls how the NEXT link will appear in each simulation frame. Displayed "Next Link=<a href="$NEXT$">Next Frame</a>" ii. [Source] section The [Source] section of the simulation configuration file specifies the actual source code whose execution will be simulated. a. Layout This section contains the actual source code as it will appear in each simulation frame. This format enables the simulation's source code to appear only once in the configuration file although it is displayed in every frame of the simulation. Figure 4 Sample [Source] section Italicizes words are defined in the Glossary found on page 26. 13 Web-based Simulation Development System Introduction The line discussed in the current simulation frame is designated by the !EXEC command, which will be described in section III.A.iii.b ("Predefined subsection tags"). b. Special considerations The section adheres to regular HTML coding standards, which means that all characters and words will be interpreted as HTML code. If the simulation's source code contains characters that are reserved in HTML, this section should encode the characters in HTML for their proper appearance. Note : See "Appendix A : Special HTML Characters" for a listing of characters requiring special formatting in HTML. Original source code : #include <iostream.h> Should be replaced with : #include <iostream.h> Table 3 Sample [Source] section HTML coding iii. [Sim] section a. Layout The [Sim] section is actually an unordered set of multiple [Sim] sections each of which contains formatting instructions for an individual frame in a simulation. Each [Sim] section may contain any combination of five (5) predefined subsection tags, ASCII text, and standard HTML code. Figure 5 Sample [SIM] section Italicizes words are defined in the Glossary found on page 26. 14 Web-based Simulation Development System Introduction Note : The header for each [Sim] section is extremely important. The header for each [Sim] section should designate the number of the individual frame to be formatted in that particular section. [Sim 1] [Sim 2] [Sim 3] … [Sim 12] … Header for first frame in simulation Header for second frame in simulation Header for third frame in simulation … Header for twelth frame in simulation … Each time the Simulation Engine creates a simulation frame to be displayed in a user's browser, it reads the simulation configuration file and scans for the [Sim] header of the next frame. Therefore, although the [Sim] subsections can be in random order, their headers must contain unique consecutive numbers beginning with 1 and ending with the final simulation frame. b. Predefined subsection tags These tags can appear in each [Sim] subsection as many times and in whatever order the simulation author desires. In the text-oriented tag sections (!REMARKS and !OUTPUT) the simulation author can include any of the four predefined simulation variables except $VALUE$. Note : Capitalization is required for predefined subsection tags. !LINKS Include proper linking information to access surrounding simulation frames. Usage : !LINKS Display : !VARS One or more lines that display variables affected in the current simulation. Maximum of five (5) variables per line in the browser window. Usage : !VARS total 0 i *1 Display : Italicizes words are defined in the Glossary found on page 26. 15 Web-based Simulation Development System Introduction The subsequent section III.A.iii.c. ("!VAR subsection - special formatting information") provides more detail about the use of the !VAR tag. !EXEC Displays the source code as it appears in the [Source] section of the simulation configuration file. A number following the !EXEC tag highlights that line of the displayed source code. Usage : !EXEC 4 Display : !REMARKS One or more lines of text specifying remarks about the current simulation frame. Usage : !REMARKS Allocate memory for the integer variable <b><i>total</i></b>. Display : !OUTPUT Displays any output produced by the simulation. Usage : !OUTPUT <font color=blue>Nothing here but us chickens.</font><p> Display : Italicizes words are defined in the Glossary found on page 26. 16 Web-based Simulation Development System Introduction c. !VAR subsection - special formatting information The !VAR subsection tag can display variables in a Web browser in very descriptive ways. To accomplish this, however, the !VAR tag requires special formatting. The general syntax of the !VAR subsection tag is : [\]varname [*]value1[|address] [[*]value2[|address] ...] [\] The optional leading backslash is used to specify that this variable needs to start on its own line when displayed. Since the simulation system will display up to 5 variables on a line to conserve space, this gives the simulation author more control over the variable appearance. Usage : !VARS A 1 \str "a b c" Display : varname This required text specifies the text to appear above the variable cell (table). Usage : !VARS count 5 Display : Italicizes words are defined in the Glossary found on page 26. 17 Web-based Simulation Development System Introduction [*] This optional asterisk denotes that the subsequent value is affected during this simulation frame and should be displayed using the Active Variable Cell Attributes and Active Variable Text Attributes "attribute=value" pairs in the [Configuration] section of the simulation configuration file. Usage : !VARS count 5 num *0 Display : value1 This required text represents the current variable's value, which will be displayed inside the variable table. Usage : !VARS count 5 Display : [\address] This optional value is displayed below the variable cell. Typically, this value denotes a memory address in programming language simulations. Usage : !VARS A 1|100 *2|102 Display : Italicizes words are defined in the Glossary found on page 26. 18 Web-based Simulation Development System Introduction [[*]value2[|address] ...] Multiple values are permitted. Each subsequent value is displayed using the same attributes as value1. Typically, this method is used to denote arrays in programming language simulations. Usage : !VARS array *1 *2 *3 *5 *8 *13 *21 Display : B. Simulation Editor The Simulation Development System provides an editor with which the user can interactively create simulations. This editor consists of a data entry form for the various sections of a simulation configuration file and an interactive frame editor for the creation of individual simulation frames. Note : Although the Simulation Editor simplifies the creation of simulation configuration files, any method used to create a configuration file is valid as long as the file conforms to the syntactical restrictions presented in Section III.A. ("Simulation configuration file"). i. Data Entry Form The first section of the Simulation Editor provides text areas for information to be inserted into the [Configuration] section of a simulation's configuration file. The second section provides a text area for the simulation's source code or process, which will be inserted into the [Source] sections of the configuration file. Finally , several areas are displayed with each simulation frame's current information. Italicizes words are defined in the Glossary found on page 26. 19 Web-based Simulation Development System Introduction a. [Configuration] information section This section of the Editor provide input areas for each of the attributes in the [Configuration] section of the simulation configuration file. Attributes for which the user enters data will be reflected in the final simulation. All attributes left blank will retain their default values. Figure 6 Portion of Simulation Data Entry Form b. [Source] information section Following the [Configuration] input section, the user will find a [Source] input section. All text entered in this box will be inserted into the [Source] section of the simulation configuration file. Figure 7 Source information data entry box Italicizes words are defined in the Glossary found on page 26. 20 Web-based Simulation Development System Introduction Note : Remember that all text entered in the [Source] section will be interpreted according to HTML coding standards. For information about special considerations, see section III.A.ii.b "Special considerations" or refer to "Appendix A : Special HTML Characters" for a listing of characters requiring special formatting in HTML. c. [Sim] information section Following the [Source] data entry box, the user will find data entry boxes for the information to be shown in individual simulation frames. This design allows the user to interactively create an entire simulation-- frame by frame. When the simulation is created, or when no individual simulation frames have been defined, only one data entry box will be visible. This box will be labeled Simulation 1. As additional simulation frames are created, they are concatenated to the simulation or inserted before the current simulation frame. The user may also delete an entire frame from a simulation by pressing the "Delete Sim" button below the unwanted frame's data entry box. In this way, the user can proceed through the simulation's creation in an iterative and methodical way. Figure 8 Sample simulation frame data entry box Each frame in the Simulation Editor allows the user to save the current changes to the simulation or to save and run the simulation. d. Final [Sim] frame options In the final simulation frame data entry box, the user will have the ability to save the current simulation or to save and run the current simulation. Italicizes words are defined in the Glossary found on page 26. 21 Web-based Simulation Development System Introduction Figure 9 Example of final frame and options available e. File saving options Finally, following the last simulation frame data entry box, the user will have the ability to save the current simulation, to save and run the current simulation, or to return to the Main Menu. Figure 10 File saving options available at bottom of SDS data entry form Italicizes words are defined in the Glossary found on page 26. 22 Web-based Simulation Development System Introduction Note : The "Return to Main Menu" option does not automatically save the current simulation. Although a precautionary message is displayed when the user clicks the "Return to Main Menu" button, it is the user's responsibility to manually save the simulation by clicking the "Save Simulation" button. ii. Online Help To facilitate the use of the Simulation Editor several types of Help information are available. a. Individual Help topics Between the Attribute=Value data entry box and the first Simulation frame data entry box, there is a tool bar which lists the predefined [Sim] subsection tags. When a tag is clicked, a separate pop-up window opens to display the tag's definition, syntax, and example. Figure 11 Help section for Predefined [Sim] tags Italicizes words are defined in the Glossary found on page 26. 23 Web-based Simulation Development System Introduction Figure 12 Sample Help Topic Page b. Main Help page For browsers that are not JavaScript-enabled, a link is available that opens a new browser window containing the entire Help Page for all predefined [Sim] tags. Figure 13 Top of Help Page for all Predefined [Sim] tags Italicizes words are defined in the Glossary found on page 26. 24 Web-based Simulation Development System Introduction C. Simulation Interpreter The Simulation Development System provides a simulation interpreter that displays a simulation using the information it finds in a simulation configuration file. i. Simulation Engine The basic engine of the Web-based Simulation Development System is a set of C++ files compiled as CGI scripts for use in forms-based Web pages. When a user creates a simulation configuration file or submits a configuration file to the System, the CGI script reads the configuration file and dynamically creates the simulation. As each consecutive frame is displayed, or as an immediately previous frame is displayed, the program rereads the configuration file and displays the appropriate [Sim] subsection information in formatted HTML. Note : The engine contains code copyrighted by Don Retzlaff, who can be contacted at [email protected]. Italicizes words are defined in the Glossary found on page 26. 25 Web-based Simulation Development System Introduction Glossary addressing scheme of Web location The physical address distinguishing every piece of hardware attached to the Internet. To differentiate devices, an addressing scheme-- called an Internet Protocol, is used. See URL and IP address. Apache Web server system A public-domain Web server developed by a loosely-knit group of programmers. Because it was developed from existing NCSA code plus various patches, it was called a patchy server-- hence, the name Apache Server. As a result of its sophisticated features, excellent performance, and low price (it's free), Apache has become the world's most popular Web server. ASCII text Acronym for the American Standard Code for Information Interchange. ASCII is a code for representing English characters as numbers, with each letter assigned a number from 0 to 127. ASCII text is the most portable format because it is supported by nearly every application on every machine. Also referred to as "plain text." attribute An English-language description of an HTML formatting command. attribute=value pair The format used to designate information in the simulation configuration file. See attribute, value, INI file. browser frame See Netscape frame. CGI script A program that contains instructions for interpreting information sent from a client to a Web server application. CGI programs are designed to accept and return data that conforms to the CGI specification. They are the most common way for Web servers to interact dynamically with users. client A computer (or user) who requests data, programs, and services from servers. configuration file A file that contains configuration information for a particular program. When the program is executed, it consults the configuration file to see what parameters are in effect. See INI file and .sim file. data entry box An empty box that accepts data from the user's keyboard, typically ASCII text. data entry form A form that accepts data from the user's keyboard, typically ASCII text. developer See user. dial-up service A commercial business that provides connections to the Internet for stand-alone computers and small networks. See Internet Service Provider. distance-learning A type of education where students work on their own at home or at the office and communicate with faculty and other students via e-mail, electronic forums, videoconferencing and other forms of computer-based communication. Distance learning is becoming especially popular with companies that need to regularly re-train their employees because it is less expensive than bringing all the students together in a traditional classroom setting. file extension In DOS and some other operating systems, one or several letters at the end of a filename. Filename extensions usually follow a period (dot) and indicate the type of information stored in the file. This portion of a file name following the final period (.) has historically been three characters in length, although an extension can be any number of characters in most present-day computer applications. The "Web-based Simulation Development System" uses a "sim" file extension for its configuration files. form A Web page designed to allow the user to type information into a Web browser page and send that information to over the Internet. forms interface A formatted browser document containing blank fields that a user can fill in with data. frame See either Netscape frame or simulation frame. freeBSD A popular and free version of UNIX that runs on Intel microprocessors. GIF An 8-bit (256 colors) image format supported by most graphical Web browsers. graphical Web browser A browser that supports the drawing of images, formatted text, and colors. See Table 2 ("Available Web browsers") on page 7. hardware The physical components of a computer; see Table 1 ("Basic computer system") on page 6. HTML The rules that govern the way documents are created so that can be read by a WWW browser. See HyperText Markup Language. Italicizes words are defined in the Glossary found on page 26. 26 Web-based Simulation Development System Introduction HyperText Markup Language The markup language with which World Wide Web (WWW) documents are written. HTML lets you create hypertext links, fill-in forms and clickable images (i.e., images that you click to access another area) using plain ASCII text and special bracketed <> commands to specify text attributes and page characteristics. HTTP The standard for moving hypertext files across the Internet. See HyperText Transfer Protocol. HyperText Transfer Protocol An application-level protocol for distributed, hypermedia information systems. INI file The architectural basis for the simulation configuration files used in the Simulation Development System. INI files are plain-text files that contain configuration information used to correctly configure simulations. Historically, these files have been used by Windows© and Windows©-based applications to save information about user preferences and operating environment. INI files contain one or more sections. Each section begins with a section name, which is followed by zero or more entries. Comments can also be included in the file by prefacing the comment with a semicolon (;). An entry associates a keyname with a value. The general format is: [section] keyname=value INI scheme See INI file. interactive frame editor See simulation editor. Internet A global decentralized network connecting millions of computers. Internet Service Provider (ISP) A commercial business that provides connections to the Internet for stand-alone computers and small networks. Typically, both modem-based and NIC-based connections are available. IP address A specially-formatted number which represents a unique physical Internet address. A valid IP address is a unique 32-bit number specified as four 8-bit numbers (represented as integers) called octets. The four octets are connected by periods. The numbers must be in the range 0-255. The general format is : 207.158.64.10 ISP See Internet Service Provider. Java A platform-independent programming language developed by Sun Microsystems that facilitates using animation and executing complicated instructions directly on a client's computer (Java is not utilized in the Simulation Development System). JavaScript A scripting language developed by Netscape to enable Web authors to design interactive sites. Javascript can interact with HTML source code, enabling Web authors to spice up their sites with dynamic content. JavaScript is endorsed by a number of software companies and is an open language that anyone can use without purchasing a license. It is supported by recent browsers from Netscape and Microsoft, though Internet Explorer supports only a subset, which Microsoft calls Jscript. (The Simulation Development System provides utilities and features for both JavaScript-enabled and non-JavaScript browsers). JPEG A 24-bit (16,777,215 colors) image format supported by most graphical Web browsers. language protocol The specifications that define procedures used by computers when they transmit and receive data. The rules by which computers communicate. link A specially-formatted section on a Web page that contains the address of a Web page and, when clicked with a mouse, loads that page into the user's browser window. Microsoft Windows© A family of operating systems for personal computers. Windows© provides a graphical user interface (GUI), virtual memory management, multitasking, and support for many peripheral devices. modem A hardware component that allows stand-alone computers to send and receive through standard telephone lines. It converts the computer's digital communications into analog signals that can be carried on a regular telephone line. Netscape A popular Web browser. See graphical browser. See Table 2 ("Available Web browsers") on page 7. Netscape frame Refers to dividing the browser display area into separate sections, each of which loads a different Web page. network interface card A hardware component that enables a computer to communicate on a network. It converts data from the form stored on the computer to the form transmitted on the network. NIC See network interface card. pop-up window A separate browser window that opens in front of the main browser window. Typically, used for Help information and for advertisements on the Web. previous / next Specialized buttons in the Simulation Development System used to move forward and backward through an active simulation. Italicizes words are defined in the Glossary found on page 26. 27 Web-based Simulation Development System Introduction proxy server An intermediary program that acts as both a server and a client for the purpose of making requests on behalf of other clients. Proxies are often used as client-side portals (i.e., a trusted agent that can access the Internet on the client's behalf) through the network firewall and as helper applications for handling requests via protocols not implemented by the user agent. .sim file Configuration file used to create a simulation. See INI file. simulation A series of browser screens that, when viewed sequentially from beginning to end, describe a process or procedure. simulation editor The application that allows a user to interactively build a simulation by providing text input areas for user input of simulation configuration information. simulation engine The application that reads a simulation configuration file, creates each simulation frame, and sends consecutive simulation frames to a user'sWeb browser. simulation frame An individual step in a simulated process, shown on one Web page (i.e., on one browser screen). simulation utility A generic term used for applications like the "Web-based Simulation Development System." source code Typically, refers to computer programming languages. For this SRD, source code refers simply to the raw process described by a individual simulation. stand-alone computer A computer that is not connected to a network. submit The button used to send a page of information to the Simulation Development System for interpretation. surf (the Internet) A common term used to describe looking for information on the Internet through a Web browser (either graphical or text-based). See Table 3 ("Available Web browsers") on page 7. text-based browser A browser that supports only textual information and does not draw images, speciallyformatted text, or colors to a user's screen. See Table 2 ("Available Web browsers") on page 7. tool bar A set of icons or words representing available functions in an application. URL Abbreviation of Uniform Resource Locator. Represents the global address of documents and other resources on the World Wide Web. Typically, a logical name which is easy to remember and provides the same functionality as an IP address. The general format is: www.cyberramp.net user Typically, anyone utilizing the services of a computer application. For this SRD, user refers specifically to the developer of a simulation rather than the eventual viewer of a completed simulation. Generically, user would refer to an instructor or their students or intended audience. Sometimes referred to as the client. value Either plain ASCII or HTML text to be used as formatting information within a completed simulation. See attribute=value pair. Web See World Wide Web. Web-based Refers to the use of the Internet and Web browsers. Web-based application An application that utilizes the features of common Web browsers to present information to a geographically disperse audience. Web browser A software application used to locate and display Web pages. The two most popular browsers are Netscape Navigator and Microsoft Internet Explorer. Both of these are graphical Web browsers, which means they can display graphics as well as text. In addition, most modern browsers can present multimedia information, including sound and video. See Table 2 ("Available Web browsers") on page 7. Web server A software program running on a computer connected to the Internet. The term Web server also refers to the computer on which the software is running. The Web server's task is to respond to requests for WWW files. Most Web servers are permanently connected to the Web and wait continuously for file requests from the Internet. When requests arrive, a Web server responds by sending the requested file to the requesting IP address. workstation A computer connected to a network. World Wide Web A specialized system of Internet servers that support specially-formatted documents. The documents are formatted in a language called HTML (HyperText Markup Language) that supports links to other documents, as well as graphics, audio, and video files. This format enables a user to jump from one document to another simply by clicking on hot spots on a Web page. Not all Internet servers are part of the World Wide Web. WWW See World Wide Web. Italicizes words are defined in the Glossary found on page 26. 28 Web-based Simulation Development System Introduction Appendix A : Special HTML Characters This coded character set is based on ISO-8859-1. The alternative code references are based on ISO-8879, which is a newer proposed standard but as yet unfinished. Codes #48 - #57 are the numbers 0 to 9 Codes #65 - #90 are the upper letters A to Z Codes #97 - #122 are the lower case letters a to z Symbol ! " # $ % & ' ( ) * + , . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ ‚ Reference 	   ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~ ‚ Description Horizontal tab Line feed Carriage Return Space Exclamation mark Quotation mark Number sign Dollar sign Percent sign Ampersand Apostrophe (straight) Left parenthesis Right parenthesis Asterisk Plus sign Comma Hyphen Period (fullstop) Solidus (slash) Colon Semi-colon Less than Equals sign Greater than Question mark Commercial at Left square bracket Reverse solidus (backslash) Right square bracket Caret Horizontal bar (underscore) Acute accent Left curly brace Vertical bar Right curly brace Tilde Lower apostrophe Italicizes words are defined in the Glossary found on page 26. Alternative " " & & < < > > 29 Web-based Simulation Development System Symbol ƒ „ … † ‡ ˆ ‰ Š ‹ Œ ‘ ’ “ ” • – — ˜ ™ š › œ Ÿ Introduction ¡ ¢ £ ¤ ¥ ¦ § ¨ Reference ƒ „ … † ‡ ˆ ‰ Š ‹ Œ ‘ ’ “ ” • – — ˜ ™ š › œ Ÿ   ¡ ¢ £ ¤ ¥ ¦ § ¨ Description f symbol Lower inverted commas Ellipsis single cross Double cross Eastern European inflection Extended percent sign Eastern European capital S Small less-than symbol Capital OE Apostrophe (left) Apostrophe (right) Inverted commas (left) Inverted commas (right) Round bullet En dash Em dash Small tilde Trademark symbol Eastern European small S Small greater-than symbol Lower case oe Y umlaut Non-breaking Space Inverted exclamation Cent sign Pound sterling General currency sign Yen sign Broken vertical bar Section sign Umlaut (dieresis) © ª « ¬ ® ¯ © ª « ¬ ­ ® ¯ Copyright Feminine ordinal Left angle quote, guillemotleft Not sign Soft hyphen Registered trademark Macron accent ° ± ² ³ ´ µ ° ± ² ³ ´ µ Degree sign Plus or minus Superscript two Superscript three Acute accent Micro sign Italicizes words are defined in the Glossary found on page 26. Alternative ™ ¡ ¢ £ ¤ ¥ ¦ § ¨ ¨ © ª « ¬ ­ ® ¯ &hibar; ° ± ² ³ ´ µ ™ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ 30 Web-based Simulation Development System Symbol ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä Reference ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß à á â ã ä Introduction Description Paragraph sign Middle dot Cedilla Superscript one Masculine ordinal Right angle quote, guillemotright Fraction one-quarter Fraction one-half Fraction three-quarters Inverted question mark Capital A, grave accent Capital A, acute accent Capital A, circumflex accent Capital A, tilde Capital A, dieresis or umlaut mark Capital A, ring Capital AE dipthong (ligature) Capital C, cedilla Capital E, grave accent Capital E, acute accent Capital E, circumflex accent Capital E, dieresis or umlaut mark Capital I, grave accent Capital I, acute accent Capital I, circumflex accent Capital I, dieresis or umlaut mark Capital Eth, Icelandic Capital N, tilde Capital O, grave accent Capital O, acute accent Capital O, circumflex accent Capital O, tilde Capital O, dieresis or umlaut mark Multiply sign Capital O, slash Capital U, grave accent Capital U, acute accent Capital U, circumflex accent Capital U, dieresis or umlaut mark Capital Y, acute accent Capital Thorn, Icelandic Small sharp s, German (sz ligature) Small a, grave accent Small a, acute accent Small a, circumflex accent Small a, tilde Small a, dieresis or umlaut mark Italicizes words are defined in the Glossary found on page 26. Alternative ¶ ¶ · · ¸ ¸ ¹ ¹ º º » » ¼ ¼ ½ ½ ¾ ¾ ¿ ¿ À À Á Á Â Â Ã Ã Ä Ä Å Å Æ Æ Ç Ç È È É É Ê Ê Ë Ë Ì Ì Í Í Î Î Ï Ï ð ð Ñ Ñ Ò Ò Ó Ó Ô Ô Õ Õ Ö Ö × × Ø Ø Ù Ù Ú Ú Û Û Ü Ü Ý Ý þ þ ß ß à à á á â â ã ã ä ä 31 Web-based Simulation Development System Symbol å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Reference å æ ç è é ê ë ì í î ï ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ Introduction Description Small a, ring Small ae dipthong (ligature) Small c, cedilla Small e, grave accent Small e, acute accent Small e, circumflex accent Small e, dieresis or umlaut mark Small i, grave accent Small i, acute accent Small i, circumflex accent Small i, dieresis or umlaut mark Small eth, Icelandic Small n, tilde Small o, grave accent Small o, acute accent Small o, circumflex accent Small o, tilde Small o, dieresis or umlaut mark Division sign Small o, slash Small u, grave accent Small u, acute accent Small u, circumflex accent Small u, dieresis or umlaut mark Small y, acute accent Small thorn, Icelandic Small y, dieresis or umlaut mark Alternative å å æ æ ç ç è è é é ê ê ë ë ì ì í í î î ï ï ð ð ñ ñ ò ò ó ó ô ô õ õ ö ö ÷ ÷ ø ø ù ù ú ú û û ü ü ý ý þ þ ÿ ÿ End of HTML Special Character table Italicizes words are defined in the Glossary found on page 26. 32 Web-based Simulation Development System Introduction Appendix B : Sample Simulation Configuration File ; Simulation test file using Java [Configuration] Number of simulations=7 Title=Simple Java programming - Step $SIM$ Heading=<h2>Simple Java programming - Step $SIM$</h2> Author=Orrin Stevens Author [email protected] Keywords=Java;java Description=Show a brief example of a Java applet Background Color=white Background Image= Variable Table Attribute=border=1 cellpadding=8 Inactive Variable Cell Attributes=bgcolor=white Inactive Variable Text Attributes=<b> $VALUE$ </b> Active Variable Cell Attributes=bgcolor=blue Active Variable Text Attributes=<font color=white><b> $VALUE$ </b></font> Source Table Attributes=border=1 cellpadding=8 Exec Line Attributes=<font color=red><b>==>> $VALUE$ </b></font> Normal Line Attributes=$VALUE$ Remarks Table Attributes=border=1 cellpadding=8 bgcolor=oldlace Output Table Attributes=border=1 cellpadding=8 bgcolor=oldlace textcolor=blue Previous Link=<a href="$PREVIOUS$">Previous frame</a> Next Link=<a href="$NEXT$">Next frame</a> [Source] import java.awt.Graphics; import java.awt.Color; import java.awt.Font; public class JavaSim extends java.applet.Applet { String sPart1 = "Nothing here ", sPart2 = "but us chickens."; Font f = new Font("TimesRoman", Font.BOLD, 16); public void paint(Graphics g) { g.setFont(f); g.setColor(Color.blue); g.drawString(sPart1 + sPart2,15,35); } } [SIM 1] !EXEC 1 Italicizes words are defined in the Glossary found on page 26. 33 Web-based Simulation Development System Introduction !REMARKS The first three lines load libraries required for this example.<p> <p> "awt" is an abbreviation of Abstract Windowing Toolkit.<p> !LINKS [SIM 2] !EXEC 5 !REMARKS This line (specifically, the portion beginning with "extends") prepares<br> the Java class for processing as an applet in a Java-enabled Web browser. !LINKS [SIM 3] !LINKS !EXEC 6 !REMARKS These two lines declare and initialize two String objects.<p> !LINKS [SIM 4] !LINKS !EXEC 8 !REMARKS This line declares and initializes a Font object.<p> !LINKS [SIM 5] !LINKS !EXEC 10 !REMARKS The paint() method actually displays this applet onscreen. Because <br> the default paint() method is empty, each and every Java applet <br> must override paint() with something to do.<p> !LINKS [SIM 6] !LINKS !EXEC 11 Italicizes words are defined in the Glossary found on page 26. 34 Web-based Simulation Development System Introduction !REMARKS The following two lines prepare the Graphics object <b>g</b> for rendering.<br> <i>setFont()</i> tells the Graphics object what default drawing font to use.<br> <i>setColor()</i> tells the Graphics object what default color to use.<p> !LINKS [SIM 7] !LINKS !EXEC 13 !OUTPUT <font color=blue>Nothing here but us chickens.</font><p> !REMARKS This line actually renders a string on the screen in the default color (<font color=blue>blue</font>), <br> using the default font (Times New Roman), at a specific screen coordinate (15,35).<br> <p> Note: Java facilitates string concatenation using the <b>+</b> symbol.<p> <p> <i><font size=5><b>END OF SIMULATION</b></font></i> !LINKS End of sample simulation configuration file Italicizes words are defined in the Glossary found on page 26. 35