[cooperativefsm] r11 committed - Migliorie al codice, correzione errori preesistenti, completamento sch...

  • From: codesite-noreply@xxxxxxxxxx
  • To: cooperativefsm@xxxxxxxxxxxxx
  • Date: Mon, 05 Oct 2009 21:37:29 +0000

Revision: 11
Author: alessandroferrari87
Date: Mon Oct  5 14:37:12 2009
Log: Migliorie al codice, correzione errori preesistenti, completamento scheletro del core.
http://code.google.com/p/cooperativefsm/source/detail?r=11

Added:
 /trunk/cooperativefsm/src/cooperativefsm/TransizioniAbilitate.java
Modified:
 /trunk/cooperativefsm
 /trunk/cooperativefsm/src/cooperativefsm/Fsm.java
 /trunk/cooperativefsm/src/cooperativefsm/Input.java
 /trunk/cooperativefsm/src/cooperativefsm/Simulazione.java
 /trunk/cooperativefsm/src/cooperativefsm/Stato.java
 /trunk/cooperativefsm/src/cooperativefsm/Transizione.java

=======================================
--- /dev/null
+++ /trunk/cooperativefsm/src/cooperativefsm/TransizioniAbilitate.java Mon Oct 5 14:37:12 2009
@@ -0,0 +1,32 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+package cooperativefsm;
+
+/**
+ *
+ * @author alessandro
+ */
+public class TransizioniAbilitate {
+
+    private int idTransizioneFSM1;
+    private int idTransizioneFSM2;
+
+    public void setIdTransizioneFSM1(int id){
+        idTransizioneFSM1 = id;
+    }
+    public void setIdTransizioneFSM2(int id){
+        idTransizioneFSM2 = id;
+    }
+
+    public int getIdTransizioneFSM1(){
+        return idTransizioneFSM1;
+    }
+
+    public int getIdtransizioneFSM2(){
+        return idTransizioneFSM2;
+    }
+
+}
=======================================
--- /trunk/cooperativefsm/src/cooperativefsm/Fsm.java Sat Oct 3 08:01:59 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Fsm.java Mon Oct 5 14:37:12 2009
@@ -2,50 +2,60 @@

 /**
  *
- * @author Renato
+ * @author Alessandro Ferrari, Carlo Svanera, Luca Cominardi
  */

 import java.util.Vector;

 public class Fsm {

-    String id;
-    int numStati;
-    Stato sCorrente;    //serve davvero???
-    Vector listaStati;
-    Vector listaTrans;
+    private String id;
+    private int numStati;
+    private Vector<Stato> stati;
+    private Vector<Transizione> transizioni;
+    private int numRelazioniSincroneTransizioniUscenti;



-    public Fsm () {    // costruttore di una macchina a stati finiti
-
-        listaStati = new Vector ();
-        listaTrans = new Vector ();
+ public Fsm (String _id, Vector<Stato> _stati,Vector<Transizione> _transizioni) { // costruttore di una macchina a stati finiti
+
+        id=_id;
+        stati = _stati;
+        transizioni = _transizioni;

      }
-
-

public void addStato(Stato s) { //aggiunge uno stato al vector listaStati
-        listaStati.add(s);
+        stati.add(s);
     }

- public void setStatoCorrente(Stato s) { //imposta il valore dello stato corrente
-        sCorrente = s;
+    public Vector<Stato> getStati(){
+        return stati;
     }

-    public Stato getStatoCorrente ()  {
-        return sCorrente;
-    }
-
-
     public Stato getStato (int indice)  {

-        Stato s = (Stato) listaStati.get(indice);
+        Stato s = (Stato) stati.get(indice);
         return s;
     }
-
-     //settaTransizioniUscentiStati();
+
+    public Vector<Transizione> getTransizioni()
+    {
+        return transizioni;
+    }
+
+
+     public void setTransizioniUscentiStati(){
+         //TODO
+     }
+
+     public int getNumRelazioniSincroneTransizioniUscenti(){
+         return numRelazioniSincroneTransizioniUscenti;
+     }
+
+ public void setNumRelazioniSincroneTransizioniUscenti(Simulazione.Relazione relazioni[][]){
+         //TODO
+     }


   }
=======================================
--- /trunk/cooperativefsm/src/cooperativefsm/Input.java Sat Oct 3 08:01:59 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Input.java Mon Oct 5 14:37:12 2009
@@ -2,7 +2,7 @@

 /**
  *
- * @author Renato
+ * @author Alessandro Ferrari, Carlo Svanera, Luca Cominardi
  */
 import java.util.Vector;
 import java.lang.*;
@@ -10,11 +10,21 @@

 public class Input {

+ //Attributi private, metodi public, information hiding ;), per accederci
+    //utilizza i get e i set
+
+    //Ricordati il specificatore del tipo di collection per i vector,
+    //tipo Vector<nome_classe>
+
+ //Per i nomi degli attributi fai riferimento ai diagrammi uml che ho fatto
+
//Questi attributi sono in realtà variabili di appoggio che servono ai metodi (astatti)
-    public Vector listaS;
-    public Vector listaT;
-    public Vector listaR;
-    public Vector listaMacchine;
+    private Vector<Stato> listaS;
+    private Vector<Transizione> listaT;
+ //La documentazione su come deve essere relazioniTransizioni è presente nelle mail
+    //Se non è ancora chiara contattami
+ private Simulazione.Relazione relazioniTransizioni[][]; //Relazione è un tipo enum che definisce i tipi di relazione
+    private Vector<Fsm> listaFSM;


     /*
@@ -28,14 +38,14 @@
              for(i=0; i<numFsm; i++)
              {
              Fsm fsm = creaFsm (Integer.toString(i));
-             listaMacchine.add(fsm);
+             listaFSM.add(fsm);
              }

              //Lettura stato iniziale
              StatoCorrente statoIniziale = leggiStatoIniziale();

              //Lettura relazioni
-             listaR = leggiRelazioni();
+             relazioniTransizioni = leggiRelazioni();

              //Controllo dei vincoli di correttezza della simulazione
              if(!simulazioneCorretta() )
@@ -44,7 +54,7 @@
              }

//L'interfaccia tra io e core è data da questa riga, è l'unico punto di incontro - return (new Simulazione(listaMacchine, listaR, statoIniziale)); + return (new Simulazione(listaFSM, relazioniTransizioni, statoIniziale));
             }


@@ -119,16 +129,11 @@
       * @return la nuova istanza di Fsm
       */

-     public Fsm creaFsm (String nome)
-        {
-        Fsm macchina= new Fsm ();
-
-        macchina.id = nome;
-        macchina.listaStati = listaS;
-        macchina.listaTrans = listaT;
-
+     public Fsm creaFsm (String nome){
+        Fsm macchina= new Fsm ( nome , listaS, listaT);
+
         return macchina;
-        }
+     }



@@ -152,16 +157,17 @@
          * Metodo che ricava le relazioni tra le transizioni delle 2 FSM
* @return il vettore contenente le relazioni tra TUTTE le transizioni [...]
          */
-        public Vector leggiRelazioni ()
-            {
-            Vector listaRelazioni = new Vector();
+        public  Simulazione.Relazione[][] leggiRelazioni (){
+ int n = listaFSM.elementAt(0).getTransizioni().size();//N° transizioni prima fsm + int m = listaFSM.elementAt(1).getTransizioni().size();//..seconda + Simulazione.Relazione _relazioniTransizioni[][] = new Simulazione.Relazione[n+1][m+1];

             Transizione t1,t2;
             //RelazioneTransizioni r = new RelazioneTransizioni (t1,t2);
             //listaRelazioni.add(r);

-            return listaRelazioni;
-            }
+            return relazioniTransizioni;
+        }



=======================================
--- /trunk/cooperativefsm/src/cooperativefsm/Simulazione.java Sun Oct 4 14:53:50 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Simulazione.java Mon Oct 5 14:37:12 2009
@@ -2,7 +2,7 @@

 /**
  *
- * @author Renato
+ * @author Alessandro Ferrari, Carlo Svanera, Luca Cominardi
  */
 import java.util.Vector;

@@ -15,36 +15,59 @@
         M_EX
     }

-    //public Fsm fsm1;
-    //public Fsm fsm2;
-    private Vector listaFsm;
-
- private Vector listaRelazioni; //lista statica che comprende TUTTE le possibili coppie di transizioni - private Vector listaRelazioniAbilitate; //lista dinamica che varia a seconda dello stato corrente
-    private StatoCorrente sCorrente;
+    private Vector<Fsm> listaFsm;
+ private Vector<TransizioniAbilitate> transizioniAbilitate; //lista dinamica che varia a seconda dello stato corrente
+    private StatoCorrente statoCorrente;
     private Relazione relazioniTransizioni[][];

-
-
-    public Simulazione (Vector listaM, Vector listaRel, StatoCorrente sc)
-        {
-        listaFsm = listaM;
-        listaRelazioni = listaRel;
-        sCorrente = sc;
-        }
-
+    /**
+     *
+ * That constructor provide to create a simulation by settings the params
+     * passed from the IO classes.
+     *
+     * @param listaFSM
+     * @param relazioni
+     * @param sc
+     *
+     * @see Input,InputXML,InputTast
+     */
+
+ public Simulazione (Vector<Fsm> listaFSM, Relazione relazioni[][], StatoCorrente sc)
+    {
+        listaFsm = listaFSM;
+        relazioniTransizioni = relazioni;
+        statoCorrente = sc;
+    }
+
+    /**
+     *
+     * This method fill the list of TransizioniAbilitate starting from
+ * a set of Relazioni that interest outgoing Transizioni from the current
+     *  state.
+     *
+     */
+
+    private void setTransizioniAbilitate(){
+        //TODO: vedi macchina a stati finiti uml
+    }
+
+    private StatoCorrente scatta(TransizioniAbilitate t){
+        StatoCorrente prossimoStato = new StatoCorrente();
+
+        //TODO
+
+        return prossimoStato;
+    }

     /**
-     *
-     * @return
+     *This method perform the simultion step.
+     *
      */
     public boolean eseguiIterazione ()
-        {
-        boolean fineProg = false;
-
-        ///////
-
-        return fineProg;
-        }
+    {
+        //TODO
+
+        return true;
+    }

 }
=======================================
--- /trunk/cooperativefsm/src/cooperativefsm/Stato.java Sat Oct 3 08:01:59 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Stato.java Mon Oct 5 14:37:12 2009
@@ -2,24 +2,35 @@

 /**
  *
- * @author Renato
+ * @author Alessandro Ferrari, Carlo Svanera, Luca Cominardi
  */

 import java.util.Vector;

 public class Stato {

-    int idStato;
-    Vector transUscenti;
+    private int idStato;
+    private Vector<Transizione> transizioniUscenti;


     public Stato (int num_stato) {   //costruttore di uno stato

         idStato = num_stato;
-        transUscenti = new Vector ();
+        transizioniUscenti = new Vector<Transizione>();
     }

     public void addTransUscente(Transizione t){
-        transUscenti.add(t);
-    }
-}
+        transizioniUscenti.add(t);
+    }
+
+    public int getId()
+    {
+        return idStato;
+    }
+
+    public void setId(int id)
+    {
+        idStato = id;
+    }
+
+}
=======================================
--- /trunk/cooperativefsm/src/cooperativefsm/Transizione.java Wed Sep 23 03:18:54 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Transizione.java Mon Oct 5 14:37:12 2009
@@ -11,13 +11,24 @@
  */
 public class Transizione {

-    int id;
-    Stato sorgente;
-    Stato destinazione;
- //int numRelazioniSincroneStatoCorrente //Indica quanti relazioni sincrone ha con altre transizioni nello stato corrente
-
-    public Transizione(Stato s, Stato d) {
-        sorgente=s;
-        destinazione=d;
+    private int id;
+    private Stato stato1;
+    private Stato stato2;
+ private int numRelazioniSincroneStatoCorrente; //Indica quanti relazioni sincrone ha con altre transizioni nello stato corrente
+
+    public Transizione(Stato _stato1, Stato _stato2) {
+        stato1=_stato1;
+        stato2=_stato2;
+    }
+
+ public void setNumRelazioniSincroneStatoCorrente( Simulazione.Relazione relazioni[][]){
+        //TODO
+    }
+
+    public int getNumRelazioniSincroneStatoCorrente(){
+
+        //TODO
+
+        return  numRelazioniSincroneStatoCorrente;
     }
 }

Other related posts:

  • » [cooperativefsm] r11 committed - Migliorie al codice, correzione errori preesistenti, completamento sch... - codesite-noreply