JavaBayes -- Bayesian networks in Java. Bayesian networks have been used as a fundamental tool for the representation and manipulation of beliefs in Artificial Intelligence. There have been implementations of Bayesian networks in a variety of formats and languages. JavaBayes is a system that handles Bayesian networks: it calculates marginal probabilities and expectations, produces explanations, performs robustness analysis, and allows the user to import, create, modify and export networks. JavaBayes is the first full implementation of Bayesian networks in Java. A Java implementation has several advantages. First, Java is the best bet yet on a truly portable language; a package written in Java can be exported and run in Unix, Macintosh and Windows platforms without too much hair-splitting. Second, Java has been adopted by browsers in the Internet; a program or package written in Java can be intimately coupled with World Wide Web pages and can reach a gigantic audience. Third, and perhaps most important, a Java package can work as a tool for people that are interested in using reasoning in network-based applications. Suppose you had to put together a web page and you wanted to use some simple tool to reason about uncertainty in the domain of interest. A compact implementation of Bayesian networks in Java would be handy for such a task. Finally, Java is a good object-oriented language; Java has a set of widgets that allow researchers to quickly prototype interfaces, and Java has functionality for multi-threaded processing, something that can be very useful for future parallelization of inference algorithms.