markov.flux
Class CapteursIndependants

java.lang.Object
  extended by flux.Flux
      extended by markov.flux.CapteursIndependants
All Implemented Interfaces:
IFonction, BoxModelObject, IFlux, java.io.Serializable, ICapteur

public class CapteursIndependants
extends Flux
implements ICapteur, IFonction

Implante une boîte permettant la fusion de plusieurs capteurs indépendants.

Version:
2.11, 08/07/2003
Author:
Laurent JEANPIERRE
See Also:
Serialized Form

Field Summary
static java.lang.String description
          Renvoie une chaîne décrivant le rôle de la boîte.
 
Constructor Summary
CapteursIndependants()
          Constructeur par défaut.
CapteursIndependants(int nbCapteurs)
          Construit un observateur disposant de plusieurs capteurs.
CapteursIndependants(ObjectDrawingFrame odf)
           
CapteursIndependants(ObjectDrawingFrame odf, java.util.Collection data)
           
 
Method Summary
 void add(int entree, java.lang.Object valeur)
          Introduit une donnée dans cette section du flux.
 void addBlock(int entree, java.util.Collection valeur)
          Introduit un bloc de données dans cette section du flux.
 void ajouterCapteur()
          Ajoute un nouveau capteur à l'observation.
 void apprend(double[][] beliefs)
          Apprends les probabilités d'observation en se basant sur le chamin de probabilités.
 void connectBack(int entree, IFlux autre, int sortie)
          Connecte l'une des entrées du flux à une sortie d'une autre section du flux afin d'obtenir un flux bidirectionnel.
 java.lang.String descriptionEntree(int no)
          Retourne la description de l'une des broches d'entrée.
 java.lang.String descriptionSortie(int no)
          Retourne la description de l'une des broches de sortie.
 double[] domaine(int no)
          Renvoie le domaine de validité d'un paramètre.
 void drawRealObject(java.awt.Graphics g)
          Dessine l'objet visuel sur le contexte passé en paramètre.
 void generateCode(java.io.FileWriter file)
          Code for initialisation overriding method in BoxModelObject *
 void generateConnections(java.io.FileWriter file)
          Code for the connections generated by individual connections *
 BoxObject getBox()
          Renvoie la boîte associée au modèle durant le design.
 BuildingPanel getBuildingPanel(boolean lockedBox)
          Récupère le panneau de conception de ce module.
 java.util.LinkedList getData()
          Demande le nouvel envoi des données.
 void lock(java.lang.Object qui)
          Verrouille l'objet pour modification
 int nbParametres()
          Renvoie le nombre de paramètres de la fonction.
 double parametre(int no)
          Renvoie la valeur d'un paramètre.
 void printDescriptif(java.io.Writer flux, int no)
          Décrit un paramètre.
 void raz(int entree)
          Signale une remise à zéro du flux.
 void razBlock(int entree, java.util.Collection valeur)
          Modifie les données.
 void regleParametre(int no, double valeur)
          Règle un paramètre.
 java.lang.Class retourAutorise(int no)
          Indique pour quel type de boîte connectée à l'une des broches d'entrée un retour est autorisé.
 void sauvegarde_donnees(java.io.Writer fic)
          Sauvegarde les données du flux dans fic.
 void setBox(BoxObject with)
          Associe le modèle avec une boîte à utiliser durant le design.
 void setReglage()
          Empêche la fonction de faire des calculs à chaque règlage de paramètre.
 IFlux twin()
          Crée un clone du flux courant.
 void unlock(java.lang.Object qui)
          Deverrouille l'objet en fin de modification
 void unsetReglage()
          Pré la fonction en faisant les calculs nécessaires à la finalisation des règlages des paramètres.
 double valeur()
          Renvoie la valeur actuelle de la fonction.
 
Methods inherited from class flux.Flux
changeEntryType, changeExitType, connect, connect, connect, connect, descriptionUtilise, disconnect, dumpLocks, getDebugPanel, getEntry, getEntryNb, getEntryType, getExit, getExitNb, getExitType, getUse, getUseNb, getUseType, isUsing, unUse, use
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface flux.drawingTool.BoxModelObject
descriptionUtilise
 
Methods inherited from interface flux.IFlux
changeEntryType, changeExitType, connect, disconnect, dumpLocks, getDebugPanel, getEntry, getEntryNb, getEntryType, getExit, getExitNb, getExitType, getUse, getUseNb, getUseType, isUsing, unUse, use
 

Field Detail

description

public static java.lang.String description
Renvoie une chaîne décrivant le rôle de la boîte.

