Welcome to HavaWhat is Hava?Hava is a computer application that evaluates collections of interrelated, recursively defined, mathematical rules.Like a spreadsheet, it can define a value in terms of neighboring values. Unlike a spreadsheet, it exposes definitions in a text-based source file, and it permits values to be arranged more generally than a rectangular grid. It is particularly well-suited to solving staged optimization problems that occur in industrial logistics, economics and finance. Hava is intended primarily for classroom use. It cannot solve large-scale, real-world problems. However, it is easy to learn and easy to use, and it can be used to solve many prototypical problems that would otherwise be too difficult to assign as homework. How do I get started with Hava?Hava requires Java 1.5 or later. Click here to make sure your browser is so enabled.If you are new to Hava, please read the language tutorial. It won't take more than 5 minutes. Once you have a sense of the language, you can simply run Hava from this website. What can Hava do?Each of the following pages shows how Hava can be used to solve a familiar problem.
More InformationFor language details, consult the technical reference.If you are wondering what distinguishes Hava from other computational methods, read our essay on Why Hava? To run Hava as an application on your computer, download the JAR executable. (Unlike the web version, the application can open and save Hava files to your local drive.) You can even write your own Java program that incorporates Hava functionality - see example and API. Software developed by Steven T. Hackman and Loren K. Platzman. If you are interested in contributing, please let us know. The name "Hava" is a play on the words "Hashtable" and "Java", technical building blocks from which Hava is constructed. Feedback is always welcome. Please send your comments to me at shackman@isye.gatech.edu. |