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 &lt;iostream.h&gt;
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
&#09;
&#10;
&#13;
&#32;
&#33;
&#34;
&#35;
&#36;
&#37;
&#38;
&#39;
&#40;
&#41;
&#42;
&#43;
&#44;
&#45;
&#46;
&#47;
&#58;
&#59;
&#60;
&#61;
&#62;
&#63;
&#64;
&#91;
&#92;
&#93;
&#94;
&#95;
&#96;
&#123;
&#124;
&#125;
&#126;
&#130;
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
&quot;
"
&amp;
&
&lt;
<
&gt;
>
29
Web-based Simulation Development System
Symbol
ƒ
„
…
†
‡
ˆ
‰
Š
‹
Œ
‘
’
“
”
•
–
—
˜
™
š
›
œ
Ÿ
Introduction
¡
¢
£
¤
¥
¦
§
¨
Reference
&#131;
&#132;
&#133;
&#134;
&#135;
&#136;
&#137;
&#138;
&#139;
&#140;
&#145;
&#146;
&#147;
&#148;
&#149;
&#150;
&#151;
&#152;
&#153;
&#154;
&#155;
&#156;
&#159;
&#160;
&#161;
&#162;
&#163;
&#164;
&#165;
&#166;
&#167;
&#168;
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)
©
ª
«
¬
®
¯
&#169;
&#170;
&#171;
&#172;
&#173;
&#174;
&#175;
Copyright
Feminine ordinal
Left angle quote, guillemotleft
Not sign
Soft hyphen
Registered trademark
Macron accent
°
±
²
³
´
µ
&#176;
&#177;
&#178;
&#179;
&#180;
&#181;
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
&trade;
&nbsp;
&iexcl;
&cent;
&pound;
&curren;
&yen;
&brvbar;
&sect;
&uml;
&die;
&copy;
&ordf;
&laquo;
&not;
&shy;
&reg;
&macr;
&hibar;
&deg;
&plusmn;
&sup2;
&sup3;
&acute;
&micro;
™
¡
¢
£
¤
¥
¦
§
¨
©
ª
«
¬
®
¯
°
±
²
³
´
µ
30
Web-based Simulation Development System
Symbol
¶
·
¸
¹
º
»
¼
½
¾
¿
À
Á
Â
Ã
Ä
Å
Æ
Ç
È
É
Ê
Ë
Ì
Í
Î
Ï
Ð
Ñ
Ò
Ó
Ô
Õ
Ö
×
Ø
Ù
Ú
Û
Ü
Ý
Þ
ß
à
á
â
ã
ä
Reference
&#182;
&#183;
&#184;
&#185;
&#186;
&#187;
&#188;
&#189;
&#190;
&#191;
&#192;
&#193;
&#194;
&#195;
&#196;
&#197;
&#198;
&#199;
&#200;
&#201;
&#202;
&#203;
&#204;
&#205;
&#206;
&#207;
&#208;
&#209;
&#210;
&#211;
&#212;
&#213;
&#214;
&#215;
&#216;
&#217;
&#218;
&#219;
&#220;
&#221;
&#222;
&#223;
&#224;
&#225;
&#226;
&#227;
&#228;
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
&para;
¶
&middot;
·
&cedil;
¸
&sup1;
¹
&ordm;
º
&raquo;
»
&frac14;
¼
&frac12;
½
&frac34;
¾
&iquest;
¿
&Agrave;
À
&Aacute;
Á
&Acirc;
Â
&Atilde;
Ã
&Auml;
Ä
&Aring;
Å
&AElig;
Æ
&Ccedil;
Ç
&Egrave;
È
&Eacute;
É
&Ecirc;
Ê
&Euml;
Ë
&Igrave;
Ì
&Iacute;
Í
&Icirc;
Î
&Iuml;
Ï
&eth;
ð
&Ntilde;
Ñ
&Ograve;
Ò
&Oacute;
Ó
&Ocirc;
Ô
&Otilde;
Õ
&Ouml;
Ö
&times;
×
&Oslash;
Ø
&Ugrave;
Ù
&Uacute;
Ú
&Ucirc;
Û
&Uuml;
Ü
&Yacute;
Ý
&thorn;
þ
&szlig;
ß
&agrave;
à
&aacute;
á
&acirc;
â
&atilde;
ã
&auml;
ä
31
Web-based Simulation Development System
Symbol
å
æ
ç
è
é
ê
ë
ì
í
î
ï
ð
ñ
ò
ó
ô
õ
ö
÷
ø
ù
ú
û
ü
ý
þ
ÿ
Reference
&#229;
&#230;
&#231;
&#232;
&#233;
&#234;
&#235;
&#236;
&#237;
&#238;
&#239;
&#240;
&#241;
&#242;
&#243;
&#244;
&#245;
&#246;
&#247;
&#248;
&#249;
&#250;
&#251;
&#252;
&#253;
&#254;
&#255;
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
&aring;
å
&aelig;
æ
&ccedil;
ç
&egrave;
è
&eacute;
é
&ecirc;
ê
&euml;
ë
&igrave;
ì
&iacute;
í
&icirc;
î
&iuml;
ï
&eth;
ð
&ntilde;
ñ
&ograve;
ò
&oacute;
ó
&ocirc;
ô
&otilde;
õ
&ouml;
ö
&divide;
÷
&oslash;
ø
&ugrave;
ù
&uacute;
ú
&ucirc;
û
&uuml;
ü
&yacute;
ý
&thorn;
þ
&yuml;
ÿ
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