Constructor Detail

CapteursIndependants

public CapteursIndependants(ObjectDrawingFrame odf,
                            java.util.Collection data)

CapteursIndependants

public CapteursIndependants()
Constructeur par défaut. Crée une boîte avec deux entrées et une sortie.


CapteursIndependants

public CapteursIndependants(int nbCapteurs)
Construit un observateur disposant de plusieurs capteurs.

Parameters:
nbCapteurs - le nombre de capteurs initialement prévus.

CapteursIndependants

public CapteursIndependants(ObjectDrawingFrame odf)
Method Detail

sauvegarde_donnees

public void sauvegarde_donnees(java.io.Writer fic)
                        throws java.io.IOException
Sauvegarde les données du flux dans fic. La sauvegarde est faite en ASCII.

Specified by:
sauvegarde_donnees in interface BoxModelObject
Parameters:
fic - le Writer dans lequel il faut écrire.
Throws:
java.io.IOException

ajouterCapteur

public void ajouterCapteur()
Ajoute un nouveau capteur à l'observation.


add

public void add(int entree,
                java.lang.Object valeur)
Introduit une donnée dans cette section du flux.

Specified by:
add in interface IFlux
Specified by:
add in class Flux
Parameters:
entree - le numéro de l'entrée à remplir.
valeur - la donnée. Elle doit se conformer au type typeEntree(entree).

addBlock

public void addBlock(int entree,
                     java.util.Collection valeur)
Introduit un bloc de données dans cette section du flux.

Specified by:
addBlock in interface IFlux
Specified by:
addBlock in class Flux
Parameters:
entree - le numéro de l'entrée à remplir.
valeur - les données. Elles doivent toutes se conformer au type typeEntree(entree).

raz

public void raz(int entree)
Signale une remise à zéro du flux.

Specified by:
raz in interface IFlux
Specified by:
raz in class Flux
Parameters:
entree - le numéro de l'entrée à réinitialiser.

razBlock

public void razBlock(int entree,
                     java.util.Collection valeur)
Modifie les données. Equivalent à un raz + ajouterBloc.

Specified by:
razBlock in interface IFlux
Specified by:
razBlock in class Flux
Parameters:
entree - le numéro de l'entrée à actualiser.
valeur - le bloc de valeurs à envoyer.

lock

public void lock(java.lang.Object qui)
Description copied from class: Flux
Verrouille l'objet pour modification

Specified by:
lock in interface IFlux
Overrides:
lock in class Flux
Parameters:
qui - la référence de l'appelant

unlock

public void unlock(java.lang.Object qui)
            throws java.lang.IllegalAccessException
Deverrouille l'objet en fin de modification

Specified by:
unlock in interface IFlux
Overrides:
unlock in class Flux
Parameters:
qui - la référence de l'appelant
Throws:
java.lang.IllegalAccessException - si qui n'a pas verrouillé ce flux.

twin

public IFlux twin()
Crée un clone du flux courant. Toutes les caractèristiques seront recopiées. Aucun lien avec d'autres flux ne sera copié.

Specified by:
twin in interface IFlux

generateCode

public void generateCode(java.io.FileWriter file)
Code for initialisation overriding method in BoxModelObject *

Specified by:
generateCode in interface BoxModelObject
Parameters:
file - le fichier dans le quel le code sera écrit.

generateConnections

public void generateConnections(java.io.FileWriter file)
Code for the connections generated by individual connections *

Specified by:
generateConnections in interface BoxModelObject
Parameters:
file - le fichier dans le quel le code sera écrit.

getBuildingPanel

public BuildingPanel getBuildingPanel(boolean lockedBox)
Description copied from interface: BoxModelObject
Récupère le panneau de conception de ce module.

Specified by:
getBuildingPanel in interface BoxModelObject

drawRealObject

public void drawRealObject(java.awt.Graphics g)
Description copied from interface: BoxModelObject
Dessine l'objet visuel sur le contexte passé en paramètre.

Specified by:
drawRealObject in interface BoxModelObject
Parameters:
g - le contexte graphique sur lequel il faut dessiner.

getBox

public BoxObject getBox()
Description copied from interface: BoxModelObject
Renvoie la boîte associée au modèle durant le design.

Specified by:
getBox in interface BoxModelObject
Returns:
un BoxObject correspondant à l'interface entre le IFlux et l'application de design.

setBox

public void setBox(BoxObject with)
Description copied from interface: BoxModelObject
Associe le modèle avec une boîte à utiliser durant le design.

