LightJason - AgentSpeak(L++)
IConsistency.java
Go to the documentation of this file.
1 /*
2  * @cond LICENSE
3  * ######################################################################################
4  * # LGPL License #
5  * # #
6  * # This file is part of the LightJason AgentSpeak(L++) #
7  * # Copyright (c) 2015-19, LightJason (info@lightjason.org) #
8  * # This program is free software: you can redistribute it and/or modify #
9  * # it under the terms of the GNU Lesser General Public License as #
10  * # published by the Free Software Foundation, either version 3 of the #
11  * # License, or (at your option) any later version. #
12  * # #
13  * # This program is distributed in the hope that it will be useful, #
14  * # but WITHOUT ANY WARRANTY; without even the implied warranty of #
15  * # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
16  * # GNU Lesser General Public License for more details. #
17  * # #
18  * # You should have received a copy of the GNU Lesser General Public License #
19  * # along with this program. If not, see http://www.gnu.org/licenses/ #
20  * ######################################################################################
21  * @endcond
22  */
23 
24 package org.lightjason.agentspeak.consistency;
25 
26 import org.apache.commons.math3.stat.descriptive.DescriptiveStatistics;
30 
31 import javax.annotation.Nonnegative;
32 import javax.annotation.Nonnull;
33 import java.util.Map;
34 import java.util.concurrent.Callable;
35 import java.util.stream.Stream;
36 
37 
41 public interface IConsistency extends Callable<IConsistency>
42 {
43 
50  @Nonnegative
51  double consistency( @Nonnull final IAgent<?> p_object );
52 
58  @Nonnull
59  Stream<Map.Entry<IAgent<?>, Double>> consistency();
60 
67  @Nonnegative
68  double inconsistency( @Nonnull final IAgent<?> p_object );
69 
75  @Nonnull
76  Stream<Map.Entry<IAgent<?>, Double>> inconsistency();
77 
78 
84  @Nonnull
85  DescriptiveStatistics statistic();
86 
93  @Nonnull
94  IConsistency add( @Nonnull final IAgent<?> p_object );
95 
102  @Nonnull
103  IConsistency remove( @Nonnull final IAgent<?> p_object );
104 
109  @Nonnull
111 
117  @Nonnull
118  IMetric metric();
119 
125  @Nonnull
126  IFilter filter();
127 
128 }
Stream< Map.Entry< IAgent<?>, Double > > consistency()
stream over all data
IMetric metric()
returns the used metric
IFilter filter()
returns the used metric filter
filtering interface of agent literal values for metric
Definition: IFilter.java:36
metric interface of the coherency structure
Definition: IMetric.java:37
DescriptiveStatistics statistic()
returns statistic data of the consistency values
Stream< Map.Entry< IAgent<?>, Double > > inconsistency()
stream over all data
IConsistency add( @Nonnull final IAgent<?> p_object)
adds a new object