Author Topic: Wish: Transformation refactoring/evolution  (Read 4607 times)

Thomas_Arnbjerg

  • EA User
  • **
  • Posts: 80
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Wish: Transformation refactoring/evolution
« on: January 22, 2008, 11:07:00 pm »
It would be nice if EA would allow the user to link the result of a transformation to existing model elements - i.e. a feature similar to the one found for code generation. This feature could be based on comparison of all attributes (name,  stereotype, tag etc) of the transformation result with the existing model and in case of a complete match the GUID from the transformation result should be assigned to the model element in question (user confirmation).

Rationale:
As the design of a system matures additional possibilities for generalization/standardization appear. Right now when these situations occur a new transformation has to be implemented and the transformation result (new elements) needs to be manually linked with the existing model elements as a replacement. This is costly and error prone and a barrier for changes to the transformations.


Martin Terreni

  • EA User
  • **
  • Posts: 672
  • Karma: +0/-0
  • Sorry, I can't write
    • View Profile
Re: Wish: Transformation refactoring/evolution
« Reply #1 on: January 22, 2008, 11:20:04 pm »
Maybe just automaticaly link the result elements to the transformed alaments after transformation.
It migh also neable refactoring through regeneration, which (if I understood correctly) you are also asking for.
Recursion definition:
If you don’t understand the definition read "Recursion definition".

Thomas_Arnbjerg

  • EA User
  • **
  • Posts: 80
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Wish: Transformation refactoring/evolution
« Reply #2 on: January 22, 2008, 11:35:56 pm »
An automatic feature would be nice and also refactoring through transformations.
However in some situations an automatic link mechanism would most likely cause problems (at least in my case). In my model I have multiple classes with the same name, which I use to separate auto generated code from the code made by hand (partial classes in C#). It is important that this situation can be handled.

Martin Terreni

  • EA User
  • **
  • Posts: 672
  • Karma: +0/-0
  • Sorry, I can't write
    • View Profile
Re: Wish: Transformation refactoring/evolution
« Reply #3 on: January 22, 2008, 11:51:30 pm »
Do you mean you want them or don't want them to be connected?
Of course by automatic I ment only:
If A was cretaed from B through transformation than A will be linked to B for "re-transformation" needs.
May be it should be optional if it makes trouble.
But I fear retransforming manualy linked elements might hide in it a lot of validations (= problems)...
Recursion definition:
If you don’t understand the definition read "Recursion definition".

Thomas_Arnbjerg

  • EA User
  • **
  • Posts: 80
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Wish: Transformation refactoring/evolution
« Reply #4 on: January 23, 2008, 12:08:56 am »
I definitely want them to be connected.

But if I manually add a class C and at later time decide that this class should have been generated by my transformation, I would like to be able to add the creation of C to my transformation script and have the manually added class element interpreted as a result of the revised transformation.

In the special case where I've manually added two class elements with the same name to my model (in order to separate auto generated from manually entered code) I would like the revised transformation to hook onto the right class element.

Martin Terreni

  • EA User
  • **
  • Posts: 672
  • Karma: +0/-0
  • Sorry, I can't write
    • View Profile
Re: Wish: Transformation refactoring/evolution
« Reply #5 on: January 23, 2008, 09:36:50 pm »
Well, as I said, I fear of linking things for automatic transfomration wich were not the actual partisipants in it.
But on a more theoretical level It should be pheasable I guess.
Recursion definition:
If you don’t understand the definition read "Recursion definition".