Code Examples
A repository of 155 code examples for BeepBeep
package-info.java
1 /*
2  BeepBeep, an event stream processor
3  Copyright (C) 2008-2017 Sylvain Hallé
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published
7  by the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17  */
18 
19 /**
20  * Evaluate an event stream based on a distance to a reference trend.
21  * <p>
22  * The examples in this section make use of the <tt>TrendDistance</tt>
23  * pattern, illustrated as follows.
24  * <p>
25  * <img src="./doc-files/mining/trenddistance/TrendDistance.png" alt="Processor graph">
26  * <p>
27  * This pattern can be interpreted as follows:
28  * <ol>
29  * <li>A stream of events is sent into a <tt>Window</tt> processor to keep
30  * a suffix of width <tt>n</tt></li>
31  * <li>The events of that window are sent to a <em>trend processor</em>, noted
32  * by &beta;, which computes a "trend" over that window</li>
33  * <li>A <em>reference trend</em> (<tt>P</tt>) is given to a
34  * <em>distance function</em> (&delta;) along with the trend computed over
35  * the window.</li>
36  * <li>The resulting <em>distance</em> is given to a comparison function
37  * (<tt>⊑</tt>), which checks if that distance is "smaller" than some given
38  * <em>distance threshold</em> (<tt>d</tt>)</li>
39  * </ol>
40  * It is possible, however, to encapsulate this process into a
41  * {@link GroupProcessor}, which becomes a generic <em>pattern</em>
42  * whose actual computation is based on six parameters: <tt>n</tt>, &beta;,
43  * <tt>P</tt>, &delta;, ⊑, and <tt>d</tt>.
44  * <p>
45  * <img src="./doc-files/mining/trenddistance/TrendDistanceBox.png" alt="Processor graph">
46  * <p>
47  * Depending on how these six parameters are instantiated, the
48  * <tt>TrendDistance</tt> processor computes different things. The examples in
49  * this section show different ways of using the <tt>TrendDistance</tt>
50  * pattern.
51  *
52  * @author Sylvain Hallé
53  *
54  */
55 package mining.trenddistance;