Author: Antonio Carzaniga

# Siena: A Wide-Area Event Notification Service

Siena (Scalable Internet Event Notification Architectures) is a research project aimed at designing and constructing a generic scalable event service. For full details on the Siena project go to the Siena web page.

This is the technical and user documentation for the implementation of the Siena C++ API. You should also check out the on-line documentation. The following topics are covered here:

- License and Credits
- Installation
- Compiling a Siena Application
- C++ API

## License and Credits

Copyright © 1998-2000 University of Colorado.

Siena is free software. you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Siena is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

### Authors

Siena is the result of work by: Antonio Carzaniga, David S. Rosenblum, and Alexander L. Wolf.

### Feedback

If you are using Siena, we would appreciate if you could notify any one of the authors. Any sort of feedback is much appreciated. Bug reports and/or technical questions should be directed to Antonio Carzaniga.

### Acknowledgments

This work was supported in part by the Air Force Materiel Command, Rome Laboratory, and the Defense Advanced Research Projects Agency under Contract Numbers F30602-94-C-0253 and F30602-98-2-0163, principal investigators Dennis Heimbigner and Alexander L. Wolf. The content of the information does not necessarily reflect the position or the policy of the Government and no official endorsement should be inferred.

We thank Dennis Heimbigner, Richard S. Hall, and André van der Hoek of the Software Engineering Research Laboratory, University of Colorado at Boulder, and Giampaolo Cugola, Elisabetta Di Nitto, and Alfonso Fuggetta of Politecnico di Milano for their contributions to this work.

## Installation

To install Siena from a binary distribution, simply unpack siena-?.?-?.tar.gz in a convenient directory. If you are installing the Siena API from sources, you should follow these instructions.

## How to Compile a Siena Application Written in C++

You can find the code of a simple interested party programmed in C++ in `interested_party.cc`. A simple object of insterest (`object_of_interest.cc`) is also available. Assuming you install the Siena API in `/tools/siena`, you can compile these programs with the following command:

    c++ -I/tools/siena/include -L/tools/siena/lib -lsiena \
       interested_party.cc -o interested_party

Notice that, depending on your system, you might need to link additional libraries, for example under Solaris you should add `-lsocket -lnsl`.
this document is maintained by Antonio Carzaniga, $Date: 2000/02/29 23:04:06 $