MArtin Schumacher wrote:
Wouter Zoons schrieb:
MArtin Schumacher wrote:
>
because it's easier to model attributes and because we use the same signatures to call them in VTL and OCL
Hm... ok, I understand that. But its not really correct, isn't it? I take the MetafacadeModel as a specification of the UML-Profile (is this right?). And if I rememper the discussion with Matthias about Stereotypes and TaggedValues, I think the Metafacades could only have Attributes which are TaggedValues. Any other functionality should be modeled as method. Or am I wrong with my interpretation?
You're incorrect in your interpretation, Matthias was never saying that tagged values are the only attributes you can model (don't know why that came across that way). He was trying to say that when you extend UML (with a UML profile), a tagged value *usually* represents a new attribute of a model element, whereas a stereotype *usually* represents a new metaclass or model element. For example, our <<Entity>> stereotype basically labels a model element as a new kind of metaclass called "entity" instead of being a regular UmlClass, therefore it has nothing to do with actual attributes of a model element.
You have to remember that MDA is primarily about bringing things to have a higher level of abstraction, so that its easier to map to multiple lower level implementations. If you modeled everything one-to-one, then that wouldn't be a higher level of abstraction now would it? It would also be forcing yourself to model unnecessary things. When you apply MDA you have to think about what you're trying to solve, if you see the same pattern over and over again in something you're modeling, then it can probably be abstracted out. For example: if you start modeling the operations getFormBeanName(), getFullyQualifiedName(), getName(), you start to notice that all these things have the same pattern, they all start with "get" and they all have no parameters. Now when you think about it, since each one starts with "get" and has no parameters it can probably be modeled as an attribute, this makes less to model as well as communicates the same concept.
why do we need to model exactly what is generated ? we model the ideas we have in mind and let the cartridge take care of it
But is this the idea, that the MetaFacade has attributes? An Attribute describes the structure of an object. The properties and the covered information of the object. But i.e. StrutsUseCase#formBeanName is in my eyes not an information about the class, its the functionality to calculate or cunstruct the FromBeanName.
Or am I wrong again?
You're wrong again, attributes can be calcuated values, that's the reason Java recommends having accessors and mutators for actual attributes: that allows changes under the hood without the client ever knowing it.
MArtin
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Andromda-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/andromda-devel
------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ Andromda-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/andromda-devel
