Revision: 24 Author: svanerac Date: Thu Oct 29 09:58:48 2009 Log: Ah quanto ci piace committarePicoole modifiche per l'input da tastiera: ora si può inserire un id letterale per le fsm e le transizioni
http://code.google.com/p/cooperativefsm/source/detail?r=24 Added: /trunk/cooperativefsm/ciao.xml /trunk/cooperativefsm/provascrittura.xml Modified: /trunk/cooperativefsm/src/cooperativefsm/InputTast.java /trunk/cooperativefsm/src/cooperativefsm/Main.java /trunk/cooperativefsm/src/cooperativefsm/Servizio.java /trunk/cooperativefsm/src/cooperativefsm/Simulazione.java ======================================= --- /dev/null +++ /trunk/cooperativefsm/ciao.xml Thu Oct 29 09:58:48 2009 @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<simulation> + <fsm> + <name>prima</name> + <states>3</states> + <transition> + <id>scatto</id> + <s1>1</s1> + <s2>2</s2> + </transition> + <current>1</current> + </fsm> + <fsm> + <name>seconda</name> + <states>4</states> + <transition> + <id>autotrans</id> + <s1>1</s1> + <s2>1</s2> + </transition> + <current>1</current> + </fsm> + <relation> + <transval> + <fsmval>prima</fsmval> + <idval>scatto</idval> + </transval> + <transval> + <fsmval>seconda</fsmval> + <idval>autotrans</idval> + </transval> + <type>mutex</type> + </relation> +</simulation> ======================================= --- /dev/null +++ /trunk/cooperativefsm/provascrittura.xml Thu Oct 29 09:58:48 2009 @@ -0,0 +1,34 @@ +<?xml version="1.0"?> +<simulation> + <fsm> + <name>0</name> + <states>4</states> + <transition> + <id>null</id> + <s1>2</s1> + <s2>3</s2> + </transition> + <current>1</current> + </fsm> + <fsm> + <name>1</name> + <states>4</states> + <transition> + <id>null</id> + <s1>3</s1> + <s2>2</s2> + </transition> + <current>1</current> + </fsm> + <relation> + <transval> + <fsmval>0</fsmval> + <idval>null</idval> + </transval> + <transval> + <fsmval>1</fsmval> + <idval>null</idval> + </transval> + <type>mutex</type> + </relation> +</simulation> =======================================--- /trunk/cooperativefsm/src/cooperativefsm/InputTast.java Thu Oct 22 03:03:27 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/InputTast.java Thu Oct 29 09:58:48 2009
@@ -16,8 +16,10 @@ private final String INS_STATO = "Inserire il numero dello stato ";private final String INS_RELAZ = "Vuoi inserire una nuova relazione tra transizioni? "; private final String TIPO_RELAZ = "TIPO DI RELAZIONE TRA LE TRANSIZIONI"; - private final String [] SCELTA_RELAZ = {"Relazione sincrona","Relazione mutuamente esclusiva"};
- + private final String INS_NOMEFSM = "Inserire il nome della Fsm ";+ private final String INS_NOMETR = "Inserire il nome della transizione: ";
++ private final String [] SCELTA_RELAZ = {"Relazione sincrona","Relazione mutuamente esclusiva"};
private final int min_stati = 2;// private Simulazione.Relazione relazioniTransizioni[][]; //Relazione è un tipo enum che definisce i tipi di relazione
@@ -69,7 +71,8 @@ int numFsm = 2; for(int i = 0; i < numFsm; i++) { - Fsm fsm = creaFsm (Integer.toString(i)); + String nome = Servizio.leggiStringaNonVuota(INS_NOMEFSM + i); + Fsm fsm = creaFsm (nome); listaFsm.add(fsm); } } @@ -126,8 +129,11 @@Stato destinazione = this.leggiStatoConMax("destinazione", x.getNumStati()-1);
Transizione t = new Transizione (k,sorgente,destinazione); + t.setNome(Servizio.leggiStringaNonVuota(INS_NOMETR)); x.addTrans(t); k++; + + System.out.println("Transizione inserita correttamente!"); continua = this.ciSonoTrans(); }//while @@ -191,11 +197,11 @@ {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]);
- - for (int i=0; i<n; i++) - { - for(int j=0; j<m; j++)+ Simulazione.Relazione relazioniTransizioni[][] = (new Simulazione.Relazione [n][m]);
+ + for (int i=0; i < n; i++) + { + for(int j =0; j < m; j++)relazioniTransizioni[i][j] = relazioniTransizioni[i][j].ASINCRONA; //di default le transizioni sono asincrone tra loro, //solo quelle sincrone e m-ex saranno specificate
} =======================================--- /trunk/cooperativefsm/src/cooperativefsm/Main.java Thu Oct 29 09:14:04 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Main.java Thu Oct 29 09:58:48 2009
@@ -59,6 +59,7 @@System.out.println("-- Simulazione creata con successo!!! --");
s = in.leggiSimulazione(); System.out.println(s.ToString()); + continua = false; } catch (Exception ex) {//System.out.println(XML_NOT + ex.toString());
System.out.println(XML_NOT); =======================================--- /trunk/cooperativefsm/src/cooperativefsm/Servizio.java Thu Oct 15 07:02:36 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Servizio.java Thu Oct 29 09:58:48 2009
@@ -66,12 +66,6 @@ creato.useDelimiter(System.getProperty("line.separator")); return creato; } - - public static String leggiStringa (String messaggio) - { - System.out.print(messaggio); - return lettore.next(); - } public static String leggiStringaNonVuota(String messaggio) { @@ -79,7 +73,7 @@ String lettura = null; do { - lettura = leggiStringa(messaggio); + lettura = leggiString(messaggio); lettura = lettura.trim(); if (lettura.length() > 0) finito=true; =======================================--- /trunk/cooperativefsm/src/cooperativefsm/Simulazione.java Thu Oct 29 09:14:04 2009 +++ /trunk/cooperativefsm/src/cooperativefsm/Simulazione.java Thu Oct 29 09:58:48 2009
@@ -79,7 +79,10 @@ return true; } - +/** + * + * @return + */ public void salvaSimulazione(String file) { try {