SDM: Activity diagrams

Activity diagrams vs state diagrams

UML activity diagrams look rather like UML state diagrams. Historically, in early versions of the standard, they used to be treated as variants of the same thing. They were distinguished by states in a state diagram having the rounded-corner rectangle shape, and activities in an activity diagram having fully-rounded sides. Originally, activity diagrams' fork and join bars were treated as a different syntax for what, underneath, could also be modelled using nested states. Semantically, treating them as variants of the same thing turned out not to work very well: essentially, nested states didn't give as much flexibility as was desired for representing parallel behaviour. (Challenge: think about that!) So activity diagrams were given a new semantics, especially for their fork and join bars, based on token flow. If you've every come across Petri nets, this may be familiar. However, at the same time as this change in semantics was made, the notation was changed so that states and activities are now both shown with the identical shape!

Quick questions

(A couple of these are unfair of me in that they are not explicitly answered in the videos. Try anyway!)

Q1 Activities in a UML activity diagram are shown as
rectangles
ellipses
rectangles with left and right sides curved
rectangles with rounded corners

Q2 The key symbol involved in showing more than one thing happening in parallel is
a thick black bar
a diamond
a circle
a special kind of arrow

Q3 Two arrows could legally come out of the same activity:
True
False

Q4If two arrows go into a thick black bar, and then one arrow comes from the bar into an activity A, then removing the black bar and making the original two arrows go straight into A would:
make no difference to the meaning of the diagram
make a difference to the meaning of the diagram
make the diagram illegal