Tara - Synthesizing cost-minimal partners for services
Given a service and a cost specification, Tara computes the cost-minimal partners of this service. Thereby, Tara cooperates with Wendy and LoLA.
Tara Science
The science behind Tara has been accepted for publication at the WS-FM 2012 workshop. The according LNCS proceedings are scheduled for the beginning of 2013. Meanwhile, have a look at this paper (Sürmeli, ZEUS 2012) which presents Tara in the setting of adapter synthesis.
Download Tara
Version history
Tara has been developed for quite some time now. See the ChangeLog for details or try out the older versions.
License
Tara is open source software, licensed under the AGPL3+.
Install Tara
Requirements
Installing and running Tara requires a bunch of other tools:
Compiling requires:
- GNU Libtool - The GNU Portable Library Tool - GNU libtool is a generic library support script. Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
- GCC - The GCC compiler
- gcc
Testing requires:
- Autotools test suite - Part of the GNU Auto-Tools for automated Tests
- LCOV - LCOV is a graphical front-end for GCC's coverage testing tool gcov. It collects gcov data for multiple source files and creates HTML pages containing the source code annotated with coverage information.
- Valgrind - Valgrind is an instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail.
Contributing requires:
- Bison - Gnu parser generator - Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.
- GNU Gengetopt - Gengetopt generates a C function that uses getopt_long function to parse the command line options, to validate them and fills a struct .
- flex: The Fast Lexical Analyzer - Flex is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text. The flex program reads user-specified input files, or its standard input if no file names are given, for a description of a scanner to generate.
Quick install
Extract the tar ball into a folder of your choice, and follow the steps below.
- Configure
./configure - Compile
make - Test (optional, but recommended)
make check - Install
sudo make install
Manual
Tara's manual explains usage, features, and a brief scientifical background. If you are further interested learning more about the science behind Tara, please consult Tara's science section.
Documentation
Tara's documentation aims at the developer in you. If you are interested in implementation details this is the right place for you to look.
Maintainer
The current maintainer of Tara is Jan Sürmeli.
Authors
Jan Sürmeli developed the core algorithms in Tara. and Marvin Triebel implemented Tara and provided optimizations for the core algorithms.
Contributors
Several people have committed time, code, and advice to the development of Tara.
- Jan Sürmeli (26 commits)
- Marvin Triebel (21 commits)
- Niels Lohmann (7 commits)