Simulation network exploitation SEDR tool suite: system manual

Transcription

Simulation network exploitation SEDR tool suite: system manual
Simulation network exploitation
SEDR tool suite: system manual
Bobby Chawla, Bassem Mikhael and Oliver Schoenborn
The scientific or technical validity of this Contract Report is entirely the responsibility of the Contractor
and the contents do not necessarily have the approval or endorsement of Defence R&D Canada.
Defence R&D Canada --- Ottawa
CONTRACT REPORT
DRDC Ottawa CR 2008-313
April 2009
Simulation network exploitation
SEDR tool suite: system manual
Bobby Chawla
Bassem Mikhael
Oliver Schoenborn
CAE Professional Services
Prepared By:
CAE Professional Services
1135 Innovation Dr. Suite 300
Kanata, ON K2K 3G7
Contract Project Manager: Leo Roberts, 613-293-8993
W8475-06BM04
CSA: Nacer Abdellaoui, Defence Scientist, 613-998-4582
The scientific or technical validity of this Contract Report is entirely the responsibility of the Contractor and the
contents do not necessarily have the approval or endorsement of Defence R&D Canada.
Defence R&D Canada – Ottawa
Contract Report
DRDC Ottawa CR 2008-313
April 2009
Contract Scientific Authority
Original signed by Nacer Abdellaoui
Nacer Abdellaoui
Defence Scientist
Approved by
Original signed by Julie Tremblay
Julie Tremblay
H/CARDS
Approved for release by
Original signed by Pierre Lavoie
Pierre Lavoie
DRP Chair
© Her Majesty the Queen in Right of Canada, as represented by the Minister of National Defence, 2009
© Sa Majesté la Reine (en droit du Canada), telle que représentée par le ministre de la Défense nationale,
2009
Abstract ……..
This document is a system manual for the Synthetic Environment Distributed Resources (SEDR)
Tool Suite. It allows simulation experts to increase the re-usability of simulation systems in other
projects and by non-expert users, by facilitating the discovery and viewing of simulation-related
documents as well as the execution of “executable data” in the form of “control recipes” that
encode the start-up sequence of a distributed simulation. This manual describes the tool suite as a
system, i.e. its components, how to install it, how the components interoperate, etc.
Résumé ….....
Ce document représente le manuel du système du kit d’outils des ressources distribuées des
environnements synthétiques (SEDR). Il permet aux experts de la simulation d’accroître les
possibilités de réutilisation des systèmes de simulation et d’étendre cette réutilisation à d'autres
projets. Il offre aussi aux utilisateurs non-experts, la facilité de la découverte et l'affichage des
documents connexes de la simulation, ainsi que l'exécution des éléments exécutables par le biais
de l’outil de contrôle. Ce manuel décrit les différentes composantes du kit, leurs installations, leur
interopérabilité, etc.
DRDC Ottawa CR 2008-313
i
This page intentionally left blank.
ii
DRDC Ottawa CR 2008-313
Executive summary
Simulation network exploitation: SEDR tool suite: system
manual
B. Chawla, B. Mikhael, O. Schoenborn; DRDC Ottawa CR 2008-313; Defence R&D
Canada - Ottawa; April 2009.
Introduction or background: This document is a system manual for the Synthetic Environment
Distributed Resources (SEDR) Tool Suite. It should assist system administrators in the
installation, account creation, and maintenance of the SEDR applications.
Results: These are the Synthetic Environment Distributed Resources Access (SEDRA) portal, its
accompanying tool the Synthetic Environment Distributed Resource Data Entry (SEDReDE)
portal, the Synthetic Environment Distributed Resources Control (SEDReC) station, and the
Remote Python Call (RPyC) Python library for remote procedure call server.
Significance: SEDRA, SEDReDE and SEDReC were developed to address simulation network
exploitability issues identified in the early stages of the Simulation Network Exploitation (SNE)
Advanced Research Program (ARP) project (13jb) in 2005 in the Future Forces Synthetic
Environments (FFSE) group at DRDC-Ottawa.
The SEDR tool suite allows simulation experts to increase the re-usability of simulation systems
in other projects and by non-expert users, by facilitating the discovery and viewing of simulationrelated documents as well as the execution of “executable data” in the form of “control recipes”
that encode the startup sequence of a distributed simulation.
DRDC Ottawa CR 2008-313
iii
Sommaire .....
Simulation network exploitation: SEDR tool suite: system
manual
Chawla, B., Mikhael, B., Schoenborn, O.; DRDC Ottawa CR 2008-313; R & D pour la
défense Canada – Ottawa; Avril 2009.
Introduction ou contexte: Ce document est le manuel du système du kit d’outils des ressources
distribuées des environnements synthétiques (SEDR). Il est destiné aux administrateurs du
système pour aider durant l'installation, la création de compte, et le maintien des applications du
SEDR.
Résultats: Ce kit est composée du portail d’accès des ressources distribuées des environnements
synthétiques (SEDRA), l’outil d'accompagnement de SEDRA identifiee comme le portail de
saisie de données ressources distribuées des environnements synthétiques (SEDReDE), de la
station de contrôle des ressources distribuées des environnements synthétiques (SEDReC), et la
librairie de télécommande d’appel Python (RPyC) du serveur d’appel de procédure a distante.
Importance: SEDRA, SEDReDE et SEDReC ont été mis au point pour répondre aux problèmes
recensés au sein de la section environnements synthétiques des Forces du Future (ESFF) lors des
premières étapes du projet «Exploitation de réseau de simulations» (SNE) à RDDC groupe Ottawa. La suite d'outils SEDR permet aux experts d'accroître les possibilités de réutilisation des
systèmes de simulation dans d'autres projets et permet aux utilisateurs non-experts, de facilement
découvrir et voir les documents connexes de la simulation, ainsi que l'exécution des éléments
exécutable par le biais des «recettes de contrôle» qui codent la séquence de démarrage de la
simulation distribuée.
iv
DRDC Ottawa CR 2008-313
Table of contents
Abstract …….. ................................................................................................................................. i
Executive summary ........................................................................................................................ iii
Table of contents ............................................................................................................................. v
List of figures ................................................................................................................................ vii
1
Overview of Document............................................................................................................. 1
1.1
Concept of Operation .................................................................................................... 1
1.2
Intended Audience......................................................................................................... 1
1.3
Terminology .................................................................................................................. 2
1.3.1
User Terminology ........................................................................................... 2
1.3.2
Machine Terminology..................................................................................... 3
2
Overview of SEDR system ....................................................................................................... 4
2.1
Clients............................................................................................................................ 4
2.1.1
SEDRA portal ................................................................................................. 4
2.1.2
SEDReC station .............................................................................................. 4
2.1.3
SEDReDE portal ............................................................................................. 5
2.2
Servers ........................................................................................................................... 5
2.2.1
Database Server(s) .......................................................................................... 5
2.2.2
Resource Server(s) .......................................................................................... 5
2.2.3
Simulation Servers(s) ...................................................................................... 5
3
System requirements................................................................................................................. 6
3.1
Clients............................................................................................................................ 6
3.2
Servers ........................................................................................................................... 6
4
Installation ................................................................................................................................ 7
4.1
Prerequisites .................................................................................................................. 7
4.2
Description of Dependencies......................................................................................... 8
4.2.1
Python-related dependencies........................................................................... 8
4.2.2
Python-related dependencies........................................................................... 9
4.2.3
Database and Repository servers .................................................................... 9
4.2.4
Simulation servers......................................................................................... 10
4.2.5
Optional components .................................................................................... 10
4.3
Installing the SEDRA Portal Client............................................................................. 11
4.3.1
Install dependencies ...................................................................................... 11
4.3.1.1
(Optional) Install SQL support ................................................... 12
4.3.2
Install client application ................................................................................ 12
4.3.3
Create Desktop shortcut ................................................................................ 12
4.4
Installing Database Servers ......................................................................................... 12
4.4.1
MySQL.......................................................................................................... 13
DRDC Ottawa CR 2008-313
v
4.5
4.6
4.7
4.4.1.1
Installing and Setting up MySQL ............................................... 13
4.4.1.2
Create an empty MySQL database ............................................. 18
4.4.1.3
Create user accounts ................................................................... 18
4.4.1.4
Create modifier accounts ............................................................ 21
Installing Repository Servers ...................................................................................... 21
Installing SEDReC ...................................................................................................... 22
4.6.1
Install dependencies for SEDReC client ....................................................... 22
4.6.2
Install client application ................................................................................ 23
4.6.3
Simulation servers......................................................................................... 25
Installing SEDReDE.................................................................................................... 26
4.7.1
Prerequisites .................................................................................................. 27
4.7.1.1
Installing and configuring the Apache 2.2.6 Web Server.......... 27
4.7.1.2
Setting Up Apache 2.2.6 Web Server Security and Resources. . 29
4.7.2
Install the SEDReDE web page and Java applet........................................... 30
4.7.3
Install JRE on each client.............................................................................. 30
References ..... ............................................................................................................................... 31
List of symbols/abbreviations/acronyms/initialisms ..................................................................... 33
vi
DRDC Ottawa CR 2008-313
List of figures
Figure 1: MySQL: Server Setup Wizard. ...................................................................................... 13
Figure 2: MySQL: Setup type. ...................................................................................................... 14
Figure 3: MySQL: MySQL.com signup........................................................................................ 14
Figure 4: MySQL: Setup Wizard completed, but…...................................................................... 15
Figure 5: MySQL: Server Instance Configuration. ....................................................................... 15
Figure 6: MySQL: install options on Microsoft Windows XP...................................................... 16
Figure 7: MySQL: Setting root password...................................................................................... 16
Figure 8: MySQL: Creating a Server instance. ............................................................................. 17
Figure 9: MySQL: Successful installation of Server..................................................................... 17
Figure 10: MySQL: Logging into MySQL Administrator. ........................................................... 19
Figure 11: MySQL: Adding new users in MySQL. ...................................................................... 20
Figure 12: MySQL: Setting user privileges................................................................................... 21
Figure 13: SEDReC: Example shortcut to run client with yourRecipe.xml.................................. 23
Figure 14: SEDReC: Step 5 in associating a file extension to an executable................................ 24
Figure 15: SEDReC: Create a shortcut to start RPyC’s tls_server on each sim host .................... 26
Figure 16: Apache: Server information. ........................................................................................ 27
Figure 17: Apache: setup type....................................................................................................... 28
Figure 18: Apache: Installed features............................................................................................ 28
Figure 19: Apache: Http Service Icon. .......................................................................................... 29
DRDC Ottawa CR 2008-313
vii
This page intentionally left blank.
viii
DRDC Ottawa CR 2008-313
1
Overview of Document
This document is a system manual for the Synthetic Environment Distributed Resources (SEDR)
Tool Suite. It should assist system administrators in the installation, account creation, and
maintenance of the SEDR applications. These are the Synthetic Environment Distributed
Resources Access (SEDRA) portal, its accompanying tool the Synthetic Environment Distributed
Resource Data Entry (SEDReDE) portal, the Synthetic Environment Distributed Resources
Control (SEDReC) station, and the Remote Python Call (RPyC) Python library for remote
procedure call server.
SEDRA, SEDReDE and SEDReC were developed to address simulation network exploitability
issues identified in the early stages of the Simulation Network Exploitation (SNE) Advanced
Research Program (ARP) project (13jb) in 2005 in the Future Forces Synthetic Environments
(FFSE) group at DRDC-Ottawa.
The SEDR tool suite allows simulation experts to increase the re-usability of simulation systems
in other projects and by non-expert users, by facilitating the discovery and viewing of simulationrelated documents as well as the execution of “executable data” in the form of “control recipes”
that encode the start-up sequence of a distributed simulation.
1.1
Concept of Operation
SEDRA allows a User to access a variety of information and documentation about simulation
resources through a single Graphical User Interface (GUI). This GUI is intended to facilitate the
discovery of, searching through, and access to, a set of simulation resources available on a
distributed network of computers. The resources may be described in one or more databases on a
network, while SEDRA allows this information to be presented in a user-friendly and useful
manner.
SEDRA also allows accessing “recipes”* of software configurations and execution management
of experiments over a distributed network of computers. SEDRA delegates the task of viewing,
executing, and editing of recipes to the SEDReC station.
1.2
Intended Audience
This system manual is for the administrators of the system to assist in the
x installation,
x account creation, and
x maintenance of the SEDR system.
*
A structured description of the sequence of steps necessary to launch a system, readable by both humans
and some of the SEDR applications. Also referred to as a “control recipe”.
DRDC Ottawa CR 2008-313
1
This includes SEDRA, SEDReDE, SEDReC, as well as, the installation of RPyC on any remote
systems. The usage of SEDR applications is described in separate User Manuals.
Having read this manual you should be able to:
1. Install the various packages required for the system,
2. Have an understanding of which machines require which software,
3. How to install the SEDR software,
4. An appreciation of the different account types, and which users should have what level of
permissions.
The readers of this manual should be comfortable with modern computer systems, and their
graphical user interfaces. Also, a familiarity with how to unpack, and install software of various
environments (e.g. Windows, Linux) would be very useful.
The basic concepts of setting up web-services using “Apache HTTP Server”, TCP/IP networking,
such as hostnames, IP addresses, and URLs would be advisable as well.
1.3
Terminology
In this document, different terms are used for the different users of the SEDR system, which
interact with the system in different manners. There are also different types of machine
configurations for the various machines.
1.3.1
User Terminology
The people, or “actors”, are:
1. Portal Admin: in charge of
a. User account management for a given DB,
b. Installation and maintenance of Portals and DBs,
c. Data backup,
d. Notifications to users as to URLs of DBs etc.
The Portal Admin would only access the system only during installation, update and
removal of the application.
2. System Administrators:
a. Make the knowledge available via the SEDRA, which they install on several
computers, and a URL to access the database.
2
DRDC Ottawa CR 2008-313
b. They also maintain the web servers, if necessary to access the information referred to
in the portal.
c. Install RPyC on all simulation host machines which are required for a simulation
recipe.
3. Modifier: interacts directly with the DB server (not the Portal) to add, change and remove
data from the DB; more than one person can have “modifier” status.
4. Experts: incorporate the meta-data into the database using this published method. The expert
would be an individual that does not require permission to the SEDRA database itself, but
rather the information that it points to. I.e. Once a link from the database is made to a
location of the experimental results, the results can modified, without access to SEDRA.
5. User: uses the Portal to discover, view and/or execute simulation resources.
1.3.2
Machine Terminology
The computers on the SEDR network have different roles and responsibilities:
1. Client: Machine that is running SEDRA, SEDReC, or SEDReDE, and accessing information
from other servers.
2. Database Server: A machine where the SEDRA MySQL database is located, as well as an
Apache HTTP server that is configured to access the MySQL database.
3. Document Server: Any machine that has files referred to it by the SEDRA Database server.
4. Simulation Server: Any machine that is used as part of a SEDReC simulation “recipe”. The
recipe is acquired from a document server onto the client. SEDReC may start and stop
processes on simulation servers, or transfer files between simulation servers, etc.
The machine’s task may all reside on one machine, or they may be distributed amongst different
machines.
DRDC Ottawa CR 2008-313
3
2
Overview of SEDR system
The system consists of an integrated set of client tools that can be run individually, interfacing
with one or more types of servers distributed on a network. All the clients were designed so they
may run on multiple platforms, though some were only tested on MS Windows.
2.1
2.1.1
Clients
SEDRA portal
SEDRA allows a User to access a variety of information and documentation about simulation
resources through a single Graphical User Interface (GUI). This GUI is intended to facilitate the
discovery of, searching through, and access to, a set of simulation resources available on a
distributed network of computers. The resources may be described in one or more databases on a
network, while SEDRA allows this information to be presented in a user-friendly and useful
manner.
The two main types of simulation resources accessible are “regular” documents and executable
documents. The latter are “control recipes” of software configurations and execution management
of experiments involving executable simulation components distributed over a network of
computers. SEDRA is able to display a basic “preview” of a control recipe, but delegates the task
of viewing, executing, and editing of recipes to the SEDReC station.
SEDRA is able to interact with several types of database servers, and provides a straightforward
plug-in mechanism to support new database types. The three types currently supported are local
filesystem (FolderTree), remote HTTP, and MySQL.
The operating architecture of SEDRA consists of one client that accesses one or more databases
accessed via database servers. The SEDRA databases contain only meta-data, descriptions, and
keywords for the various documents on the repository servers across the network. The actual
documentation exists in the repositories; e.g. a project report in Portable Document Format
(PDF).
2.1.2
SEDReC station
The SEDReC station allows a user to describe the sequence of actions necessary to startup a
distributed system. SEDReC has no concept of “simulation” itself; it knows how to perform
actions on remote simulation servers in a defined order. It knows that these actions can span a
finite amount of time and therefore require monitoring for success and completion. Actions
available include transferring files, starting, and stopping a process, though several more are
planned for future releases.
SEDReC can be started from the SEDRA portal. However it can be run standalone as well.
Running standalone would be typical while developing a recipe, to reduce the overhead of going
through the portal GUI after every recipe change.
4
DRDC Ottawa CR 2008-313
The operating architecture of SEDReC consists of one client that launches one or more processes
in simulation servers. Before, or after, a sequence of actions, SEDReC may transfer files between
computers over the network.
2.1.3
SEDReDE portal
The SEDReDE portal provides a web-based interface to edit simulation resource meta-data stored
in a MySQL database. SEDReDE allows the Modifier to easily make and see modifications made
to the database in real-time. It has been developed to resemble the SEDRA portal so that
familiarity with it will facilitate the use of SEDReDE.
SEDReDE is an application written in Java, and then packaged into a Java Applet. The
applet is downloaded from the database server, starts up, and points to the MySQL
database on the database server’s computer system.
2.2
2.2.1
Servers
Database Server(s)
The database server runs the MySQL database engine, and stores the SEDReDE Java applet and
the Apache HTTP server to access SEDReDE. There is no specific need for Python to be
installed on the database server(s), nor a GUI interface. However a modern operating system that
supports networking, MySQL version 4.1.21, and Apache version 2.2.5 (or higher) is required.
2.2.2
Resource Server(s)
The resource server could be any machine that supports the HTTP protocol to send documents to
the client. There is no specific requirement for the document server to have a windowing
environment, nor run a particular web server.
2.2.3
Simulation Servers(s)
The simulation servers communicate with the SEDReC Client using RPyC. The RPyC
implementation is currently setup to run over a secure Transport Layer Security protocol.
Therefore it is necessary to have an operating system that supports Python version 2.4 (or higher),
RPyC version 2.60, as well as tlslite version 0.3.8 (or higher).
There is no specific need for a windowing environment or HTTP access from the simulation
machines. However the applications running on the Simulation Server may require these
resources.
DRDC Ottawa CR 2008-313
5
3
System requirements
3.1
Clients
1. SEDRA and SEDReC: The SEDRA portal and SEDReC station applications are built upon
the Python scripting language and the wxPython GUI toolkit. Therefore a modern
windowing operating system that supports Python version 2.4.3, and wxPython version
2.6.3.3 (or higher) is required.
2. SEDReDE: The SEDReDE web-based application is run from within a web browser, as a
Java Applet. Therefore it is sufficient for systems that must run the SEDReDE client to have
Java 1.5 installed. The more recent Java 1.6 cannot be used on some platforms.
3.2
Servers
1. Database server: A database server runs the MySQL database engine, and hosts the
SEDReDE Java applet and the Apache HTTP server to access SEDReDE. There is no
specific need for Python to be installed on the database server(s), nor a GUI interface.
However a modern operating system that supports networking, MySQL version 4.1.21, and
Apache version 2.2.5 (or higher) is required.
2. Resource server: A resource server could be any machine that supports the HTTP protocol to
send documents to the client. There is no specific requirement for the document server to
have a windowing environment, nor run a particular web server.
3. Simulation server: A simulation servers communicate with the Client using RPyC. The RPyC
implementation is currently setup to run over a secure Transport Layer Security protocol.
Therefore it is necessary to have an operating system that supports Python version 2.4 (or
higher), RPyC version 2.60, as well as tlslite version 0.3.8 (or higher).
There is no specific need for a windowing environment, nor http access from the simulation
machines. However the applications running on the Simulation Server may require these
resources.
6
DRDC Ottawa CR 2008-313
4
Installation
All clients have dependencies that must be installed on each machine that is going to be used as a
client. There are many dependencies such that an one-click install-everything “installer” does not
exist for each client. All dependencies are available on the installation CD and instructions are
given below for each one.
The clients themselves are easy to install: SEDRA and SEDReC clients, being desktop
applications written in pure Python, require simply copying the source files to desired location on
client machine. The SEDReDE client, being written as a web-based Java Applet, requires copying
the compiled Java files to an HTTP-accessible location on the database server.
The various servers come as individual packages downloaded from the Internet. These are also on
the CD. Their installation and configuration is not covered in this manual, except for aspects
specifically related to the SEDR tool suite.
The pre-requisites are described in section 4.1, followed in section 4.2 by a description of all
needed packages. The installation procedure is described in the remaining sections (4.3 to 4.7).
4.1
Prerequisites
Before installing any software, the System Administrator must have access, and log into a
privileged account that will allow modification of system files (e.g. ‘root’ or ‘administrator’). In
addition, the following must be determined for each stage of the installation:
x Clients: Determine which machines will have which kinds of clients: SEDRA, SEDReC,
SEDReDE. Install the appropriate dependencies on each, as described in each section.
Note that he SEDRA portal and SEDReC station have only been tested on MS Windows
XP. The instructions below are therefore specific to that platform. However, all the
dependencies are platform independent so installation should follow the same steps as on
MS Windows, except that “installers” are typically not available on Linux: building the
dependencies from source is necessary in many cases where some C/C++ extensions are
involved. Note that Python is pre-installed in several Linux distributions, however the
version installed may not be the one used for the SEDRA and SEDReC applications. Linux
supports multiple versions of Python on the same system so this hasn’t been an issue. The
SEDReDE portal has been tested on MS Windows XP from Internet Explorer and Firefox,
as well as on Linux RHEL 4.5 from Firefox.
x Database Server: Determine which types of databases will be used and on which machines.
Currently supported database types are Folder Tree, HTTP and MySQL. Verify that
compatible versions of all packages exist for selected database/machine combinations. If a
MySQL database will be used on a machine, that machine must also support the installation
of an HTTP server to serve the SEDReDE Java Applet. The HTTP and MySQL servers
have only been installed on MS Windows XP systems.
x Resource Server: Determine which machines will host resource servers. Those that don’t
have an HTTP server running constantly will need to have one installed.
DRDC Ottawa CR 2008-313
7
x Simulation Servers: Determine which machines will be available for executing simulationrelated programs. Some servers may have to be setup for “start at boot-time”, while other
machines may have to be setup as “serve on demand”, i.e. a user has to manually start the
server after login in. Security requirements should guide the choice. The simulation servers
have been run successfully on both MS Windows XP and Linux RHEL 4.5.
4.2
Description of Dependencies
The SEDR installation disk includes all the required dependencies, and some optional
components. This section is not required reading.
4.2.1
Python-related dependencies
The SEDRA portal and SEDReC station are based on Python and make use of several Open
Source packages that extend the Python run-time environment:
1. Python-2.4.x.msi – The Python language installer for MS Windows platforms. Python [1] is a
remarkably powerful dynamic programming language that is used in a wide variety of
application domains. Python is often compared to other command languages such as “Tcl”,
“Perl”, “Ruby”, “Scheme” or “Java”. Some of its key distinguishing features include:
Š Scripting language,
Š Intuitive object orientation syntax,
Š Natural expression of procedural code,
Š Exception-based error handling
Š Dynamic data types
Š Extensions and modules easily written in C, C++ (or Java for Jython, or .NET
languages for IronPython)
2. Python-2.4.4.tgz – Linux source for python. Builds out-of-the-box on RHEL 4.5.
3. wxPython2.6-win32-ansi-2.6.3.3-py24.exe – wxPython[2] is a GUI toolkit for the Python
programming language. It allows Python programmers to create graphical user interfaces,
simply and easily. It is implemented as a Python extension module (native code) that wraps
the popular wxWidgets cross platform GUI library written in C++. This file is the installer for
wxPython on MS Windows with Python 2.4.x already installed.
4. elementtree-1.2.6-20050316.win32.exe – ElementTree[4] is a package is designed to store
hierarchical data structures, such as simplified XML Information Sets (infosets), in memory.
For more information see: http://effbot.org/zone/element-index.htm
5. lxml-1.0.3.win32-py2.4.exe – lxml[5] is a Python binding for the libxml2 and libxslt libraries.
It provides safe and convenient access to these libraries using the ElementTree API. This file
is the installer for wxPython on MS Windows with Python 2.4.x already installed. This
8
DRDC Ottawa CR 2008-313
installer is for windows. For Linux, the .tgz will have to be downloaded and built from
source.
6. kid-0.9.3 – Kid[7] is an XML based template language that uses embedded Python to apply a
combination of the two technologies. The syntax was inspired by a number of existing
template languages, namely XSLT, TAL, and PHP. Kid integrates well with elementtree. It is
pure Python hence is platform independent.
7. SQLAlchemy-0.2.8 – The SQLAlchemy SQL Toolkit[8] and Object Relational Mapper is a
comprehensive set of tools for working with databases and Python. It has several distinct
areas of functionality which can be used individually or combined together. For more
information see: http://www.sqlalchemy.org/docs/04/intro.html
8. ctypes-1.0.1.win32-py2.4.exe – ctypes[10] is a foreign function library for Python. It provides
C compatible data types, and allows calling functions in DLL/shared libraries. It can be used
to wrap these libraries in pure Python.
9. delayedresult.py – The delayedresult.py is a wxPython module that provides asynchronous
return values from functions, useful in handling slow or blocking operations while allowing
the GUI to remain responsive.
10. MySQL-python.exe-1.2.1_p2.win32-py2.4.exe – MySQL-python[14] is an interface to the
popular MySQL database server for Python. It is the Python counterpart to Java’s
Connector/J (described below).
4.2.2
Python-related dependencies
1. Java – Java is a powerful and versatile programming language that is largely platform
independent. It was developed for desktop and web applications.
2. mysql-connector-java-5.0.4.zip – MySQL provides connectivity for client applications
developed in the Java programming language via a JDBC driver, which is called MySQL
Connector/J[13].
4.2.3
Database and Repository servers
1. mysql-essential-4.1.21-win32.msi – the mysql-essential[12] contains only the essential
components needed to run the MySQL server on a Windows machine. These include the
optimized server binaries for Windows 9x/ME and Windows NT based systems, the
command line tools, and the C developer files.
2. mysql-gui-tools-5.0-r12-win32.msi – The GUI tools package includes GUI for database
administration (MySQL Administrator), and the MySQL Query Browser[12].
3. apache_2.2.6-win32-x86-openssl-0.9.8e.msi– Apache[14] is, as of printing of this manual, the
most popular web server on the internet. The Apache HTTP Server Project is a collaborative
software development effort aimed at creating a robust, commercial-grade, full featured and
DRDC Ottawa CR 2008-313
9
freely available source code implementation of an HTTP (Web) server. This dependency is
required on the database server if using either HTTP or MySQL database types for storing
simulation resource meta-data. It is required on the repository servers if simulation resources
will be accessed via HTTP protocol. Note that there are many other HTTP servers that could
be suitable replacement.
4.2.4
Simulation servers
1. rpyc-2.60.zip – RPyC[16] (pronounced "are-pie-see") is a transparent, symmetrical python
library for distributed-computing. It gives full control over a remote slave-interpreter (a
separate python process running on a remote host), which performs operations on behalf of a
client RPyC running on the local host.
2. tlslite-0.3.8 – TlsLite[17] is required by the tls_server. The tls_server uses Transport Layer
Security (TLS) sockets for communications. This server provides authentication (based on
username-password pairs) and data encryption to RPyC communications between SEDReC
client and simulation hosts.
4.2.5
Optional components
These components are included on the system CD for installation at the discretion of the System
Administrator.
1. wxPython2.6-win32-docs-demos-2.6.3.3.exe – The wxPython docs-demos package contains
wxPython Documents, Demos, and Samples. This is an optional, but highly recommended for
developers. It contains:
Š The wxPython demo
Š Several small sample applications
Š Start Menu launchers for the demo and tools such as PyCrust and XRCed
Š The wxWidgets documentaion, in a MS HTMLHelp file
2. MySQL-python-1.2.2.win32-py2.4.exe – an updated version of MySQL-python, that has not
been tested for the current configuration, and therefore is not supported.
3. cElementTree-1.0.5-20051215.win32-py2.4.exe – A
ElementTree API[18].
fast
C
implementation
of
the
4. ez_setup.py – Easy Install is a python module (easy_install) bundled with setuptools that
lets you automatically download, build, install, and manage Python packages. The
ez_setup.py script is a Python script that can extends the basic Python install package by
automatically fetching dependencies of a package being installed.
5. mfc71.dll – A DLL that is sometimes missing on Windows installations. I.e. if starting the
python on Windows systems fails, copy mfc71.dll to c:/winnt/system32 directory
10
DRDC Ottawa CR 2008-313
6. nose-0.9.1.tar.gz – Python-nose[9] is a unittest-based testing framework for Python that
makes writing and running unit tests easier. More information can be found at:
http://code.google.com/p/python-nose/
7. SQLAlchemy-0.3.x – Newer versions of SQL Alchemy. There appears to be a bug in this
version that prevents it from being used with SEDRA portal. However more recent versions
may be usable.
8. lxml-1.1.1.win32-py2.4.exe – a newer version of lxml. Does not work with SEDRA.
4.3
Installing the SEDRA Portal Client
SEDRA client installation consists of three steps: install each dependency, install client, create
Desktop short-cut. Note that some dependencies are shared with SEDReC, hence if SEDReC is
already installed the common steps can be skipped.
4.3.1
Install dependencies
Before installing SEDRA, it is necessary to install the necessary dependencies. The sequence of
the installation is important since some packages rely on the existence of others.
All of the following packages are located in the “dependencies” folder on the SEDR Installation
disk. Following steps must be done in order:
1. Using the computer’s browser, navigate to the SEDR installation disk. Run the python
installer: Python-2.4.3.msi. All the default options are fine.
2. Install wxPython2.6-win32-ansi-2.6.3.3-py24.exe.
All defaults are fine.
3. Install ElementTree by running elementtree-1.2.6-20050316.win32.exe.
4. Install lxml 1.0.3. Use the lxml-1.0.3.win32-py2.4.exe version.
5. Extract kid-0.9.3 to a folder of your choice, then:
a. Open command shell,
b. Goto (cd) to kid root folder
c. Do "c:\Python24\python setup.py install". If the setup script fails: download the most
recent version of ez_setup.py (at http://peak.telecommunity.com/dist/ez_setup.py)
and retry.
DRDC Ottawa CR 2008-313
11
4.3.1.1
(Optional) Install SQL support
1. Install sqlalchemy 0.2.8. Note that more recent versions of sqlAlchemy are reported not to
work.
2. Install the mysql-python package (DB API for MySQL)
3. Install MySQL-python-1.2.2.win32-py2.4.exe
4.3.2
Install client application
The software for SEDRA exists in the “src” folder on the SEDR Installation disk. This folder can
be copied to a location on the Client machine (i.e. c:\arp13j\ for Windows, or /usr/local/arb13jb/
for Linux).
Note that SEDRA may run using Python 2.3.x if necessary. In this case,
1. Obtain a Python-2.3-compatible installer for each of the dependencies listed in section 4.3.1,
and install each one;
2. Install the subprocess module (introduced in Python 2.4): Download from the website
http://www.lysator.liu.se/~astrand/popen5/, then extract and run python setup.py install
from extraction folder (in Command window). This will install the subprocess module in the
native Python distribution;
3. Comment out the lines that start with '@' in the NetServices.py module (located in the
“src/portal/utils” folder). The NetServices.py unit test will not run without these lines but the
module itself will be fully functional for SEDRA.
There may be other modifications required, though the above did suffice in early versions of the
system.
4.3.3
Create Desktop shortcut
After installing all the dependencies and the “src” folder on the Client Machine, the System
Admin can create a shortcut for SEDRA on the users desktop to simplify the start-up of the
application. The SEDRA application can be found in src/SEDRA.pyw.
4.4
Installing Database Servers
Installation of database servers depends on the type of database used:
FolderTree: this is merely a folder on local file system, with XML files representing the metadata. Hence a FolderTree database exists on same host as a SEDRA client that uses it. There is
nothing else to install.
12
DRDC Ottawa CR 2008-313
HTTP: this type of database server is merely a web server. Installation of a web server is not
covered in this manual (and will not be necessary if pre-configured hosts are used), but would
follow, in the case of an Apache web server, steps similar to those of section 4.7.1.1 and 4.7.1.2.
4.4.1
4.4.1.1
MySQL
Installing and Setting up MySQL
To install MySQL run the ‘MySQL/mysql.4.1.22.setup.exe’ file from the SEDR installation disk.
Note that version ‘mysql.5.0.45.win32.zip’ is reputed not to install properly in Windows 2000,
therefore ensure that you are using version 4.1.22.
Figure 1: MySQL: Server Setup Wizard.
It is necessary to go through two steps in the installation procedure: First the “MySQL Server
Setup” (Figure 1) and then the “MySQL Server Instance Configuration Setup” (Figure 5).
DRDC Ottawa CR 2008-313
13
Figure 2: MySQL: Setup type.
During the “MySQL Server Setup” select a “complete install” (Figure 2). The installer will
proceed to install the package, and then invite you to create a “MySQL.com” account. There is no
requirement to create an account for using this application.
Figure 3: MySQL: MySQL.com signup.
Once the “Sign-Up Screen” has been bypassed, the first part of the setup is completed. At this
time, the installer gives the option to configure the MySQL server (Figure 4). Select the
“Configure the MySQL Server now” and then select “Finish”. If the “Configure Now” option is
accidentally not selected, the application can be run by selection “Instance configuration” in the
“Start->Applications->MySQL->MySQL 4.1” menu.
14
DRDC Ottawa CR 2008-313
Figure 4: MySQL: Setup Wizard completed, but….
For the “Server Instance Configuration” screen, select “Standard Configuration” (rather than
Detailed Configuration) (Figure 5).
Figure 5: MySQL: Server Instance Configuration.
Ensure that both “Install as windows service” and “Include bin directory in Windows Path”
(Figure 6)
DRDC Ottawa CR 2008-313
15
Figure 6: MySQL: install options on Microsoft Windows XP.
Enter the root password for the account, and select “Enable root access from remote machines”
(Figure 7)
Š
The system is setup to use a root password of “simulation”
Figure 7: MySQL: Setting root password.
16
DRDC Ottawa CR 2008-313
Figure 8: MySQL: Creating a Server instance.
Once the appropriate options are set, the application invites you to apply your selections. Select
the “Execute” button (Figure 8), which will lead you to a successful installation (Figure 9) screen.
Figure 9: MySQL: Successful installation of Server.
DRDC Ottawa CR 2008-313
17
4.4.1.2
Create an empty MySQL database
To create an empty MySQL database, first install the MySQL browser tools mysql-gui-tools-5.0r12-win32.msi from the SEDR installation disk. The default parameters are sufficient.
1. Login to the "MySQL Query Browser" from the GUI tools Installation
Š use the 'root' as the username and 'simulation' as the password.
2. Do not specify a default schema and ignore the warning about not having one specified
3. In the "Schemata" section of the user interface, right-click and select "Create New Schema"
4. Enter the name "ffse" and press OK
5. Right-click on the newly created schema and select "Make Default Schema".
6. Using the File Pull down menu, select "Open Script..." and select the following SQL script
'Create_SimTables_Cleaned_Manual.sql'
7. Press the "Execute" Button - this will generate the empty database schema
8. Close this script by closing the tab from the user interface
9. Using the File Pull down menu, select "Open Script..." and select the following SQL script
'Insert_FFSE_Tree.sql'
10. Press the "Execute" Button - this will generate the FFSE simulation resource tree
4.4.1.3
Create user accounts
Access to the database is restricted depending on the privilege required for a particular user. For
example a Modifer would need to be able to edit the information in the database, but not change
the schema; a User would not be modifying the database, nor would an Expert.
1. Start the MySQL Administrator tool and login as root.
18
DRDC Ottawa CR 2008-313
Figure 10: MySQL: Logging into MySQL Administrator.
2. Select "User Administration" from the options and the press "add new user".
DRDC Ottawa CR 2008-313
19
Figure 11: MySQL: Adding new users in MySQL.
3. The "User Information" Tab will now be enabled - in the "MySQL User" field, enter the text
"arp_user". Enter the same value in the both the "Password" and "Confirm Password" fields.
4. Select the "Schema Privileges" tab and make sure that the "ffse" schema in the schemata
section is selected (Figure 12). Using the '<' button to move Privileges from the “Available
Privileges” to the “Assigned Privileges” column, assign to the user the "SELECT" privilege
only
20
DRDC Ottawa CR 2008-313
Figure 12: MySQL: Setting user privileges.
5. Press the "Apply Changes" button - the "arp_user" will now appear in the list of user
accounts.
4.4.1.4
Create modifier accounts
6. Repeat Steps 2-5 for the user "arp_modifier" using "pa9w34@8s!Ks&K" for the password.
Š Assign the arp_modifier ALL available privileges.
4.5
Installing Repository Servers
All simulation resources must reside in repositories accessible via HTTP. A repository contains
files that can be reached via URL’s. There are many HTTP servers available both Open Source
and COTS. SEDRA is independent of which one is used, hence the choice, installation and setup
of repository servers is beyond the scope of this manual.
DRDC Ottawa CR 2008-313
21
An example repository is available on the CD. This can be copied to the HTTP server’s
filesystem area, as described here:
1. Setup an HTTP server on a machine (call it A), if not already available
2. Copy the three folders in src/http_setup/htdocs to a location of your choice on machine A,
3. If installing the Apache server: use the info in conf/httpd.conf to setup access to the folders
you just copied
4. If machine A is not localhost (same host as SEDRA), change all occurrences of 'localhost' in
URL's in all xml files in your two htdocs/portalTestDB folders, to hostname of A (e.g., at
FFSE, A=131.136.161.42)
4.6
Installing SEDReC
Installing SEDReC is done in three steps:
x Install dependencies on host that will be running the SEDReC client;
x Install source for SEDReC client on same host;
x Install simulation server software on each simulation host.
4.6.1
Install dependencies for SEDReC client
Each host that will run the SEDReC station client must be setup as follows. Note that some
dependencies are shared with SEDRA, hence if SEDRA is already installed on the same host,
some steps can be skipped.
1. Using the computer’s browser, navigate to the dependencies folder on the SEDR installation
disk.
2. Run the Python installer: Python-2.4.x.msi. Use the installer with highest value of x. All the
default options are fine.
3. Run the wxPython installer: wxPython2.6-win32-ansi-2.6.3.3-py24.exe. All defaults are fine.
4. Run the ElementTree installer: elementtree-1.2.6-20050316.win32.exe.
5. Extract RPyC from the rpyc-2.60.zip file to the c:/Python24/Lib/site-packages.
6. Navigate to the tlslite-0.3.8 folder, and run the tlslite installer: tlslite-0.3.8.win32-py2.4.exe.
Accept all default options.
7. Run the lxml installer: lxml-1.0.3.win32-py2.4.exe.
8. Run the ctypes installer: ctypes-1.0.1.win32-py2.4.exe. Accept all default options.
22
DRDC Ottawa CR 2008-313
4.6.2
Install client application
As with SEDRA, SEDReC exists in the “src” the folder on the SEDR Installation CD. This folder
can be copied over to the SEDReC client host to a location of your choice. This is unnecessary if
SEDRA has already been installed on the same system.
The SEDReC client doesn’t currently support “File | Load”. Rather, the control recipe to load
must be specified at run time. This is easily done from the Command shell, in which case the
installation of SEDReC client is over. However, if only a few control recipes are going to be
executed from the host (typically the case), a shortcut can be created for each recipe XML file
and put (e.g.) on the desktop.
An example startup shortcut appears in Figure 13. This shows that the “src” folder was copied to
a folder named “C:\SEDR” and that the recipe file is located in “C:\SEDR” and named
recipe.xml. The startup script for SEDReC is named recipe_station.pyw.
Figure 13: SEDReC: Example shortcut to run client with yourRecipe.xml.
DRDC Ottawa CR 2008-313
23
Note that using a Command shell or shortcut is unnecessary if SEDReC is only going to be
started from SEDRA. Note also that Figure 13 assumes that .pyw files have been associated with
the correct Python interpreter executable. To do this:
1. Open any folder;
2. Go to Tools | Folder Options; this opens the Folder Options dialog;
a. Select New; this opens a Create New Extension dialog;
b. Enter pyw in the File Extension text field and select OK to close the dialog;
3. Back in the Folder Options dialog, select Change next to the Opens with: label for the new
extension and select Select the program from a list and then select OK (Figure 14); this opens
an Open With dialog;
a. Select Browse at the bottom of that dialog, navigate
“C:\Python24\pythonw.exe”, select Open to accept that executable
to
b. Click OK to finalize the association of that executable with the new file
extension. This closes the Open With dialog.
4. Close the Folder Options dialog.
Figure 14: SEDReC: Step 5 in associating a file extension to an executable.
24
DRDC Ottawa CR 2008-313
4.6.3
Simulation servers
MS Windows
On each host that will act as a simulation server, perform the following sequence of steps:
1. Install Python, RPyC, tlslite, and ctypes as described in section 4.6.1;
2. Create a shortcut to RPyC’s TLS server script:
a. Navigate to C:\Python24\Lib\site-packages and right-click with mouse on the
tls_server.py file
b. Select Send To | Desktop (Create Shortcut), as shown in Figure 15. A shortcut
appears on the Desktop.
c. This can be moved to the Startup folder (e.g. C:\Documents and Settings\All
Users\Start Menu\Programs\Startup) to have the script start automatically upon
any user logging in.
d. Furthermore, if the host is setup to automatically login upon boot-up (achieved
by having only one account on the host – the administrator account), then
RPyC’s TLS server will be started automatically upon boot-up.
Linux RHE 4.5
Python is installed by default, but it must be a version compatible with RPyC. The RPyC and
tlslite are pure Python hence the installation involves, in each case:
1. Download a Linux-compatiable package from the RPyC and tlslite websites and extract them
to a folder
2. Open a console and cd to the RPyC folder
3. Run “python setup.py install”. Take note of where the library has been installed by looking at
the output of the command.
4. Repeat for tlslite.
5. (Optional) Make tls_server.py run automatically upon boot-up or login. There are many ways
of doing so it is left as an exercise for the user. Note that on Linux, the installation folder for
Python libraries (i.e. packages) is different from MS Windows. Step 3 should indicate where
the tls_server.py script can be found (e.g. if RPyC was installed in /usr/lib/python24/package,
then the script would be in /usr/lib/python24/site/RPyC/Servers).
DRDC Ottawa CR 2008-313
25
Figure 15: SEDReC: Create a shortcut to start RPyC’s tls_server on each sim host
4.7
Installing SEDReDE
Installing SEDReDE is slightly more involved than the other applications, because SEDReDE has
the ability to modify the databases; processes have to be put in place to prevent the inadvertent
modification of database information. The installation involves:
1. Install prerequisites: a database server, an HTTP-based Applet server on same host as
database
2. Install SEDReDE applet in applet server file area
3. Install (if not pre-installed with OS) Java Runtime Environment (JRE) on each client machine
that will access the SEDReDE Applet URL
26
DRDC Ottawa CR 2008-313
4.7.1
Prerequisites
x At least one MySQL database must be available: setup as per section 4.4.1, including user
accounts for Users to browse the database, and modifier accounts for Modifiers that will
add/delete/maintain the information in the database
x On the same host as the MySQL database, an Apache web server must be installed to handle
Š Serving the SEDReDE Java Applet to a remote machine
Š Authenticated access to the applet
4.7.1.1
Installing and configuring the Apache 2.2.6 Web Server
1. Double Click the "apache_2.2.6-win32-x86-openssl-0.9.8e.msi" installer file
2. Select Next after the title screen is displayed.
3. Accept the license agreement and press 'Next'.
4. Click Next at the Readme Screen.
5. Leave all of the default values in tact at the Server Information screen and then press next
(Figure 16).
Figure 16: Apache: Server information.
6. Select "Custom" for the setup type and press 'Next' (Figure 17).
DRDC Ottawa CR 2008-313
27
Figure 17: Apache: setup type.
7. For each feature listed, press the drop down menu button and select the option "This feature,
and all subfeatures, will be installed on local hard drive.” then press 'Next' (Figure 18).
Figure 18: Apache: Installed features.
8. Click "Install" at the Setup Confirmation screen.
28
DRDC Ottawa CR 2008-313
9. If setup was successful, then the Installation Wizard Completed screen will be displayed click
“Finished”
10. The Http Service Control Icon should now be visible in the task bar (Figure 19).
Figure 19: Apache: Http Service Icon.
4.7.1.2
Setting Up Apache 2.2.6 Web Server Security and Resources.
Once Apache is installed, it needs to be configured to allow restricted access to the SEDReDE
Java software, so that only authorised users can modify the database. This section describes how
to setup the .htaccess system, assuming that the default installation directories were used (i.e.
/usr/share/Apache2.2, or c:\Program Files\Apache Software Foundation\Apache2.2)
1. In the …/Apache2.2/htdocs folder, create a folder called "SEDReDE"
2. Similarly, create a folder called "security" in "…/Apache2.2"
3. Using a text editor, create a file called ".htaccess" in the SEDReDE folder created in step 1,
which contains the following lines:
AuthUserFile …/pache2.2/security/.htpasswd
AuthName "The Simulation Network Tool Suite Server"
AuthType Basic
require valid-user
4. save and close this file
5. start a command prompt from the start menu and navigate to "…/Apache2.2/bin"
6. From the command prompt, enter the following command
htpasswd -nb malo_dev rab
7. Copy the text from the last line of the output from this command to the clipboard.
DRDC Ottawa CR 2008-313
29
8. Open a text editor and paste this single line to the text file.
9. Save this text file to the "…/Apache2.2/security" directory with the name ".htpasswd"
10. Locate the httpd.conf file in the "…/Apache2.2/conf" folder and open it in a text editor.
11. Add the SEDReDE directory into the list of directories managed by Apache. The following
directory entry should be added in the appropriate location within this file: I.e. the list of
<Directory>s preceding the <IfModule dir_module>.
<Directory "…/Apache2.2/htdocs/SEDReDE">
Order allow,deny
Allow from all
AllowOverride AuthConfig
</Directory>
Replacing the … with the appropriate path.
12. Add the following alias entry to the appropriate location within the httpd.conf file (I.e. the
<IfModule alias_module>):
<IfModule alias_module>
DirectoryIndex index.html
Alias /SEDReDE "…/Apache2.2/htdocs/SEDReDE"
</IfModule>
13. Save and close the httpd.conf file and then restart the apache server
4.7.2
Install the SEDReDE web page and Java applet
From the SEDR installation disk, copy all files from the src/Applet folder to the
"…/Apache2.2/htdocs/SEDReDE" folder.
4.7.3
Install JRE on each client
Install the Java executable.
30
DRDC Ottawa CR 2008-313
References .....
[1] Python (online), http://www.python.org (Access date: 12 Nov. 2008)
[2] wxPython (online), http://www.wxpython.org (Access date: 12 Nov. 2008)
[3] wxGlade (online), http://wxglade.sourceforge.net/ (Access date: 12 Nov. 2008)
[4] elementTree (online), http://effbot.org/zone/element-index.htm (Access date: 12 Nov. 2008)
[5] lxml (online), http://pypi.python.org/pypi/lxml/ (Access date: 12 Nov. 2008)
[6] Easy Install (online), http://peak.telecommunity.com/DevCenter/EasyInstall (Access date: 12
Nov. 2008)
[7] Kid (online), http://www.kid-templating.org/ (Access date: 12 Nov. 2008)
[8] SQLAlchemy (online), http://www.sqlalchemy.org/ (Access date: 12 Nov. 2008)
[9] Nose (online), http://code.google.com/p/python-nose/ (Access date: 12 Nov. 2008)
[10] Ctypes (online), http://python.net/crew/theller/ctypes/ (Access date: 12 Nov. 2008)
[11] J2SDK (online), http://java.sun.com (Access date: 12 Nov. 2008)
[12] MySQL DBMS (online), http://dev.mysql.com/downloads/mysql/ (Access date: 12 Nov.
2008)
[13] MySQL Connector/J (online), http://dev.mysql.com/downloads/connector/j (Access date:
12 Nov. 2008)
[14] MySQL-Python (online), http://mysql-python.sourceforge.net/ (Access date: 12 Nov. 2008)
[15] Apache Web Server (online), http://www.apache.org (Access date: 12 Nov. 2008)
[16] RPyC (online), http://rpyc.wikispaces.com/ (Access date: 12 Nov. 2008)
[17] Tlslite (online), http://trevp.net/tlslite/ (Access date: 12 Nov. 2008)
[18] cElementTree (online), http://pypi.python.org/pypi/cElementTree/ (Access date: 12 Nov.
2008)
[19] Mozilla FireFox (online), http://www.mozilla.org (Access date: 12 Nov. 2008)
DRDC Ottawa CR 2008-313
31
This page intentionally left blank.
32
DRDC Ottawa CR 2008-313
List of symbols/abbreviations/acronyms/initialisms
ARP
Advanced Research Program
DB
Database
DND
Department of National Defence
DRDC
Defence Research & Development Canada
DRDKIM
Director Research and Development Knowledge and Information
Management
FFSE
Future Forces Synthetic Environments
GUI
Graphical User Interface
HTTP
Hypertext Transfer Protocol
MALO
Maritime Air-Littoral Operations (a project at FFSE)
RPyC
Remote Python Calls (Python package for interacting with remote computers
via Python)
SE
Synthetic Environments
SEDR
Synthetic Environment Distributed Resources
SEDRA
SEDR Access
SEDReC
SEDR Control
SEDReDE
SEDR Data Entry
SNE
Simulation Network Exploitation
URL
Uniform Resource Locator
XML
Extensible Markup Language (a way of structuring information)
R&D
Research & Development
DRDC Ottawa CR 2008-313
33
This page is intentionally left blank
34
DRDC Ottawa CR 2008-313
DOCUMENT CONTROL DATA
(Security classification of title, body of abstract and indexing annotation must be entered when the overall document is classified)
1.
ORIGINATOR (The name and address of the organization preparing the document.
Organizations for whom the document was prepared, e.g. Centre sponsoring a
contractor's report, or tasking agency, are entered in section 8.)
2.
CAE Professional Services
1135 Innovation Dr. Suite 300
Kanata, ON K2K 3G7
3.
SECURITY CLASSIFICATION
(Overall security classification of the document
including special warning terms if applicable.)
UNCLASSIFIED
TITLE (The complete document title as indicated on the title page. Its classification should be indicated by the appropriate abbreviation (S, C or U)
in parentheses after the title.)
Simulation network exploitation: SEDR tool suite: system manual
4.
AUTHORS (last name, followed by initials – ranks, titles, etc. not to be used)
Chawla, B., Mikhael, B., Schoenborn, O.
5.
DATE OF PUBLICATION
(Month and year of publication of document.)
April 2009
7.
6a. NO. OF PAGES
6b. NO. OF REFS
(Total containing information,
(Total cited in document.)
including Annexes, Appendices,
etc.)
46
0
DESCRIPTIVE NOTES (The category of the document, e.g. technical report, technical note or memorandum. If appropriate, enter the type of report,
e.g. interim, progress, summary, annual or final. Give the inclusive dates when a specific reporting period is covered.)
Contract Report
8.
SPONSORING ACTIVITY (The name of the department project office or laboratory sponsoring the research and development – include address.)
Defence R&D Canada – Ottawa
3701 Carling Avenue
Ottawa, Ontario K1A 0Z4
9a. PROJECT OR GRANT NO. (If appropriate, the applicable research
and development project or grant number under which the document
was written. Please specify whether project or grant.)
13jb
10a. ORIGINATOR'S DOCUMENT NUMBER (The official document
number by which the document is identified by the originating
activity. This number must be unique to this document.)
9b. CONTRACT NO. (If appropriate, the applicable number under
which the document was written.)
W8475-06BM04
10b. OTHER DOCUMENT NO(s). (Any other numbers which may be
assigned this document either by the originator or by the sponsor.)
DRDC Ottawa CR 2008-313
11. DOCUMENT AVAILABILITY (Any limitations on further dissemination of the document, other than those imposed by security classification.)
Unlimited
12. DOCUMENT ANNOUNCEMENT (Any limitation to the bibliographic announcement of this document. This will normally correspond to the
Document Availability (11). However, where further distribution (beyond the audience specified in (11) is possible, a wider announcement
audience may be selected.))
Unlimited
13. ABSTRACT (A brief and factual summary of the document. It may also appear elsewhere in the body of the document itself. It is highly desirable
that the abstract of classified documents be unclassified. Each paragraph of the abstract shall begin with an indication of the security classification
of the information in the paragraph (unless the document itself is unclassified) represented as (S), (C), (R), or (U). It is not necessary to include
here abstracts in both official languages unless the text is bilingual.)
This document is a system manual for the Synthetic Environment Distributed Resources
(SEDR) Tool Suite. It allows simulation experts to increase the re-usability of simulation
systems in other projects and by non-expert users, by facilitating the discovery and viewing of
simulation-related documents as well as the execution of “executable data” in the form of
“control recipes” that encode the start-up sequence of a distributed simulation. This manual
describes the tool suite as a system, i.e. its components, how to install it, how the components
interoperate, etc.
Ce document représente le manuel du système du kit d’outils des ressources distribuées des
environnements synthétiques (SEDR). Il permet aux experts de la simulation d’accroître les
possibilités de réutilisation des systèmes de simulation et d’étendre cette réutilisation à d'autres
projets. Il offre aussi aux utilisateurs non-experts, la facilité de la découverte et l'affichage des
documents connexes de la simulation, ainsi que l'exécution des éléments exécutables par le biais
de l’outil de contrôle. Ce manuel décrit les différentes composantes du kit, leurs installations,
leur interopérabilité, etc.
14. KEYWORDS, DESCRIPTORS or IDENTIFIERS (Technically meaningful terms or short phrases that characterize a document and could be
helpful in cataloguing the document. They should be selected so that no security classification is required. Identifiers, such as equipment model
designation, trade name, military project code name, geographic location may also be included. If possible keywords should be selected from a
published thesaurus, e.g. Thesaurus of Engineering and Scientific Terms (TEST) and that thesaurus identified. If it is not possible to select
indexing terms which are Unclassified, the classification of each should be indicated as with the title.)
Modeling & Simulation, Synthetic Environments, Distributed Simulation, Data Management,
Knowledge Management, Remote Access, Software