|
| systemudvikling "LArman" Fra : Abdis | Vist : 687 gange 48 point Dato : 02-01-05 19:24 |
|
kan du forklare mig hvad er Statechart Diagram og hvad er forsekellen mellem Statechart diagram og sekvense diagram
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 19:34 |
|
Vent nu lige med at smide om dig med point Abdis og tillykke med at finde vej
Folk svarer når folk har tid. Ikke alle er på i døgndrift, men du skal nok få svar.
Statechart ? Er det en specifikt program/IDE du spørger til ? Du må forklare dig lidt. Er det Borland, Sun eller et 3. part program du tænker på ?
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 19:38 |
| | |
| Kommentar Fra : emesen |
Dato : 02-01-05 20:18 |
|
Sikken et elendigt diagram til en "state machine" nulstille kontakten har ingen pull-up eller pull-down modstand/kondensator.
>>>
The circuit diagram for a 4 bit TTL counter, a type of state machine
>>>
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 20:27 |
| | |
| Kommentar Fra : molokyle |
Dato : 02-01-05 20:54 |
|
Dette bringer mig tilbage til Abdis' spørgsmål :
Et sekvensdiagram er :
Først dette, så dette, så dette, så dette ..i nævnte rækkefølge. Det er deterministisk og kan altid backtraces til udgangspuntet, men kan fortsætte ad infinitum evt. som cyclus.
Et State machine diagram er :
Dette, så enten dette eller dette, derefter enten dette eller dette ... osv. Det er non-deterministisk og kan ikke backtraces og kan ligeledes fortsætte ad infinitum.
Finite state machine diagrammer er som ovenstående, men slutter altid i en endelig tilstand = Deterministisk, et 'lukket' system.
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 20:56 |
|
emesen -> Non-determistisk = Man kan ikke ud fra givne start parametre forudsige udfaldet.
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 20:57 |
|
Et eksempel er Random funktionen : Random(10); Der giver et tilfældigt tal mellem 0 og 9.
</MOLOKYLE>
| |
| Kommentar Fra : emesen |
Dato : 02-01-05 21:02 |
|
Det kan ikke passe Molokyle.
Det tælle diagram gør sådan: først dette så dette så dette så dette og slutter hvor den startede men fortsætter så længe den kontakt vender op mod plus.
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 21:08 |
|
emesen -> Jo, det kan passe. Husker du vores snak om hysterese loop ? ..og tvungen clock-cycle ? Fasen vender på et non-deterministisk tidspunkt. ...og dog er resultatet altid det samme 0-1-0-1-0- osv..
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 21:15 |
|
0 og 1 er da et finite state, men transitionen er non-deterministisk. En model over dette er en state machine. Der kan alle transitioner bestemmes, men hverken forudsiges eller 'kigges tilbage' på.
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 21:22 |
|
Ovenstående kan beskrives med et finite state machine diagram, men ikke med et sekventielt diagram.
</MOLOKYLE>
| |
| Kommentar Fra : emesen |
Dato : 02-01-05 21:23 |
|
Ikke enig
Og dog - så kan man ikke søge vejen tilbage i tælleren men vi kender vejen.
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 21:29 |
|
Nix emesen ->
result =
If Random(10) < 5 then 3+4
else 4+3;
print(result);
No way to backtrace
Kan beskrive som state machine (afgør hvert træk), men ikke sekventielt (trækket er forudbestemt)
</MOLOKYLE>
| |
| Kommentar Fra : emesen |
Dato : 02-01-05 21:35 |
|
Molokyle - der er ingen random i et tælle kredsløb.
Den tæller forudsigeligt binært hvor hver kreds halverer foranstående kreds clockpuls og derved skaber binær optælling.
Men jeg lukker nu.
| |
| Kommentar Fra : molokyle |
Dato : 02-01-05 22:01 |
|
Du mener da ikke at hviletiden (hysteresen) i en multivibrator (..var det vist sidste gang) kan beskrives sekventielt ?
Tidsenhed for tidsenhed ?
Joeh... hvis du indregner en usikkerhed, margin eller hva' du nu vil kalde det, men da er sekvensen tidsmæssigt ikke længere deterministisk.
Så vidt jeg husker er det netop for tidskritiske programmer/hardware man udarbejder state machines diagrammer.
</MOLOKYLE>
| |
| Kommentar Fra : jakjoe |
Dato : 02-01-05 23:27 |
|
Utroligt flot, uden fejlberegninger af nogen art
Halvering af tiden uden flip-flop...skal tidligt op.
Godt nytår.
mvh
jakjoe
| |
|
I objektorienteret systemudvikling kan et statechart bedst oversættes med "et tilstands diagram".
Sekvensdiagrammet bruges til at vise nogle objekters interaktion med hinanden. Der er typisk en aktør, der sætter det hele igen, f.eks. med et kald til en metode i/på et objekt. Efter dette sørger objektet f.eks. for at kalde en metode på et andet objekt osv. Altså en sekvens af handlinger, som nok burde få en ende. Men der er forskel på begrebet "sekvens" og så et sekvensdiagram. Man kan godt tegne et sekvensdiagram, der aldrig slutter. Men afhængigt af den efterfølgende design, risikerer man at det resulterer i kode, der heller aldrig slutter (loop). Ikke hensigtsmæssigt.
Tilstandsdiagrammet viser en oversigt over en række tilstande. Kan bruges til at beskrive tilstande i hele systemer, men også helt ned til en enkel "forløkke".
Diagrammet vil så vise, at når i=5 er strengen "Dette er en test!" nu lig med "Dette e"
(Svært når men ikke kan tegne)
Søg f.eks. på navnet Martin Fowler og OOAD (Objektorienteret analyse og design)
| |
| Accepteret svar Fra : justuniverse | Modtaget 48 point Dato : 02-01-05 23:53 |
|
Sludder:
Det skulle være
-Diagrammet vil så vise, at når i=7 er strengen "Dette er en test!" nu lig med "Dette e"
| |
| Kommentar Fra : molokyle |
Dato : 03-01-05 00:16 |
|
Jeg vil stadig mene at min kommentar : Fra : molokyle Dato : 02-01-05 21:29
..kan beskrives i sin helhed som ét state machine diagram, men hvis det skal beskrives sekventielt for alle de mulige retninger programmet kan forløbe, skal man angive mange selvstændige sekventiel diagrammer. Nemlig for værdien af Random(10): med f.eks. en præcision på 6 decimaler ; 0.000000, 0.000001, 0.000002, 0.000003 osv... op til 8.999999, 9.000000.
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 03-01-05 00:26 |
|
Kort sagt; et sekventiel diagram viser det aktuelle indhold af registre, hukommelse, PC (program counter) osv.. for en kørsel af koden. Et state machine diagram viser de logiske tilstande der afgør udfaldet af en programkørsel. Et state diagram kan bevise om koden er valid. Et sekventielt diagram viser blot rækkefølgen af kommandoer og variabelværdierne af et givet programtrin.
</MOLOKYLE>
| |
| Kommentar Fra : molokyle |
Dato : 03-01-05 11:58 |
| | |
| Kommentar Fra : molokyle |
Dato : 03-01-05 12:18 |
| | |
|
Husk at lukke alle dine spørgsmål
| |
| Godkendelse af svar Fra : Abdis |
Dato : 04-02-05 22:50 |
|
Tak for svaret justuniverse.
| |
| Du har følgende muligheder | |
|
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
| |
|
|