====== tame v2 ====== //tame// is a generic tool for simplifying SFS/sfslite [[:sfslite]] programming, useful with OKWS, but also for any other [[:sfslite]]-based application. It is available under the [[:sfslite]] distribution. //tame// is a simple C++-level rewriter. Input files look a lot like regular C++ files, with some small modifications. Output files are standard C++ files that are then compiled and linked against the libasync libraries to produce your library or application. Files generated with tame can call legacy ''libasync'' applications, and legacy ''libasync'' applications can call //tame//d functions, without any glue. ===== Related Work ===== Eddie Kohler has written a version of the //tame// abstractions in a clean, lightweight library, called [[http://www.read.cs.ucla.edu/tamer|tamer]]. It carries less ``baggage'' than the full sfslite implementation, and is also better documented. Tamer is not backwards-compatible with SFS or sfslite. ===== Publications ===== The following paper has been accepted to Usenix Annual Technical Conference, 2007. The Wiki pages for Tame v2 should now approximately match the paper. If not, please report any bugs. * //Events Can Make Sense//. Max Krohn, Eddie Kohler and M. Frans Kaashoek, in USENIX 2007. [ [[http://pdos.lcs.mit.edu/~max/docs/tame.ps|ps]] | [[http://pdos.lcs.mit.edu/~max/docs/tame.ps.gz|ps.gz]] | [[http://pdos.lcs.mit.edu/~max/docs/tame.pdf|pdf]] ] ===== Online Documentation ===== - [[sfslite:tame2::upgrade|Upgrading From V1]] - [[sfslite:tame2:tutorial|Tutorial/Quick-Start]] - [[sfslite:tame2:data|Data Types]] - [[sfslite:tame2:api|API]] - [[sfslite:tame2:connectors|Connectors]] - [[sfslite:tame2:resource|Resource Management]] - [[sfslite:tame2:lecture|Lecture Materials]] ====== Contributors ====== * Max Krohn * Eddie Kohler * Frans Kaashoek * David Mazieres