For Developers
This page describes the CPS software architecture and it shows you how
to build the CPS application. The CPS software is a modular Java 6
application built on the NetBeans platform and the NASA WorldWind Java SDK,
plus several other open source libraries. This information is presented
here with the hope that you will get involved with this open source project,
and that you can learn how to build your own NetBeans platform applications
using these, or similar technologies.
Most all of the individual modules within these projects are released
under the LGPL 2.1 license.
[ software module diagram goes here ]
Getting Ready
The requirements for building the CPS software include:
- NetBeans IDE 7
- Java 6 compatible operating system (for Mac, OS
10.5 or better is required)
- Up to date OpenGL drivers for your computer's display
adapter
The CPS software is comprised of two NetBeans projects:
-
CPS-Suite
This project is a suite of modules that provide the fire behavior analysis
and prediction capabilities. This suite is dependent on the Emxsys
Application Framework.
-
Emxsys Application
Framework
This project is a reusable cluster of modules that provides the basic
user interface and functionality common to Emxsys software applications.
This framework includes the NASA WorldWind SDK and other third-party
libraries.
How to Do It
This section will show you how to download, install, and configure NetBeans;
how to download the CPS and Emxsys projects from the Subversion repositories;
and how to compile and run the projects.
Download, Install & Configure NetBeans IDE 7
- Download NetBeans IDE 7 from
netbeans.org:
You should download the NetBeans Java SE bundle or any other
bundle that includes Java SE and the Platform SDK (e.g., the Java
EE bundle or All).
- Install NetBeans:
- Launch the Installer

- Accept the license agreement(s)

- Choose to install JUnit

- Proceed with the installation

- Finished

- Launch NetBeans and perform an update to ensure your IDE is up-to-date
with the latest patches:
- In the NetBeans menu, select Help >
Check for Updates
- Proceed (if required, go ahead and restart NetBeans after the
update)
- Install the NetBeans Team Server plugin [Optional]
This step is recommended for easy project updates and/or project participation
via an issue tracker and chat facilities.
- In the NetBeans menu, select Tools >
Plugins
- Check the Team Server checkbox in the list
of Available Plugins

- Click Install and proceed with the NetBeans installer:

- After the plugin is installed, add Project Kenai to
the list of servers.
This is where the CPS and Emxsys projects are hosted.
- In the NetBeans menu, select Team >
Team Server > Login...
- In the Login to Team Server dialog,
Login to: field, select Add New...

- Configure the new New Team Server:

- In the Name text box, enter Project
Kenai
- In he URL text box, and enter
https://kenai.com
- Click Add.
- Now you can proceed to login to Project Kenai with your
credentials, or you can setup an account on Project Kenai if
you haven't already done so.

Download the Emxsys and CPS Projects via the Team Server
You can use these steps to download the sources if you installed the
Team Server plugin and if you are logged into the Project Kenai
server.
Note that if you "join" the CPS and Emxsys projects, it will be somewhat
easier to download the sources, the Subversion repositories will be preselected
for you. You can join any Project Kenai project by logging into via you
web browser, search for a project, and then select the "Bookmark This Project"
link. Here are the links to bookmark the CPS and Emxsys projects:
Download Emxsys Sources
- Get the Emxsys Framework project:
In the NetBeans
menu, select Team > Team Server > Get Sources...
- Update the Get Sources from
Team Server dialog:

- Logged into: Project Kenai
- Kenai Repository:
https://svn.kenai.com/svn/emxsys~svn
You can browse to this project if it is not in
the list of your member projects: use "emxsys" for your
search criteria and select the Emergency Management Expert Systems
from the list.
- Folder to Get: trunk
- Local Folder: <your user folder>/NetBeansProjects/emxsys~svn
- When the Checkout is complete, you can open this project.
Download the CPS Sources
Here you simply repeat the above steps, but use "cps" instead of "emxsys":
- Get the CPS-Suite project:
In the NetBeans menu,
select Team > Team Server > Get Sources...
- Update the Get Sources from
Team Server dialog:

- Logged into: Project Kenai
- Kenai Repository:
https://svn.kenai.com/svn/cps~svn
You can browse to this project if it is not in
your list of member projects: use "cps" for your search
criteria and select the Campbell Prediction System project
from the list.
- Folder to Get: trunk
- Local Folder: <your user folder>/NetBeansProjects/cps~svn
- When the Checkout is complete, you can open this project.
Compile and Run the Project
The Emxsys Application Framework must be compiled before compiling the
Campbell Prediction System. Building the framework first will create
the module cluster that the CPS-Suite is dependent upon. While there
are several ways to launch the build/run processes, presented here is just
one way that is easy to describe:
- In the Projects window, right-click on the Emxsys Application
Framework project node and select Clean and Build
- The framework is runnable from within the NetBeans IDE: right-click
on the Emxsys Application Framework project node Run
from the context menu. You should end up with a 3D map viewer
and a map layer manager.

After asserting that the framework compiled without error, you can compile
and run the Campbell Prediction System.
- In the Projects window, right-click on the Campbell Prediction
System project node and select either Clean and Build,
or Run from the context menu.
Software Development Project
Check out the CPS
Wiki on Project Kenai
for more information about the CPS software development.
Source Code
The Java source code can be browsed from the CPS and Emxsys Subversion
repositories located on the Project Kenai hosting site:
http://emxsys.kenai.com/sources
http://cps.kenai.com/sources
Open Source Resources
The CPS software uses open-source libraries and code
from NetBeans,
NASA's WorldWind SDK, the
VisAD
Visualization library, and the
Weka Machine
Learning library.