Specified by:
setBox in interface BoxModelObject
Parameters:
with - un BoxObject contenant les donnés;es de l'interface visuelle.

descriptionEntree

public java.lang.String descriptionEntree(int no)
Retourne la description de l'une des broches d'entrée.

Specified by:
descriptionEntree in interface BoxModelObject
Parameters:
no - un entier contenant le numéro de la broche à interroger.

descriptionSortie

public java.lang.String descriptionSortie(int no)
Retourne la description de l'une des broches de sortie.

Specified by:
descriptionSortie in interface BoxModelObject
Parameters:
no - un entier contenant le numéro de la broche à interroger.

retourAutorise

public java.lang.Class retourAutorise(int no)
Indique pour quel type de boîte connectée à l'une des broches d'entrée un retour est autorisé.

Specified by:
retourAutorise in interface BoxModelObject
Overrides:
retourAutorise in class Flux
Parameters:
no - un entier contenant le numéro de la broche à interroger.
Returns:
la classe dont doit dériver un module pour accepter ce retour. null si aucun retour n'est autorisé

connectBack

public void connectBack(int entree,
                        IFlux autre,
                        int sortie)
                 throws java.lang.IllegalArgumentException
Connecte l'une des entrées du flux à une sortie d'une autre section du flux afin d'obtenir un flux bidirectionnel.

Specified by:
connectBack in interface IFlux
Overrides:
connectBack in class Flux
Parameters:
entree - le numéro de l'entrée à connecter sur la sortie.
autre - la section de flux à connecter à la sortie.
sortie - le numéro de la sortie de autre à connecter.
Throws:
java.lang.IllegalArgumentException - si entree n'est pas entre 0 et nbEntrees()-1.
java.lang.IllegalArgumentException - si sortie n'est pas entre 0 et autre.nbSorties()-1.
java.lang.IllegalArgumentException - si le type de autre n'est pas acceptable pour un retour.

apprend

public void apprend(double[][] beliefs)
Description copied from interface: ICapteur
Apprends les probabilités d'observation en se basant sur le chamin de probabilités.

Specified by:
apprend in interface ICapteur
Parameters:
beliefs - un tableau[temps][états].

getData

public java.util.LinkedList getData()
Description copied from interface: ICapteur
Demande le nouvel envoi des données.

Specified by:
getData in interface ICapteur

valeur

public double valeur()
Renvoie la valeur actuelle de la fonction.

Specified by:
valeur in interface IFonction
Returns:
un double contenant le résultat de la fonction avec les paramètres actuels.

nbParametres

public int nbParametres()
Renvoie le nombre de paramètres de la fonction.

Specified by:
nbParametres in interface IFonction
Returns:
un int contenant le le nombre de paramètres de la fonction.

domaine

public double[] domaine(int no)
                 throws java.lang.IllegalArgumentException
Renvoie le domaine de validité d'un paramètre.

Specified by:
domaine in interface IFonction
Parameters:
no - le numéro du paramètre à interroger.
Returns:
un double[2] contenant respectivement la borne inférieure et supérieure de l'intervalle de validité du paramètre numéro no.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().

regleParametre

public void regleParametre(int no,
                           double valeur)
                    throws java.lang.IllegalArgumentException
Règle un paramètre.

Specified by:
regleParametre in interface IFonction
Parameters:
no - le numéro du paramètre à règler.
valeur - la valeur du paramètre.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().
java.lang.IllegalArgumentException - si valeur n'est pas dans le domaine de validité du paramètre.

printDescriptif

public void printDescriptif(java.io.Writer flux,
                            int no)
                     throws java.lang.IllegalArgumentException,
                            java.io.IOException
Décrit un paramètre.

Specified by:
printDescriptif in interface IFonction
Parameters:
flux - le flux où envoyer la description.
no - le numéro du paramètre à interroger.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().
java.io.IOException

parametre

public double parametre(int no)
                 throws java.lang.IllegalArgumentException
Renvoie la valeur d'un paramètre.

Specified by:
parametre in interface IFonction
Parameters:
no - le numéro du paramètre à interroger.
Returns:
la valeur du paramètre.
Throws:
java.lang.IllegalArgumentException - si no n'est pas entre 0 et nbParametres().

setReglage

public void setReglage()
Empêche la fonction de faire des calculs à chaque règlage de paramètre.

Specified by:
setReglage in interface IFonction

unsetReglage

public void unsetReglage()
Pré la fonction en faisant les calculs nécessaires à la finalisation des règlages des paramètres.

Specified by:
unsetReglage in interface IFonction