Setting up the development
BlackBox [ top]
Download and install BlackBox component builder v1.6 from OberonMicrosystems (http://www.oberon.ch).
OberonMicrosystems have kindly made some tools for developing ELF format shared object files available under the Sleepy Cat Open Source licence (http://www.opensource.org/licenses/sleepycat.php).
Install OpenBUGS in some directory different from where you have installed BlackBox. If you have installed BlackBox in a directory in program files it will be convenient to install OpenBUGS in a directory in program files (say c:/Program Files/OpenBUGS). Next edit the short cut to BlackBox so that its target contains /USE "c:/Program Files/OpenBUGS" after the text BlackBox.exe. Note the use of forward slashes as separators in file paths. On some installations, it has been reported that backslashes are required instead, as in /USE "c:\Program Files\OpenBUGS"
Next double click on the BlackBox icon on the desk top to start BlackBox.
The BlackBox directory will also contain a functioning version of the OpenBUGS software and is a useful place to develope and test new software. If you do not want to do this just un-install BlackBox by clicking on the un-install icon.
The end user version of OpenBUGS for Windows contains a simplified trap handler. This trap handler is in file Bugs/Code/Traphandler.ocf. If you pefer to use Oberonmicrosystems extremely powerful trap handler just rename the Traphandler.odc file.
TAUCS library [ top]
The OpenBUGS can make use of the TAUCS sparse matrix library (http://www.tau.ac.il/~stoledo/taucs). A Windows version of this library, libtaucs.dll, is distributed with OpenBUGS. This library is used in a sampling algorithm for Gaussian Markov Random Field (GMRF). Without TAUCS the sampling algorithm for GMRF will be much slower for high dimension problems. If you do not want OpenBUGS to use the TAUCS library just remove libtaucs.dll from the OpenBUGS directory. The library version of OpenBUGS does not use the TAUCS library
We do not have Linux or C so we can not produce a Linux version of the TAUCS library. However the library is Open Source and can be downloaded from the web as source code. If you obtain a version of the TAUCS library in ELF format and you wish to use TAUCS to do sparse matrix algebra in the brugs.so library add the name MathTaucsImp to the list of modules linked just after MathSparsematrix.
Subversion repository [ top]
Source code of OpenBUGS is stored in the Subversion (SVN) repository at SourceForge (https://openbugs.svn.sourceforge.net/svnroot/openbugs). A fancier view of the repository is provided via ViewVC (http://openbugs.svn.sourceforge.net/viewvc/openbugs). Cominication with the SVN repository can be perfomred with any Subversion client. We recommend using the TortoiseSVN client (http://tortoisesvn.tigris.org).
BlackBox .odc files are stored as binary files, which complicates the actions usually performed with source files stored in text from. One of such tasks is generating the difference between two files. There are several ways to check for differences between two .odc files.
1. BlackBox can be configured to work with the TortoiseSVN interface to source code revision software. It is posible to write a simple java script to act as the "Diff" program for BlackBox .odc files. The basic idea is to have a modified Config file that causes BlackBox to open two files and then use the Compare procedure in module DevSearch to compare the files. The java script just passes the correct arguments to BlackBox. Place the java script program in "C:\Program Files\TortoiseSVN\Diff-Scripts" and place the code file of the special Config module in "C:\Tortoise\DiffConfig\Code".
java script diff program by josef temple, click on arrow and then use Tools->Decode to decode and place in correct location
compiled form of config module by josef temp, click on arrow and then use Tools->Decode to decode and place in correct location
source code for config file writen by josef temple
2. An alternative is to use the WinMerge program (http://winmerge.org). Since these files are in the binary form, there are some "scribbles" in the diffs, but the code and the differences are laid out nicely in the text form.
3. Online view of Subversion repository via ViewVC can also be used to see the .odc files - use "as text" link to see the content of files.