
| Program/Agent | Input Data File(s) | Output File(s) |
| breeding habitat expert system | to
provide information needed by refuge-agent, ui-agent sends request to user
to run expert system
[web]/ExsysWeb/agentswan/dat/firstname_lastname.dat (from ui-agent) |
[web]/ExsysWeb/agentswan/rpt_breed/firstname_lastname_refuge_year_season.rpt |
| wetland expert system | to
provide information needed by refuge-agent, ui-agent sends request to user
to run expert system
[web]/ExsysWeb/agentswan/dat/firstname_lastname.dat (from ui-agent) |
[web]/ExsysWeb/agentswan/rpt_wet/firstname_lastname_refuge_year_season.rpt |
| flyway management expert system | to
provide information needed by refuge-agent, ui-agent sends request to user
to run expert system
[web]/ExsysWeb/agentswan/dat/firstname_lastname.dat (from ui-agent) [web]/ExsysWeb/agentswan/dat/fallnums/sept_white_birds.txt [web]/ExsysWeb/agentswan/dat/fallnums/sept_trend.txt |
[web]/ExsysWeb/agentswan/rpt_fly/firstname_lastname_refuge_year_season.rpt |
| reset_db /ui-agent | [data]/dss/data/<expertsystem>.txt | [web]/ExsysWeb/agentswan/dat/firstname_lastname.dat
[data]/dss/data/<expertsystem>.dat |
| dss_Habitat.class/refuge-agent | [web]/ExsysWeb/agentswan/rpt_<expertsystem>/firstname_lastname_<refuge>_<year>_<season>.rpt | [data]/dss/tmp/<expertsystem>_firstname_lastname_refuge_year_season.dat |
| read_refuge /move-agent | [data]/dss/tmp/<expertsystem>_firstname_lastname_<refuge>_<year>_<season>.dat
[data]/dss/data/<expertsystem>.dat |
[data]/dss/data/<expertsystem>.dat (revised) |
| mask /move-agent | [data]/dss/data/<expertsystem>.dat (revised) | [data]/dss/tmp/firstname_lastname_run-info-from-ui.mask
(binary file)
[data]/dss/out/firstname_lastname_run-info-from-ui.mask (text file) |
| adjust_move /move-agent | [data]/dss/data/firstname_lastname_run-info-from-ui.mask
[data]/dss/data/<expertsystem>.dat (revised) |
[data]/dss/tmp/firstname_lastname_migration1.move
[data]/dss/tmp/firstname_lastname_migration2.move [data]/dss/tmp/firstname_lastname_migration3.move [data]/dss/tmp/firstname_lastname_migration4.move |
| distsim /move-agent | [data]/dss/tmp/irstname_lastname_migration1.move
[data]/dss/tmp/irstname_lastname_migration2.move [data]/dss/tmp/irstname_lastname_migration3.move [data]/dss/tmp/irstname_lastname_migration4.move |
[data]/dss/out/firstname_lastname_run-info-from-ui.mask
[data]/dss/out/sim_firstname_lastname_run-info-from-ui.txt (distsim output) |
| Program | Associated Program File(s) |
| breeding habitat expert system | [web]/ExsysWeb/agentswan/breed.<RB1, RB2, RBT, cfg, cmd, out, www> |
| wetland expert system | [web]/ExsysWeb/agentswan/wet.<RB1, RB2, RBT, cfg, cmd, out, www> |
| flyway management expert system | [web]/ExsysWeb/agentswan/fly.<RB1, RB2, RBT, cfg, cmd, out, www> |
| reset_db | [data]/dss/move/reset_db
[source code]
[data]/dss/lib/libdss_ui.so |
| read_refuge | [data]/dss/move/read_refuge
[source code]
[data]/dss/lib/libdss_move.so |
| mask | [data]/dss/move/mask
[source code]
[data]/dss/lib/libdss_move.so |
| adjust_move | [data]/dss/move/adjust_move
[source code]
[data]/dss/lib/libdss_move.so |
| distsim | [data]/dss/distsim/distsim
[source code]
[data]/dss/lib/libdss_move.so |
| configuration | [data]/dss/data/dss.config |
| ui | [data]/dss/ui/ui.<lsp,
plan>
[data]/dss/ui/<classes and methods> |
| refuge | [data]/dss/refuge/refuge.<lsp,
plan>
[data]/dss/refuge/<classes and methods> |
| move | [data]/dss/move/move.<lsp,
plan>
[data]/dss/move/<classes and methods> |
The breeding habitat expert system (Exsys Developer v.8 and WebRuntime) helps determine the quality of a wetland as breeding habitat for trumpeter swans based on knowledge of: (1.)wetland depth, (2.)size of the wetland, (3.)growing season length, (4.)food resources for pre-laying birds, (5.)condition of emergent vegetation and other aspects of providing suitable nest sites, and (6.)brood rearing requirements. An assessment of 100 is equivalent to ideal habitat, and 0 means that at least one component is severely compromised. This value is used by adjust_move to determine whether the breeding season queue for that wetland (refuge) is made available to the distribution simulator. The cutoff value is set in the overall dss configuration file.
The wetland expert system (Exsys Developer v.8 and WebRuntime) helps suggest seasonal water levels within a one year time frame for palustrine emergent wetlands. It is intended for areas in the Intermountain West, but may have limited application elsewhere. Recommendations are based on knowledge of: (1.)vegetation, (2.)hydrology, (3.)water quality, (4.)soils, (5.)weather, (6.)wetland dynamics, and (7.)migratory bird management objectives and are provided for four seasons, beginning with whatever the next season may be. As a planning tool, the system presently does not attempt to provide recommendations for the current season. The water levels recommended are then used by read_refuge to determine whether each of the associated queues are made available to the distribution simulator. These rules are based on the knowledge engineering session about "Integrating distributed AI and flyway management."
The flyway management expert system (Exsys Developer v.8 and WebRuntime) assesses whether an area can or cannot contribute towards the Flyway Management Plan for the Rocky Mountain Population of Trumpeter Swans. These values are used by read_refuge to determine whether the breeding and wintering season queues for that area (refuge) are made available to the distribution simulator. It is essentially a boolean value, i.e., it is either available or not.
Note: Each expert system is run on the World Wide Web via a cgi-bin interface. Output is written in text format to a file on the system server, as well as presented to the user's web browser.
Reset_db (written in C) uses the template, database, text files and generates binary database files that represent the beginning state of the knowledge about habitat conditions in the system. A new text template series of files can be used to design a customized system run (e.g., make all area XXX queues unavailable). When the system is started, the user is asked (via the ui-agent) whether the habitat databases (breeding.dat, habitat.dat, flyway.dat) should be initialized to the template values (breeding.txt, habitat.txt, flyway.txt). Otherwise, the system essentially uses habitat data appended in all runs after the most recent initialization.
Read_expert (written in C) parses necessary habitat information from the text output files from each expert system and saves the converted information. It also adjusts the system to keep track of which seasons and queues should be associated with which year (See: time line graphic). The original expert system files have a unique id (date stamp in seconds) added to their file name and are saved to a different directory for later use outside the system run (archived).
dss_Habitat.classs (java class) accesses the output files from read_expert and and updates the habitat database files, i.e., changes the "permanent", template, database files (<expert system>.dat) to reflect the new ecological information.
Mask (written in C), uses the database files adjusted by read_refuge and rules for determining the fate of the expert system information (as described above). Mask then builds a refuge-by-season matrix for a year that represents boolean values indicating whether each refuge for the current seasons of interest are available to accept swans for each seasonal queue associated with the year of the system run. Breeding.dat provides update information for the breeding season only. Wetland.dat provides update information for all seasons, or at least those seasons for which the expert system was able to generate recommendations. Flyway.dat provides information for the breeding and wintering seasons only. Mask writes a binary file to a tmp directory for the system to use and writes a text file to an output directory for archive purposes.
Adjust_move (written in C), using the output from mask, adjusts the base movement probabilities (see the tables derived from expert opinion) by using the algorithm and rules to adjust those probabilities to redistribute swans when queues are unavailable.