Yasmina - Checking service compatibility with ILP
Yasmina performs a variety of quick checks to semi-decide compatibility of services. The results may be used during service discovery to narrow down the search for a compatible partner service. Please find more information in the science section. One possible input for Yasmina are fingerprints, as provided by Linda.
Yasmina Science
You may read more about the theory behind Yasmina, and find a case study in this paper (Oanea, Sürmeli, Wolf, ICSOC 2010).
Download Yasmina
Version history
Yasmina has been developed for quite some time now. See the ChangeLog for details or try out the older versions.
License
Yasmina is open source software, licensed under the AGPL3+.
Install Yasmina
Requirements
Installing and running Yasmina 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
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
Yasmina's manual explains usage, features, and a brief scientifical background. If you are further interested learning more about the science behind Yasmina, please consult Yasmina's science section.
Documentation
Yasmina'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 Yasmina is Jan Sürmeli.
Authors
Olivia Oanea implemented the first version of Yasmina and Jan Sürmeli re-implemented Yasmina from the scratch.
Contributors
Several people have committed time, code, and advice to the development of Yasmina.
- Niels Lohmann (7 commits)
- Jan Sürmeli (6 commits)
- Christian Gierds (1 commit)
- Andreas Lehmann (1 commit)
- Marvin Triebel (1 commit)