Sequenzdiagramm

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Sequenzdiagramm
ich habe eine Frage,
SEQUENZDIAGRAMM —> Operationen und kombinierte Fragmente

“strict” - mögliche Traces, ich gehe streng der Reihenfolge nach

bei “par” ist die Reihenfolge nicht relevant

oder?? kann mir jemand paar Beispiele oder mal ne kurze Erklärung geben

Vielen dank


Die Frage hatten wir auch schonmal. Ich bin der Meinung dass bei Par auf einer Lebenslinie Nachrichten empfangen werden dürfen bevor vorherige Nachrichten abgearbeitet wurden. Allerdings muss zum Senden auf einer Lebenslinie alles davor bereits eingetroffen sein.


hmm ich bin mir da auch unsicher, aber ich glaub auch, dass man bei strict auf jedenfall alle anwortnachrichten abwarten muss, aber bei par nicht unbedingt. Oder so ähnlich :confused:


Du denkst an Seq, bei Strict hängt die Reihenfolge nicht nur von Lebenslinien sondern auch von der vertikalen Position ab


was meinst du denn mit der vertikeln position? hättest du vielleicht en beispiel parat?


Meine Definition:

strict:
Es gibt nur eine Möglichkeit (Ausnahmen sind natürlich Opt mit Bedingung oder Alt) in einem Strict Fragment eine trace zu baun, weil man das einfach von oben nach unten abliest

seq:
Jede Lebenslinie darf jederzeit Senden und Empfangen solange alle Vorgänger auf der Lebenslinie empfangen wurden

par:
Jede Lebenslinie darf jederzeit Empfangen aber nur Senden wenn alle Vorgänger empfangen wurden.


Aus der Spezifikation (Ich werd nicht schlau draus und arbeite deshalb weiter mit dem wie ich es in der Vorlesung verstanden habe, außer es mag mir jemand erklären versteht sich):
Strict:
The interactionOperator strict designates that the CombinedFragment represents a strict sequencing between the
behaviors of the operands. The semantics of strict sequencing defines a strict ordering of the operands on the first level
within the CombinedFragment with interactionOperator strict. Therefore OccurrenceSpecifications within contained
CombinedFragment will not directly be compared with other OccurrenceSpecifications of the enclosing
CombinedFragment.

Par:
The interactionOperator par designates that the CombinedFragment represents a parallel merge between the behaviors of
the operands. The Occurrence Specifications of the different operands can be interleaved in any way as long as the
ordering imposed by each operand as such is preserved.
A parallel merge defines a set of traces that describes all the ways that OccurrenceSpecifications of the operands may be
interleaved without obstructing the order of the OccurrenceSpecifications within the operand.

Seq:
The interactionOperator seq designates that the CombinedFragment represents a weak sequencing between the behaviors
of the operands.
Weak sequencing is defined by the set of traces with these properties:

  1. The ordering of OccurrenceSpecifications within each of the operands are maintained in the result.
  2. OccurrenceSpecifications on different lifelines from different operands may come in any order.
  3. OccurrenceSpecifications on the same lifeline from different operands are ordered such that an
    OccurrenceSpecification of the first operand comes before that of the second operand.
    Thus weak sequencing reduces to a parallel merge when the operands are on disjunct sets of participants. Weak
    sequencing reduces to strict sequencing when the operands work on only one participant.

danke coMar.

Es macht mir Angst, dass du letztes mal durchgefallen bist, wo du soviel weißt :confused:

Zu dem englischzeug: Versteh ich auch nich, (bei mir liegts vermutlich am englisch :wink: )


Mein Englisch ist wirklich gut eigentlich, aber ich kann inhaltlich nichts damit anfangen, und keine Sorge ich hab letztes mal echt fast nichts gemacht.


Arbeiten strict und par nicht mit Operanden? Hier meine Interpretation:

strict: alle Nachrichten im ersten Operand müssen vor dem betreten des zweiten abgearbeitet werden.
par: Operanden können parallel laufen

Bei beiden gilt nach wie vor die Regel mit den Lebenslinien, aber nur soweit wie sie sich in den gleichen Operanden befinden.

seq: es kommt nur auf die Lebenslinien an, Operanden sind egal.

Ob das stimmt, keine Ahnung. Es würde zumindest zu den Bildchen auf den Folien passen.


mein englisch ist mies, deswegen komm ich erst gar nicht zum inhalt :smiley:

aso okay, das is beruhigend… Was hast du denn an Theorie gelernt?


So hab ichs auch verstanden und genau das sagt eigentlich auch die Spezifikation aus, die du gepostet hast.

par: The Occurrence Specifications of the different operands can be interleaved in any way as long as the
ordering imposed by each operand as such is preserved.
=> Nur die Reihenfolge in den einzelnen Fragmenten muss eingehalten werden, diese können aber abwechseld bzw. parallel ausgeführt werden.

seq: Die Reihenfolge der einzelnen Fragmente wird eingehalten und die Punkte auf den einzelnen Lebenslinien werden von oben nach unten abgehandelt.