Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema orologio uml statechart

    ciao a tutti,devo implementare un digital clock facendo uso di un timer simile al timertask di java,è un progettino quindi devo documentare il tutto con UML,perciò ho creato uno statechart per mettere in evidenza le varie funzionalità del sistema ovvero si hanno tre modalità (Normale,SetupAllarm,SetupOrario) più le varie transition da uno stato all'altro in seguito alla pressione di alcuni bottoni,detto questo poichè devo fare espressamente uso del timer per far si che i secondi i minuti e le ore si aggiornino in seguito ad un timeout() (un timeout ogni secondo per aggiornare i secondi),ho pensato che in qualsiasi stato in cui mi trovo faccio timer.set(n),n è un intero a piacere il problema è che se io cambio stato spesso ovvero prima che il timer spiri allora riesco ad aggiornare i secondi e quindi i minuti e le ore ma se rimango ad esempio nello stato di funzionamento normale senza spostarmi più da nessuna parte il timer prima o poi spirerà e non manderà più il timeout ogni secondo e il sistema si blocca,altro problema è che comunque mi sposti in una diversa modalità l'orario non deve subire dilatazioni,i secondi i minuti e le ore devono continuare ad aggiornarsi normalmente,naturalmente non posso fare uso di classi come gregorian calendar o altre soluzioni che non utilizzino questo timer spero di essere stato chiaro e che qualcuno mi possa aiutare grazie in anticipo.

  2. #2
    up

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    5
    Devi mettere in evidenza il tempo in uno statechart gerarchico o piatto?

  4. #4
    ciao, in uno statechart gerarchico dopo di che devo fare l'appiattimento per poter applicare il pattern state.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    5
    Presumo tu stia parlando del progetto di Nigro del corso di Ingegneria del Software.
    Personalmente ho fatto cosi

    Statechart Gerarchico
    Ho racchiuso tutti gli stati (le varie modalita') in un macrostato il quale e' contenuto nel DigitalClock_TOP.
    Successivamente basta fare una transizione sul bordo esterno del macrostato (non sul top altrimenti ti boccia ) che rientra con deep history.In questo modo tu gestisci il timeout in qualsiasi stato sia e dopo riprendi dallo stato in cui eri (rientrando con deep history)

    Statechart Piatto
    Basta gestire su ogni singolo stato una transizione interna o esterna (se esterna farai exit-> entry ad ogni tick)

  6. #6
    eheh presumi bene,se hai msn scambiamo due chiacchiere

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.