Book a Demo

Author Topic: Intelligent application of UML patterns?  (Read 2943 times)

waldiko

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Intelligent application of UML patterns?
« on: October 31, 2005, 01:40:53 pm »
Hi there,

I am looking to see if I can somehow make EA apply UML pattern onto existing set of classes so that final merged ones reflect it in their UML specifics [operations names and signatures, attributes names and types, etc].

To be more specific about what I want to achieve let me give you an example of applying Abstract Factory pattern. Assume I have two entities Window and Button and WidgetFactory which play role of Product1 and Product2 and AbstractFactory and all corresponding classes and abstract classes that pertain to this pattern. If I had EA apply this pattern against existing classes and selected them properly as prompted, it would add all relevant associations, generalizations, operations, etc. As a result of this eventual AbstractWidgetFactory class would have two operations with signatures CreateProductA():AbstractWindow and CreateProductB():AbstractButton.

Now is there any way to have it instead add operations like that:
CreateWindow():AbstractWindow and CreateButton():AbstractButton
- by modifying underlying XML file and specifying list of entity names to be promted and then referring to them in operation names by means of same transformation language as used in templates
- applying some kind of post-processing template that transforms UML elements as currently modified to the form that I want to achieve.

So in general my question is: is there any mechanism in EA that combines UML-to-UML transformations [like UML patterns] with UML-to-code [PIM-->PSM]. Or are PIM-->PIM transformations supported? How would you define them? I think that ability to be able to define and apply PIM->PIM transformations would be a very powerful technique.

Is this UML pattern mechanism flexible enough to allow for intelligent setup of AbstractFactory so it can be used to create more than 2 entities [ProductC, ProductD, etc]?

I am currently trying to set up couple of analysis patterns as a part of my simple semi-intelligent model/code generator and need to resolve it to have something practically working.

Thanks in advance for any help,
Waldek