> So, function could be a utility class method. If there are no better ways.
What I mean is <<utility>> is the formal notation for a class in which global functions are aggregated. It's not a hack. Python is not alone here. Most OO languages aside Java and Smalltalk have functions outside classes and UML accomodates though not encourages free functions. > Well, maybe SOL (Semantic Object Language) could also be quite beneficial in some cases. At least, it depends with whom to communicate design ideas and what level of formality to maintain. I don't know what Semantic Object Language is. One important requirement of choosing communication notations is that they should be sufficiently popular that everyone understands. Kind of beats the purpose if you are the only person who knows it. I got 146 hits on Google for "Semantic Object Language" and UML. Too few for me to care. If it is a deserving notation, hopefully that will change in the future. > Also, my argument that Python is quite good at communicating design ideas is supported by the fact that Python developers do not use UML (or other modelling tools/languages) as often as say Java programmers, nor feel the need to. I guess you and I mean VERY different things when we say "Design Ideas". You seem to imply pseudo code. I mean overall archetecture. I think Python devs will use UML tools if there are good ones available. I know I would. I could really use a round trip class and package diagram editor now. > And probably Python is too dynamic for UML. That is another reason rountrip > tools aren't there. As you probably already know, UML diagrams are structural and behavioural (plus interactional with 2.0). Round trip tools only model structural diagrams. Python is dynamic but only once the program starts executing :-). Even though Python classes "can" change, they do so only at runtime ( wouldn't it be scary if they decided to change as code when you are not looking :-) ). So dynamism of Python should not be as much of an issue. I think the reason we don't have good UML round trip tools for Python is primarily a market issue rather than a language issue. If Python gets the same market share as Java, it will surely get all these tools and more. -- http://mail.python.org/mailman/listinfo/python-list