Mathew To add a little to Herman and Ramon's comments (and they are much better at the theory than me)
One of the issues with any abstract modelling tool is that at some stage you have to build the darned thing in a real language and then you get into all the implementation/performance issues for example there are probably 3 ways to implement many-many in Cache - using arrays or child relatonships or one-many relationships or don't try to make an array collection with more than around 2000 items - it breaks the compiler etc etc etc === personally I favor Ramon's pencil and paper (with a pint of beer) and I cycle between the UML type modelling and sketches of real cache classes trying out various design patterns Brings to mind another comment from a guy I was training he took some training aroung 18 months ago - just getting into objects and a session only 2 weeks ago his comment was that after the first session he was being "too objectified" and has learnt how to do the thing better (more appropriately for the Cache platform) Not a real help - but it really comes down to experience and learning from the mistakes Peter
