Forum: Mikrocontroller und Digitale Elektronik Zustandsiagramm, warten auf Pin


von Florian S. (sirius7)


Angehängte Dateien:

Lesenswert?

Hallo,

kann bei Zustandsdiagrammen leider nirgends diesen einen speziellen Fall 
finden, also das System ist "aus" und wenn Bit 0 vom PORTB 1 wird, 
schaltet das System "ein". Wie wird das richtig (also Professorgerecht) 
dargestellt? Habe eine Version von mir im Anhang, kann das so stimmen?

Hoffe auf Eure Hilfe.

danke!

von Michael (Gast)


Lesenswert?


von Florian S. (sirius7)


Lesenswert?

Hallo, das kenne ich, allerdings wo soll hier eine Verzweigung hin 
gehören? das System ist anfangs "aus", es tut nichts und trifft also 
keine Entscheidungen. Es wird mit PIN0=1 alternativlos "ein".

von Sascha M. (stmech)


Lesenswert?

Hallo, die Darstellung ist absolut richtig. Receive ist zugleich auf das 
Warte-Glied.

von Oje! (Gast)


Lesenswert?

Und wann passiert die Transition ? Bei PIN oder doch bei Pin  = 1 ??
Hat der Zustand den Namen EIN ? Gibt es keinen Grundzustand ? Bleibt die 
Kiste im Init hängen, weil sie nicht weiss, auf welchen Pegel an PinB0 
sie reagieren soll ?
Passiert irgendeine Zuweisung im Zustand EIN oder AUS ? zB SYSTEM = ...

Ist das SPS oder Schaltwerktheorie ? Diagramm nach welcher Norm ?

Alles Fragen...

PS der Wikipedia Artikel ist meiner Meinung nach Kacke.

von Sascha (Gast)


Lesenswert?

Ja, das ist er wirklich. Allerdings ist er Teil von diversen 
UML-Artikeln die alle zusammengehören.
Nichtsdestotrotz ist ein gutes Buch/Skript zu dem Thema bestimmt 
vorzuziehen.

von Marian (phiarc) Benutzerseite


Lesenswert?

Sascha schrieb:
> Ja, das ist er wirklich. Allerdings ist er Teil von diversen
> UML-Artikeln die alle zusammengehören.
> Nichtsdestotrotz ist ein gutes Buch/Skript zu dem Thema bestimmt
> vorzuziehen.

Betonung auf *gut*: Es wurde leider schon sehr viel Murks zum Thema 
Modellierung, und auch (gerade?) zu UML geschrieben.

von chris_ (Gast)


Lesenswert?

>Hallo, die Darstellung ist absolut richtig. Receive ist zugleich auf das
>Warte-Glied.

Die Notation von UML scheint mir da eine andere zu sein: An die 
Transitionen werden die Übergagngsbedingungen zwischen den Zuständen 
geschrieben:
https://de.wikipedia.org/wiki/Zustandsdiagramm_%28UML%29

Das ist in den obigen Bildern nicht der Fall. Ich würde sagen, das 
entspricht nicht der UML-Norm und ist deshalb auch nicht richtig.

von Sascha M. (stmech)


Lesenswert?

chris_ schrieb:

> Die Notation von UML scheint mir da eine andere zu sein: An die
> Transitionen werden die Übergagngsbedingungen zwischen den Zuständen
> geschrieben:
> https://de.wikipedia.org/wiki/Zustandsdiagramm_%28UML%29
>
> Das ist in den obigen Bildern nicht der Fall. Ich würde sagen, das
> entspricht nicht der UML-Norm und ist deshalb auch nicht richtig.

also wegen den Normen von UML kann man sich nicht wirklich sicher sein, 
ich sehe fast auf jeder anderen Seite andere Normen. Hier z.B. ist 
Empfangsglied der, der auf die Aktion wartet. Das System kann z.B. im 
ausgeschalteten Zustand nicht aktiv prüfen, ob Signal 1 oder 0 gesetzt 
ist, daher würde die if/else abfrage auch fehl am Platz sein.
http://www.uml-diagrams.org/activity-diagrams-actions.html#accept-event-action

von chris_ (Gast)


Lesenswert?

>also wegen den Normen von UML kann man sich nicht wirklich sicher sein

Möglicherweise ändern sich die Normen. Die aktuellste ist UML 2.5

http://www.omg.org/spec/UML/2.5/Beta2/PDF/

Die Übergänge zwischen den Zuständen ( Transitions ) werden auf Seite 
347 beschrieben.

Der von Dir gepostete Link beschreibt Aktivitätsdiagramme, keine 
Zustandsdiagramme.

von Oje! (Gast)


Lesenswert?

Vielleicht ist ja auch FUP verlangt. Wer weiß ?
Der TO ist inzwischen abgekackt oder - was vernünftig wäre - lernt aus 
einem guten Buch oder Skript und vertrödelt seine Zeit nicht in Foren 
aller Art bzw. Wikipedia. Es weiß eh niemand, was sein Prof als richtig 
ansieht  :)))))

von chris_ (Gast)


Lesenswert?

>Es weiß eh niemand, was sein Prof als richtig ansieht  :)))))

Die Hochschulen sind ja dazu da, etwas zu lernen. Da der TO UML-artige 
Digramme gezeichnet hat, nehme ich an, es geht darum, syntaktisch 
korrekte Diagramme zu zeichnen. Das ist ja der Sinn des Lernens an den 
Hochschulen: Die Dinge korrekt zu lernen.

UML ist exakt spezifiziert. Du kannst in C zwar folgendes Programm 
schreiben und verstehen
1
if(x=20)
2
3
printf"hallo"
4
5
}

aber leider ist der Syntax nicht korrekt und es lässt sich nicht 
kompilieren. Deshalb geht es auch bei UML um Exaktheit.
Eine sehr gute Übung ist es, sich Eclipse Papyrus und den zugehörigen 
C++ Codegenerator zu installieren. Dann kann man sehen, welchen Code der 
Generator aus den UML-Diagrammen erstellt.

https://eclipse.org/papyrus/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.