Tuesday 26 June 2007

not much time today...

(1) Frankel has not arrived yet

(2) UML semantics is organised following ML: syntax, static semantics and dynamic semantics. However the last "dynamic" part is mostly absent.

(3) UML contains action semantics which allows us to model dynamics. It's worth noting that the primitives for defining actions include instance creating, such as:
This system will generate one "red" instance of this class, then another instance but with colour "green", then do something (which we leave vague) and later create a "blue" instance and combine all together and put them into a big bag.
It is worth noting that a class in OOPL can have a code in the shape of so-called "static methods" (in Java jargon): so a class does have a code in it, it is not purely declarative even if we forget its code for its instances. What does this tell us? It tells us that, all the more because of this, we should be careful in distinguishing the structural part (cleanly declarable) and the dynamic part (partly declarable by e.g. assertions in DBC but mostly hard to treat by declarative methods) in our modelling.