READ ME file for the Pump Abstraction example:

Delivered to the Government in Accordance with Contract FA8650-10-C-7080
(c) 2011 United Technologies Corp.
Developed with the sponsorship of the Defense Advanced Research Projects Agency (DARPA).


The main MATLAB function is the file Abstract.m.

The input files are text files inputc.csv, inputd.csv, model.csv and output.csv. The inputc file consists of a table which specifies which are the inputs of 
interest, whether the user wants to keep or abstract them, and what are the minimum and maximum values of these inputs. The inputd file lists what are the
discrete inputs and whether the user wishes to keep all of them or abstract all of them away. The model file contains a string which indicates which 
component is this function dealing with (in this case, the pump), and the output file contains the outputs of interest for the user.

The output of this function is in the file Keep_disc_vars.out. This file gives the guarantees for the output variables
specified by the user in the file output.csv. 

The main MATLAB function Abstract.m calls a function allcomb.m, which is also included in this package. This function is built-in with the MATLAB
distribution and its copyright belongs to Jos van der Geest (email: jos@jasen.nl).


Requirements: 1. This code requires the pump models from the HEATS tool to be included in the path for MATLAB.
	      2. This code requires the MATLAB functions lsqcurvefit.m and allcomb.m, which may be built-in on newer versions of MATLAB.


Assumptions: 1. All of the discrete variables in the file inputd must either be keep or abstract.
             2. The assumptions and guarantees of the component are arithmetic expressions.
             3. The guarantees computed by this code are in the form of the output variables being bounded between
                affine functions of the input variables. 


