Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » Modeling (top-level project) » Should UML be used in an Agile Project ?
Should UML be used in an Agile Project ? [message #384694] Wed, 20 May 2009 09:02 Go to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
I have been working on the UML and Java technology in the last 7 years. It
seems to me that MDA/MDD or EMF are not really compatible with the agile
project approach. MDA/MDD/EMF works at model level then generate a code
from the model. The problem is that the next iteration is impossible if
the code is manually changed by the team. I mean that you can not update
your model and have another iteration if the code is not each time
generated from the model. That is not what I would recommend to agile
projects.

It is important to make a clear differentiation between UML which is
language and MDA/MDD or EMF which are a concept using code generation,
serialization from a model. You can use UML at any time of the project
even if your code is manually changed or created because UML diagrams are
only a graphical view of your UML Superstructure. Now that EMF
serialization of UML allows the creation of very large and scalable inside
a single UML Structure Models. UML should therefore be a viewer of the
model and not the model itself. The dilemma is therefore how to map Agile
to UML I mean java code to XMI and not to stay at EMF or MDA/MDD level.

I have written a tutorial on this subject: Incremental versus Top down
approach:
http://www.forum-omondo.com/documentation_eclipseuml_2008/wa terfall_versus_incrementale_modeling_cycle.html

If the first iteration problem is solved then the second question could
be "Why and how to use UML in an Agile Project ?"

I think that Story boars should be replaced by Use Case diagrams. It is
not a big job to create few actors and use cases in a diagram.I don't
think we should also be afraid of making mistakes because if you made a
mistake between include or extends that doesn't mean that your code is
wrong :-). Use case diagrams need to be created rapidly and have graphical
or model explanation which are written. What is really cool is to be able
to use the same usecase or actor in different views and automatically
create your UML Superstructure Model. See more at: See Actor in different
views from the same model:
http://www.forum-omondo.com/documentation_eclipseuml_2008/Mo del_Editor/UML_Metamodel_element/index.html#Add_new_UML_elem ent_in_UML_diagram

The codding stage could start just few hours after the story board is
finished. You don't need to create the skeleton of your application using
the model driven generation. You can code and use the way you want to
create your project architecture. Either manually with no UML or using
live code and model synchronization from a class diagram or something
else. All solutions are possible.

The main problem to the adoption of UML among Agile projects is that UML
is trying to take control the way the team works. This is a mistake !! An
Agile Project works the way it needs to be done and not the way MDD intend
to do. The solution to use an agile project and also to always have a
clean UML Superstructure is to activate the incremental merge option
which will map Java code to UML Superstructure. See more at: Map Java code
to XMI Superstructure Model:
http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied

How the UML iteration works ?

After the first codding stage code has been implemented this first
meeting should allow to add new features, to fix bugs and to always be
able to use the initial UseCase Story board. Using the UML to Java merge
option allows to have an updated Model on which we can now developped new
requirements.

Don't forget that you can use UML diagrams as a view of the UML
Superstructure Model. The UML id also remains the same for the entire life
project because of no transformation stage . It means that we can trace
Story board Use Cases from requirement to deployment and also have many
iterations without loosing traceability. No specific manipulation is
required, just clean your model with a merge at each iteration.

If the team doesn't know UML then how to use it ?

You need to spend few hours to understand how works a UseCase diagram.
After just few hours of reading you will be able to create your diagrams.
It is not really important to know when to use all features and UML
specification, but what is important is to add written comments for
documentation, traceability and tests.

If you team doesn't know how to use a class diagram then they can just
drag and drop java elements from the package explorer. See more at: Class
Diagram creation:
http://www.forum-omondo.com/documentation_eclipseuml_2008/qu ickstar_of_EclipseUML/index.html

You can add graphical dependencies, and talk about the requirements while
using UML as a viewer of your java code and your UML Superstructure Model.
You can even create UML classes (e.g. no code) to explain what will be
implemented later. You can also transform this UML class into Java class,
keep the same Id and traceability and then at the next iteration see how
this class has been implemented.

I think that Java language is fantastic but it is not enough to document
full projects. Using Java + UML inside the same environment for
documentation purposes which would replace story boards and other external
documentation files will save a lot of time. Java + UML + documentation +
test + traceability are possible inside a single development environment.
I believe that over 50% of time to market project could be reduced using
UML inside an Agile Project. I am not talking about modeling best
practices , this is not the point of my post and I think nobody cares
about it today :-).I am only trying to explain why code delivery +
iteration + traceability + test + requirements should be done using the
latest EMF technologies and could reduce projects time and codding by
about 50%.

Do you agree ?


PS: Feel free to add your comments and let's talk :-). Please do not take
pieces of my post out of the global context in order to reply. This is not
a support question but more related to how agile methodology and modeling
can work together.
Thanks,
Re: Should UML be used in an Agile Project ? [message #384697 is a reply to message #384694] Wed, 20 May 2009 10:54 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030703010107030705090802
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Vlad,

The title of the post already tells me this is likely to be a soap box
sermon...

Vlad Varnica wrote:
> I have been working on the UML and Java technology in the last 7
> years. It seems to me that MDA/MDD or EMF are not really compatible
> with the agile project approach.
Yep, I was right. Here we go again...
> MDA/MDD/EMF works at model level then generate a code from the model.
EMF works well with dynamic models for which there is no generated code
at all. So if this is the premise from which you derive your
conclusions, it's a bad starting point. I'm sure you'll draw many
tenuous connections between questionable assertions...
> The problem is that the next iteration is impossible if the code is
> manually changed by the team.
I guess I've been accomplishing the impossible for the last 7 years
because we've been iterating our models for a great many years and so
have a great many others. So this is a completely bogus assertion as well.

http://ed-merks.blogspot.com/2008/10/hand-written-and-genera ted-code-never.html

> I mean that you can not update your model and have another iteration
> if the code is not each time generated from the model.
Updating the model and not updating the generated code seems absurd.
It's certainly possible to update the model and regenerate the code
though, so this statement is confusing to the extreme.
> That is not what I would recommend to agile projects.
So here you are on the public Eclipse modeling newsgroup pontificating
on your recommendations. My patience with this type of behavior has run
pretty thin. Couldn't you grind your ax elsewhere?
>
> It is important to make a clear differentiation between UML which is
> language and MDA/MDD or EMF which are a concept using code generation,
> serialization from a model.
I'm not sure anyone was confusing them...
> You can use UML at any time of the project even if your code is
> manually changed or created because UML diagrams are only a graphical
> view of your UML Superstructure.
The same could be said of Ecore then I suppose....
> Now that EMF serialization of UML allows the creation of very large
> and scalable inside a single UML Structure Models.
Yes, the IBM Rational tool stack for UML is build using open source UML.
> UML should therefore be a viewer of the model and not the model itself.
A viewer hey? That's as clear as mud...
> The dilemma is therefore how to map Agile to UML I mean java code to
> XMI and not to stay at EMF or MDA/MDD level.
I see no dilemma and I have no idea what you mean by mapping Java code
to XMI. Your sermons are very confusing even to experts, so I'm not
sure how you hope to clarify anything for anyone.
>
> I have written a tutorial on this subject: Incremental versus Top down
> approach:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/wa terfall_versus_incrementale_modeling_cycle.html
>
Why don't you keep your sermons to your own site then? Odd that the
link would misspell incremental...
>
> If the first iteration problem is solved then the second question
> could be "Why and how to use UML in an Agile Project ?"
I doubt UML is the ideal solution for most people in the first place.
Simple and UML are typically not used in the same sentence...
>
> I think that Story boars
Pigs?
> should be replaced by Use Case diagrams. It is not a big job to create
> few actors and use cases in a diagram.
I've never used one of these myself.
> I don't think we should also be afraid of making mistakes because if
> you made a mistake between include or extends that doesn't mean that
> your code is wrong :-).
I wonder how many people understand this assertion?
> Use case diagrams need to be created rapidly and have graphical or
> model explanation which are written. What is really cool is to be able
> to use the same usecase or actor in different views and automatically
> create your UML Superstructure Model. See more at: See Actor in
> different views from the same model:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/Mo del_Editor/UML_Metamodel_element/index.html#Add_new_UML_elem ent_in_UML_diagram
>
I'm certainly not feeling compelled to do this.
>
> The codding stage could start just few hours after the story board is
> finished. You don't need to create the skeleton of your application
> using the model driven generation. You can code and use the way you
> want to create your project architecture. Either manually with no UML
> or using live code and model synchronization from a class diagram or
> something else. All solutions are possible.
So you say, but it's not sounding compelling to me so far and I doubt
the typical developer is feeling a compelling urge to create story boards.
>
> The main problem to the adoption of UML among Agile projects is that
> UML is trying to take control the way the team works. This is a
> mistake !! An Agile Project works the way it needs to be done and not
> the way MDD intend to do. The solution to use an agile project and
> also to always have a clean UML Superstructure is to activate the
> incremental merge option which will map Java code to UML
> Superstructure. See more at: Map Java code to XMI Superstructure
> Model:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied
>
I probably should stop making comments...
>
> How the UML iteration works ?
Why not explain this on your site. Or use the UML newsgroup where a
specific audience is perhaps more likely to care?
>
> After the first codding stage code has been implemented this first
> meeting should allow to add new features, to fix bugs and to always be
> able to use the initial UseCase Story board. Using the UML to Java
> merge option allows to have an updated Model on which we can now
> developped new requirements.
EMF's code generator supports merging...
>
> Don't forget that you can use UML diagrams as a view of the UML
> Superstructure Model. The UML id also remains the same for the entire
> life project because of no transformation stage . It means that we can
> trace Story board Use Cases from requirement to deployment and also
> have many iterations without loosing traceability. No specific
> manipulation is required, just clean your model with a merge at each
> iteration.
Like a panacea. Why aren't people flocking to you in droves?
>
> If the team doesn't know UML then how to use it ?
A two year training exercise?
>
> You need to spend few hours to understand how works a UseCase diagram.
> After just few hours of reading you will be able to create your
> diagrams. It is not really important to know when to use all features
> and UML specification, but what is important is to add written
> comments for documentation, traceability and tests.
How is it that UML can be learned in a few hours, but Ecore would take
years? These assertions are just absurd...
>
> If you team doesn't know how to use a class diagram then they can just
> drag and drop java elements from the package explorer. See more at:
> Class Diagram creation:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/qu ickstar_of_EclipseUML/index.html
>
>
> You can add graphical dependencies, and talk about the requirements
> while using UML as a viewer of your java code and your UML
> Superstructure Model. You can even create UML classes (e.g. no code)
> to explain what will be implemented later. You can also transform this
> UML class into Java class, keep the same Id and traceability and then
> at the next iteration see how this class has been implemented.
>
> I think that Java language is fantastic but it is not enough to
> document full projects.
I guess there are an awful lot of projects that somehow accomplished the
impossible yet again.
> Using Java + UML inside the same environment for documentation
> purposes which would replace story boards and other external
> documentation files will save a lot of time. Java + UML +
> documentation + test + traceability are possible inside a single
> development environment. I believe that over 50% of time to market
> project could be reduced using UML inside an Agile Project. I am not
> talking about modeling best practices , this is not the point of my
> post and I think nobody cares about it today :-).I am only trying to
> explain why code delivery + iteration + traceability + test +
> requirements should be done using the latest EMF technologies and
> could reduce projects time and codding by about 50%.
> Do you agree ?
Is anyone actually doing this and agreeing with you?
>
> PS: Feel free to add your comments and let's talk :-). Please do not
> take pieces of my post out of the global context in order to reply.
I replied within the context though you make a lot of out-of-context
assertions yourself...
> This is not a support question but more related to how agile
> methodology and modeling can work together.
I will assert that EMF does not impose any specific methodology on clients.
> Thanks,
>

--------------030703010107030705090802
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Vlad,<br>
<br>
The title of the post already tells me this is likely to be a soap box
sermon...<br>
<br>
Vlad Varnica wrote:
<blockquote
cite="mid:d7d75d826e2c7af199690edf15ec23bc$1@www.eclipse.org"
type="cite">I have been working on the UML and Java technology in the
last 7 years. It seems to me that MDA/MDD or EMF are not really
compatible with the agile project approach. </blockquote>
Yep, I was right.
Re: Should UML be used in an Agile Project ? [message #384699 is a reply to message #384697] Wed, 20 May 2009 13:37 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

Eclipse Modeling forum goal is to talk about modeling inside the Eclipse
community. I think it is therefore important to explain that the use of
UML modeling is possible within an agile project.
I am really not responsible if other tools or GMF related technologies
have technological limitations and can not do what EclipseUML provides.
This is not my problem. Sorry about that.

If you look at my post I am not talking about code generation from a model
but of the UML Superstructure Model which is a mix of an existing model
and java code which has been manually added by developers.

Agile means iteration, but not just model iterations. EMF can not update
manually type code in its model. You can still argue it is not important
but for me it is very important and this the key success of the adoption
of UML among agile projects.
If users want to use EMF to generate code and then add EMF iteration
model, I would be pleased :-)
They just need to clean their UML Superstructure at each iteration because
EMF can not update UML serialization after the first model iteration. I am
sorry about that but this the reality today.
UML is also a language and not a framework like EMF. It is important not
to make the confusion. EMF and UML goals are not the same.

btw, nice flowers on your website. I have a magnolia in my garden and this
is blooming time. Just wonderful :-)
Re: Should UML be used in an Agile Project ? [message #384701 is a reply to message #384699] Wed, 20 May 2009 13:51 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030101060708090303090000
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> Eclipse Modeling forum goal is to talk about modeling inside the
> Eclipse community.
Yet your note is rife with off site links.
> I think it is therefore important to explain that the use of UML
> modeling is possible within an agile project.
The UML newgroup is where UML things are discussed.
> I am really not responsible if other tools or GMF related technologies
> have technological limitations and can not do what EclipseUML provides.
This is like asking if you've stopped beating your wife, with the
implication that you have been doing exactly that.
> This is not my problem.
Likely it's more of a problem in your mind than in reality.
> Sorry about that.
I doubt you're the least bit sorry.
>
> If you look at my post I am not talking about code generation from a
> model but of the UML Superstructure Model which is a mix of an
> existing model and java code which has been manually added by developers.
You're post is a meandering path through mystery territory as far as I'm
concerned.
>
> Agile means iteration, but not just model iterations. EMF can not
> update manually type code in its model.
Is there some implication that Agile is not possible with manual coding?
> You can still argue it
It being what?
> is not important but for me it is very important and this the key
> success of the adoption of UML among agile projects.
Not sure what "it" refers to in this sentence.
> If users want to use EMF to generate code and then add EMF iteration
> model, I would be pleased :-)
I'm not sure what is implied by EMF iteration model.
> They just need to clean their UML Superstructure at each iteration
> because EMF can not update UML serialization after the first model
> iteration.
I have no idea what UML serialization you're referring to.
> I am sorry about that but this the reality today.
Again, I doubt you're sorry.
> UML is also a language and not a framework like EMF.
And a carrot is a vegetable, while a tomato is a fruit. Ecore, like
UML, is a language...
> It is important not to make the confusion. EMF and UML goals are not
> the same.
It seems to me that you're confusing them, but I'm not.
>
> btw, nice flowers on your website. I have a magnolia in my garden and
> this is blooming time. Just wonderful :-)
My magnolia bloomed the first week of May. :-)


--------------030101060708090303090000
Content-Type: multipart/related;
boundary="------------000103060405000501040901"


--------------000103060405000501040901
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Vlad,<br>
<br>
Comments below.<br>
<br>
Vlad Varnica wrote:
<blockquote
cite="mid:e4d30a943e9a4eaeb781807c6070aa35$1@www.eclipse.org"
type="cite">Ed,
<br>
<br>
Eclipse Modeling forum goal is to talk about modeling inside the
Eclipse community. </blockquote>
Yet your note is rife with off site links.<br>
<blockquote
cite="mid:e4d30a943e9a4eaeb781807c6070aa35$1@www.eclipse.org"
type="cite">I think it is therefore important to explain that the use
of UML modeling is possible within an agile project.
<br>
</blockquote>
The UML newgroup is where UML things are discussed.<br>
<blockquote
cite="mid:e4d30a943e9a4eaeb781807c6070aa35$1@www.eclipse.org"
type="cite">I am really not responsible if other tools or GMF related
technologies have technological limitations and can not do what
EclipseUML provides. </blockquote>
This is like asking if you've stopped beating your wife, with the
implication that you have been doing exactly that.
Re: Should UML be used in an Agile Project ? [message #384702 is a reply to message #384701] Wed, 20 May 2009 16:08 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

EMF is not a language because it should be spoken by at least two persons.
I have never seen two architect talking about the same ecore diagram and
the best practices how to display EMF model elements. Only code generation
from EMF and serialization are really used today.

The purpose of UML is to be a widely used language having a common sense
which is normalized by the OMG and the UML 2 specification.
EMF is not a language for me only is UML.
Re: Should UML be used in an Agile Project ? [message #384704 is a reply to message #384702] Wed, 20 May 2009 16:29 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> EMF is not a language because it should be spoken by at least two persons.
I never claimed EMF was a language. I claim Ecore is a language.
> I have never seen two architect talking about the same ecore diagram
> and the best practices how to display EMF model elements.
So what you see is how reality is defined? An Ecore Tools graphical
class diagram representation looks pretty much exactly like a UML class
diagram representation, so the premise of you argument appears to be
entirely false.
> Only code generation from EMF and serialization are really used today.
Where do you come up with these assertions? It's like you are the
arbiter of reality...
>
> The purpose of UML is to be a widely used language having a common
> sense which is normalized by the OMG and the UML 2 specification.
And that's not true of EMOF?
> EMF is not a language for me only is UML.
Ecore is isomorphic to EMOF which is just as well defined at the OMG as
UML. In fact, it is used to define UML. I.e., its the underlying
common sense of a great many other OMG specifications, including itself
no less.

In any case, how this kind of discussion helps clarify anything for
anyone is beyond me. It's like you're arguing that people shouldn't use
BPEL, XML Schema, Ecore, DSLs, or anything other than UML for all
things. I doubt many people will buy into that.
Re: Should UML be used in an Agile Project ? [message #384706 is a reply to message #384704] Thu, 21 May 2009 08:49 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

I agree with you that Ecore is a language which is used to define UML
This is why EclipseUML is directly working at Ecore level and not at just
at EMF level. Don't forget that even if ecore is a language you can only
design class diagram. It means that only static graphical presentation is
possible to cover structural modeling. This is a serious limitation in
the use of Ecore diagrams as modeling solution.
What I also don't like with Ecore diagrams is the use of multiple views in
which the diagram is the model. Diagrams should a viewer of the model and
all modeling job should be done in the model using synchronization rules
as a back office job.
Doing that allow to:
- use the same element inside different views
- keep the model logic for the entire project and not just a diagram level
(classifier ID remains the same after transformation)
- keep traceability of classifiers
- allow to add documentation and keep it synchronized
- allow live code and model synchronization
- allow java annotation integration
- allow database modeling with JPA, Hibernate etc...this is the pojo
concept going in a top down and bottom up cycles.
and a lot more.....

My vision how modeling tools should work in an agile project is therefore
correct :-)
Ecore is agile with the use of UML Superstructure (e.g. Omondo) and only
MDD with the use of GMF or ecore diagrams.
Re: Should UML be used in an Agile Project ? [message #384708 is a reply to message #384706] Thu, 21 May 2009 09:44 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030004030805050504070604
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> I agree with you that Ecore is a language which is used to define UML
It's a fact so that's good. :-)
> This is why EclipseUML is directly working at Ecore level and not at
> just at EMF level.
I don't know what you mean by working at the Ecore level rather than the
EMF level.
> Don't forget that even if ecore is a language you can only design
> class diagram.
Yes, that's the design point to keep it simple. It's not a unification
of a very large number of design concepts as is the case for UML.
> It means that only static graphical presentation is possible to cover
> structural modeling. This is a serious limitation in the use of Ecore
> diagrams as modeling solution.
I'm not sure what else you consider necessary for defining structure. I
think Ecore is very powerful in this regard.
> What I also don't like with Ecore diagrams is the use of multiple
> views in which the diagram is the model.
The diagram and the model are separate things and the diagram is just a
view of the model...
> Diagrams should a viewer of the model and all modeling job should be
> done in the model using synchronization rules as a back office job.
It does provide a view of the model and you can edit the model directly,
so I'm not sure I've followed this line of reasoning very well...
> Doing that allow to:
> - use the same element inside different views
It does exactly that as illustrated in this blog:

http://ed-merks.blogspot.com/2008/06/was-gany-good-to-you.ht ml

> - keep the model logic for the entire project and not just a diagram
> level (classifier ID remains the same after transformation)
I'm not sure what this means.
> - keep traceability of classifiers
I'm not sure what's implied by this. Keep this where?
> - allow to add documentation and keep it synchronized
That's supported via annotations. Generated Java code (should one
choose to use Ecore for that) contains @model tags from which the
original Ecore model can be recovered, so one can choose to work
directly in Java and synchronize the model from that. Of course Java
doesn't have the concept of containment or bidirectional references so
it's necessary to specify this type of information.
> - allow live code and model synchronization
Yes, that's supported. This isn't an intrinsic aspect of Ecore or UML
but rather a sophistication in the tools themselves. The EMF tools are
not nearly as sophisticated as one might like
> - allow java annotation integration
We've not implemented that yet. There's a bugzilla open though.
> - allow database modeling with JPA, Hibernate etc...this is the pojo
> concept going in a top down and bottom up cycles.
> and a lot more.....
Teneo provides integration with Hibernate and EclipseLink and hence JPA.
>
> My vision how modeling tools should work in an agile project is
> therefore correct :-)
I'm not sure how that follows from the above statements. It seems to me
that design methodologies are often a matter of opinion and involve
significant trade-offs as do all designs. I'd like to think that EMF
doesn't impose any specific approach...
> Ecore is agile with the use of UML Superstructure (e.g. Omondo) and
> only MDD with the use of GMF or ecore diagrams.
The implication you're making is that MDD implies not Agile. Yet you
also seem to argue that one should use UML to do all development so you
can be Agile. Somehow you see UML Driven Development as Agile but Model
Driven Development as not Agile. Clearly UML is a model so all this
just serves to confuse me...
>
>
>

--------------030004030805050504070604
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Vlad,<br>
<br>
Comments below.<br>
<br>
Vlad Varnica wrote:
<blockquote
cite="mid:5b97b4231cd0f7dae6b3059172e0c6ee$1@www.eclipse.org"
type="cite">Ed,
<br>
<br>
I agree with you that
Re: Should UML be used in an Agile Project ? [message #384709 is a reply to message #384708] Thu, 21 May 2009 12:29 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

MDD doesn't implies agile while UML with Omondo is agile.
Agile means multiple iterations from model to code and from code to model.
Only an XMI/Ecore merge allows this iteration :
http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied

EMF without EclipseUML is only a model to model iteration and code
generation. It is impossible to reverse Java code into EMF and then have
another iteration.

I think that if Ecore and EMF want to be agile they will have to be
associated with EclipseUML even if many would prefer only to use open
source free tools.
Re: Should UML be used in an Agile Project ? [message #384711 is a reply to message #384709] Thu, 21 May 2009 17:26 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5574
Registered: July 2009
Senior Member
Vlad,

The word Agile is just a buzz and your interpretation of it isjust your
interpretation. I think it's not adequate and your definition is more
appropriate for the word Round-Trip.

I further think that you continue to confuse EMf with Ecore. Ed's point
was: Since Ecore is only concerned with structural description (as
opposed to describing behaviour) EMF *is* able to derive a model from
annotated Java code. You can use this derived model to base your next
modeling iteration upon. Isn't this the definition of round-trip?

Cheers
/Eike

----
http://thegordian.blogspot.com



Vlad Varnica schrieb:
> Ed,
>
> MDD doesn't implies agile while UML with Omondo is agile. Agile means
> multiple iterations from model to code and from code to model.
> Only an XMI/Ecore merge allows this iteration :
> http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied
>
>
> EMF without EclipseUML is only a model to model iteration and code
> generation. It is impossible to reverse Java code into EMF and then
> have another iteration.
>
> I think that if Ecore and EMF want to be agile they will have to be
> associated with EclipseUML even if many would prefer only to use open
> source free tools.
>
>
>
Re: Should UML be used in an Agile Project ? [message #384713 is a reply to message #384711] Fri, 22 May 2009 08:36 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Eike,

The round trip should be at the Ecore to UML superstructure and UML to
Ecore level and mixing model information inside java code is not
recommended.
Not recommended because if you refactor your code then you loose your model
If you annotate you java code classes then your get a dirty java code :-)

The java detection using native JDT which unify Ecore/UML is the only
possible solution in order to cover agile iteration. The omondo
architecture is based on Java and UML Ids both of them need are used at
different stages.
Re: Should UML be used in an Agile Project ? [message #384715 is a reply to message #384713] Fri, 22 May 2009 10:03 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlag,

Comments below.

Vlad Varnica wrote:
> Eike,
>
> The round trip should be at the Ecore to UML superstructure and UML to
> Ecore level and mixing model information inside java code is not
> recommended.
Should be according to whom and recommended by whom? All this is just
"The World According to Vlad" while you make it out to be something
carved in stone tablets handed down to us on a high mountain.
>
> Not recommended because if you refactor your code then you loose your
> model
You're confusing what's possible with refactoring tools and what's
currently implemented. Changing the names of things in your model will
typically break all your serialized instances as well, so it's not as if
you can just merrily make arbitrary changes without impact. And
besides, if you extracted the Ecore model from the code, refactored the
code and refactored the model, and then regenerated, you'd have
up-to-date annotations; it's not hard to imagine a tool helping with
this slightly longer manual process.

In the end, I don't think round trip engineering is the panacea you make
it out to be.
> If you annotate you java code classes then your get a dirty java code :-)
You also seem to miss the point that Java source code doesn't haven
enough information to tell you if something is a containment reference
or not; clearly there needs to be more information than just the Java
source.
>
> The java detection using native JDT which unify Ecore/UML is the only
> possible solution in order to cover agile iteration.
As Eike pointed out, you're talking about round trip engineering, not
agile development. You might choose to see them as the same, but it's
just buzzword soup as far as I'm concerned.
> The omondo architecture is based on Java and UML Ids both of them need
> are used at different stages.
And how did you get your UML IDs in out and out of your Java without
getting the Java dirty?

Some clients use dynamic Ecore directly without generating any Java
code. I suppose you can't get more Agile than that!
>
>
Re: Should UML be used in an Agile Project ? [message #384768 is a reply to message #384713] Fri, 22 May 2009 10:21 Go to previous messageGo to next message
Krzysztof Kowalczyk is currently offline Krzysztof KowalczykFriend
Messages: 113
Registered: July 2009
Senior Member
Vlad,

> The java detection using native JDT which unify Ecore/UML is the only
> possible solution in order to cover agile iteration. The omondo
> architecture is based on Java and UML Ids both of them need are used at
> different stages.
>

Then we can call it "representation", "view" or "notation". I like UML
as a view for my code (I have created one Java -> UML transformation
based on JDT myself), but can we call it modelling? IMHO there should be
some changes in abstraction level to call it modelling.

I'm just a student, but I did used UML and code generation to develop
project easier, faster, make it more maintainable and allow iterative
development. Actually iterative development was really hard without MDD.
I developed a model, then basic transformation, the transformation and
model were changing along with better understanding of problem, as well
as technologies I have used. For me it was "agile" enough.

Best regards,
Krzysztof Kowalczyk
Re: Should UML be used in an Agile Project ? [message #384769 is a reply to message #384715] Fri, 22 May 2009 11:09 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

Dynamic ecore is another use of the technology which is related to MDD.
This is model to model transformation but certainly not agile. Agile is
composed by all team members architects, modelers and developer and not
just architects+modelers. A developer will always code and his job should
be in the agile iteration.

If the java code contains the model information then it is impossible to
guarantee that refactoring will not erase the model. This is definitely a
bad practice.

I agree with you that Java source code doesn't have enough information and
should be extended. The extension should be a Java to UML Ids merge and
not an annotated model information in the Java code. Java Id and UML Id
are used together but all the information should be in the model and not
in the java code.

When you say "And how did you get your UML IDs in out and out of your Java
without getting the Java dirty?" Please not that we don't touch the java
code but upload information into the model. This is the Java to XMI
mapping approach which is the only possible modern modeling usage with an
agile methodology.
Re: Should UML be used in an Agile Project ? [message #384770 is a reply to message #384769] Fri, 22 May 2009 13:02 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> Dynamic ecore is another use of the technology which is related to MDD.
Yes, it's another use.
> This is model to model transformation but certainly not agile.
No it's not model to model transformation. It can be used to work with
instance data exactly the same way as if you'd generated code. It seems
one could argue that if round tripping is agile, then eliminating the
need to round trip entirely is even more agile. Of course I really
don't agree with the assertion nor do I understand your line of
reasoning. I'm not sure anyone does.
> Agile is composed by all team members architects, modelers and
> developer and not just architects+modelers.
Yes, so what's your point?
> A developer will always code and his job should be in the agile
> iteration.
So the assertion is that defining an Ecore model isn't coding even
though Ecore is a language, i.e., even though defining an EClass is
isomorphic to defining a Java interface, the former is not coding while
the latter is. What an odd perspective.
>
> If the java code contains the model information then it is impossible
> to guarantee that refactoring will not erase the model.
I guess round tripping is simply impossible then because the code must
contain the model to be able to recover the model from the code and
therefore refactoring will destroy the whole pretty picture. But that's
a general sweeping statement to which Omondo's technology is somehow an
exception.
> This is definitely a bad practice.
According to Vlad...
>
> I agree with you that Java source code doesn't have enough information
> and should be extended. The extension should be a Java to UML Ids
> merge and not an annotated model information in the Java code.
Yet another assertion. Facts and opinions are different things.
> Java Id and UML Id are used together but all the information should be
> in the model and not in the java code.
And of course Java code isn't a model according to you. But that's just
an opinion, not a fact.
>
> When you say "And how did you get your UML IDs in out and out of your
> Java without getting the Java dirty?" Please not that we don't touch
> the java code but upload information into the model.
So no one does any coding in Java ever because that's a bad practice...
> This is the Java to XMI mapping approach which is the only possible
> modern modeling usage with an agile methodology.
This is all such totally circular reasoning with the one and only
purpose being to promote your proprietary technology. I doubt you are
serving your cause well by making questionable assertions as a starting
point, reasoning from those assertions with great leaps of logic, and
then drawing conclusions that simply reflect the original assertions.
Feel free to keep digging a deeper and deeper hole though, just be
careful you don't fall in and have the hole collapse in on you.
>
>
>
>
Re: Should UML be used in an Agile Project ? [message #384771 is a reply to message #384770] Fri, 22 May 2009 15:46 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

Our technology is not proprietary because we only use open standards such
as the UML2, Ecore or GEF plugin. What is proprietary is the glue between
them !!

I really don't understand your critical thinking to Omondo. This is like a
married woman who behave like a virgin every night once in bed:-)
Re: Should UML be used in an Agile Project ? [message #384773 is a reply to message #384771] Fri, 22 May 2009 16:21 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> Our technology is not proprietary because we only use open standards
> such as the UML2, Ecore or GEF plugin. What is proprietary is the glue
> between them !!
That glue is what I'm referring to.
>
> I really don't understand your critical thinking to Omondo.
I'm not critical of Omondo. I'm happy that there are many clients
making good use of open source technology. Note however that most of
them don't come to this newsgroup to say that their tools are the only
way to be Agile. Also note that this isn't an Omondo forum, it's a
forum for asking questions about the Eclipse Modeling Project.
> This is like a married woman who behave like a virgin every night once
> in bed:-)
I'm not sure how the two related and no, please don't elaborate further.
Re: Should UML be used in an Agile Project ? [message #384775 is a reply to message #384773] Fri, 22 May 2009 19:51 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

It is time to stop this non sense. If you look at my first post did you
ever find EclipseUML or Omondo ? No, you don't. This is post on modeling
focusing on the use of UML in an agile project. I also tried to explain
how to use UML modeling in an agile methodology giving some tips and
tricks.
Please note that I have only provided few links to explain our vision
because no other link are available today.

What happened ? You intentionally attack me personally and my company !!
You said:
" Feel free to keep digging a deeper and deeper hole though, just be
careful you don't fall in and have the hole collapse in on you."
"So this is a completely bogus assertion as well."
"so this statement is confusing to the extreme."
" My patience with this type of behavior has run pretty thin. Couldn't
you grind your ax elsewhere?"
"Your sermons are very confusing even to experts, so I'm not sure how you
hope to clarify anything for anyone."
" Pigs?"
" How is it that UML can be learned in a few hours, but Ecore would take
years? These assertions are just absurd..."
" Yet your note is rife with off site links."
" Likely it's more of a problem in your mind than in reality."
" I doubt you're the least bit sorry."
" It seems to me that you're confusing them, but I'm not."
" so the premise of you argument appears to be entirely false."
" All this is just "The World According to Vlad" while you make it out to
be something carved in stone tablets handed down to us on a high mountain."
" Of course I really don't agree with the assertion nor do I understand
your line of reasoning. I'm not sure anyone does."
" What an odd perspective."
" But that's a general sweeping statement to which Omondo's technology is
somehow an exception. According to Vlad..."
"Yet another assertion. Facts and opinions are different things."
"This is all such totally circular reasoning with the one and only purpose
being to promote your proprietary technology. "

I think I was really nice and try to open new frontiers to traditional
modeling.
I have a question for you Ed. Do you hate UML ?
Re: Should UML be used in an Agile Project ? [message #384778 is a reply to message #384775] Fri, 22 May 2009 20:39 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> It is time to stop this non sense. If you look at my first post did
> you ever find EclipseUML or Omondo ?
Yes, the links point to it.
> No, you don't. This is post on modeling focusing on the use of UML in
> an agile project.
Yet it's not in the UML newsgroup, it's in the general modeling one.
> I also tried to explain how to use UML modeling in an agile
> methodology giving some tips and tricks.
And you wanted discussion, though not my comments.
> Please note that I have only provided few links to explain our vision
> because no other link are available today.
It looks like advertisement. Perhaps that's not how you intended it,
but it looks that way.
> What happened ? You intentionally attack me personally and my company !!
I'm critical of your approach because your agenda is pretty clear. Of
course I've need many of your posts in various places so I'm likely
reading between the lines.
> You said:
> " Feel free to keep digging a deeper and deeper hole though, just be
> careful you don't fall in and have the hole collapse in on you."
To me it looks like you are digging a hole and doing yourself a disservice.
> "So this is a completely bogus assertion as well."
Yes, you have an endless stream of assertions that I don't agree are facts.
>
> "so this statement is confusing to the extreme."
Indeed it's all confusing.
> " My patience with this type of behavior has run pretty thin.
> Couldn't you grind your ax elsewhere?"
Write a paper in a journal.
> "Your sermons are very confusing even to experts, so I'm not sure how
> you hope to clarify anything for anyone."
You keep telling other people not to confuse things and then you equate
all kinds of things like Ecore == EMF and Agile == Round trip. It's all
very confusing.
> " Pigs?"
Typos don't help. We all make them though.
> " How is it that UML can be learned in a few hours, but Ecore would
> take years? These assertions are just absurd..."
UML is extremely powerful and complex. People don't learn it in a few
hours. So yes, it sound absurd to assert that.
> " Yet your note is rife with off site links."
It is.
> " Likely it's more of a problem in your mind than in reality."
Yes, you assert that all kinds of things are just fundamentally
insurmountable problems and that doesn't correspond to reality as I know it.
> " I doubt you're the least bit sorry."
Yes, I doubt it.
> " It seems to me that you're confusing them, but I'm not."
Yes, you tell people not to confuse things that were not being confused
in the first place. That's confusing.
> " so the premise of you argument appears to be entirely false."
It appears that way to me, yes.
> " All this is just "The World According to Vlad" while you make it out
> to be something carved in stone tablets handed down to us on a high
> mountain."
Yes. None of this is put forward as your opinion, or your view, but
rather as facts. They aren't.
> " Of course I really don't agree with the assertion nor do I
> understand your line of reasoning. I'm not sure anyone does."
There are all kinds of logical leaps of reasoning that simply don't
follow. I'm not the only one pointing out these inconsistencies.
> " What an odd perspective."
Yes, very odd.
> " But that's a general sweeping statement to which Omondo's technology
> is somehow an exception. According to Vlad..."
When the reasoning is circular I get frustrated.
> "Yet another assertion. Facts and opinions are different things."
They are indeed different things. Intelligent people will often differ
on opinions, but facts are just facts.
> "This is all such totally circular reasoning with the one and only
> purpose being to promote your proprietary technology. "
There's clearly an agenda here.
>
> I think I was really nice and try to open new frontiers to traditional
> modeling.
That would be nice if you weren't also so busy closing various other doors
> I have a question for you Ed. Do you hate UML ?
I hate very few things and I don't use that word lightly. I definitely
hate cancer for example. UML has an important role to play in the
modeling space. In fact it has a unique and special status as one of
the pinnacles. It's certainly not one of my favorite things though, nor
is XML Schema. That being said, I fully understand the important role
these technologies play. But keep in mind that just as you'll argue
that Ecore isn't the right solution for all problems, I'll argue the
same is true for UML and XML Schema. I've worked hard over the years to
ensure that things like UML and XML Schema are well supported by EMF, so
I'm happy to see people like you and companies like Omondo using this
technology stack successfully and I hope for your continued success. I
simply don't agree with all your assertions in these posts...
>
>
>
>
Re: Should UML be used in an Agile Project ? [message #384780 is a reply to message #384778] Sun, 24 May 2009 11:09 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

We have a wonderful modeling initiative but it seems as soon as Ecore is
not the core of the project then your critics are very disruptive.
This is an unacceptable arrogant behavior !!

You can agree or not with our modeling technology vision but we really
don't care because we are hundred times better than all your books :-)
Re: Should UML be used in an Agile Project ? [message #384782 is a reply to message #384780] Sun, 24 May 2009 15:30 Go to previous messageGo to next message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5574
Registered: July 2009
Senior Member
Vlad,

Comments below...


Vlad Varnica schrieb:
> Ed,
>
> We have a wonderful modeling initiative but it seems as soon as Ecore
> is not the core of the project then your critics are very disruptive.
> This is an unacceptable arrogant behavior !!
I prefer to see your own behaviour in some Eclipse newsgroups as
arrogant and unacceptable! For example, only recently you distributed
defamation about CDO in the UML2 newsgroup: "... because this is a waste
of time at the current stage". You even didn't take the time to react on
my answers and counter questions there. Yes, that's arrogant and
unacceptable. Do that in your own forums, not at Eclipse.org!


> You can agree or not with our modeling technology vision but we really
> don't care because we are hundred times better than all your books :-)
Childish.

Cheers
/Eike

----
http://thegordian.blogspot.com
Re: Should UML be used in an Agile Project ? [message #384784 is a reply to message #384782] Sun, 24 May 2009 17:34 Go to previous messageGo to next message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Eike,

The main modeling problem today is that companies have too many models and
transformations. This is an incredible waste of time and what could be
solved easily becomes a real nightmare. If you want to talk about it then
let's do it

If you check my posts on this forum, only the last post was not related to
technology because I was really upset by Ed's comments.
I am sorry for the violence of the post but certainly not why I did it.
Re: Should UML be used in an Agile Project ? [message #384785 is a reply to message #384780] Mon, 25 May 2009 16:47 Go to previous messageGo to next message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below

Vlad Varnica wrote:
> Ed,
>
> We have a wonderful modeling initiative but it seems as soon as Ecore
> is not the core of the project then your critics are very disruptive.
I can understand why you might see things that way. Generally much of
what I see people doing with UML or XML Schema could just as well be
done with Ecore. This is especially true when in fact folks import
their UML or XML Schema into Ecore. It might make sense to eliminate
the extra models in favor of Ecore given that these other forms could be
produced by export when needed. That being said, people might have very
nice proprietary tools for working with UML models, and they'd like to
keep using those. That's good for the vendors selling those tools and
that tickles me pink. Also, if the XML serialized form is very
important, using an XML Schema makes a lot of sense and is certainly
more direct than using extended meta data annotations in Ecore. So in
the end, I see there being a range of reasonable possibilities that make
more or less sense depending on the context. The world is not black and
white, though I understand you might think I see it that way.

Also, not all the modeling languages people are using are like
(isomorphic) to Ecore. For example, UML state diagrams are not
supported in any way shape or form by Ecore, so I'd not argue that you
shouldn't use UML because Ecore does it all. That's simply not a fact.
So there are all kinds of cool modeling technologies that make sense to
use and would make no sense to do with Ecore because it doesn't support
that. Domain Specific Languages are an interesting and exciting
development and again, I'd not argue that we should be using Ecore for
that (that would be absurd) and I'd also not argue that profiled UML
should be used, although that's certainly technically feasible.
> This is an unacceptable arrogant behavior !!
I think you've mischaracterized the technical substance of the
critiques, but I fully understand that you'd consider my attitude to be
arrogant. Probably I am being arrogant.
>
> You can agree or not with our modeling technology vision
I didn't disagree with your vision. I disagreed with the black and
white characterization of what's agile and what isn't.
> but we really don't care because we are hundred times better than all
> your books :-)
That seems an arrogant statement, but we're all entitled to our opinions.
>
>
>
Re: Should UML be used in an Agile Project ? [message #384787 is a reply to message #384784] Mon, 25 May 2009 16:53 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Eike,
>
> The main modeling problem today is that companies have too many models
> and transformations.
I'm really not convinced that this is the main problem.
> This is an incredible waste of time and what could be solved easily
> becomes a real nightmare. If you want to talk about it then let's do it
It's really those companies you need to convince not me. I'm happy
providing infrastructure and technology that people can apply or not as
they see fit.
>
> If you check my posts on this forum, only the last post was not
> related to technology because I was really upset by Ed's comments.
I agree that my comments certainly weren't nice I find your attitude in
this newsgroup and even more so in others newsgroups to be extremely
frustrating; my comments are a reflection of that.
> I am sorry for the violence of the post but certainly not why I did it.
If frustration is a good reason for these types of posts then I suppose
that justifies my comments as well...
>
>
Re: Should UML be used in an Agile Project ? [message #616466 is a reply to message #384694] Wed, 20 May 2009 10:54 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030703010107030705090802
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Vlad,

The title of the post already tells me this is likely to be a soap box
sermon...

Vlad Varnica wrote:
> I have been working on the UML and Java technology in the last 7
> years. It seems to me that MDA/MDD or EMF are not really compatible
> with the agile project approach.
Yep, I was right. Here we go again...
> MDA/MDD/EMF works at model level then generate a code from the model.
EMF works well with dynamic models for which there is no generated code
at all. So if this is the premise from which you derive your
conclusions, it's a bad starting point. I'm sure you'll draw many
tenuous connections between questionable assertions...
> The problem is that the next iteration is impossible if the code is
> manually changed by the team.
I guess I've been accomplishing the impossible for the last 7 years
because we've been iterating our models for a great many years and so
have a great many others. So this is a completely bogus assertion as well.

http://ed-merks.blogspot.com/2008/10/hand-written-and-genera ted-code-never.html

> I mean that you can not update your model and have another iteration
> if the code is not each time generated from the model.
Updating the model and not updating the generated code seems absurd.
It's certainly possible to update the model and regenerate the code
though, so this statement is confusing to the extreme.
> That is not what I would recommend to agile projects.
So here you are on the public Eclipse modeling newsgroup pontificating
on your recommendations. My patience with this type of behavior has run
pretty thin. Couldn't you grind your ax elsewhere?
>
> It is important to make a clear differentiation between UML which is
> language and MDA/MDD or EMF which are a concept using code generation,
> serialization from a model.
I'm not sure anyone was confusing them...
> You can use UML at any time of the project even if your code is
> manually changed or created because UML diagrams are only a graphical
> view of your UML Superstructure.
The same could be said of Ecore then I suppose....
> Now that EMF serialization of UML allows the creation of very large
> and scalable inside a single UML Structure Models.
Yes, the IBM Rational tool stack for UML is build using open source UML.
> UML should therefore be a viewer of the model and not the model itself.
A viewer hey? That's as clear as mud...
> The dilemma is therefore how to map Agile to UML I mean java code to
> XMI and not to stay at EMF or MDA/MDD level.
I see no dilemma and I have no idea what you mean by mapping Java code
to XMI. Your sermons are very confusing even to experts, so I'm not
sure how you hope to clarify anything for anyone.
>
> I have written a tutorial on this subject: Incremental versus Top down
> approach:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/wa terfall_versus_incrementale_modeling_cycle.html
>
Why don't you keep your sermons to your own site then? Odd that the
link would misspell incremental...
>
> If the first iteration problem is solved then the second question
> could be "Why and how to use UML in an Agile Project ?"
I doubt UML is the ideal solution for most people in the first place.
Simple and UML are typically not used in the same sentence...
>
> I think that Story boars
Pigs?
> should be replaced by Use Case diagrams. It is not a big job to create
> few actors and use cases in a diagram.
I've never used one of these myself.
> I don't think we should also be afraid of making mistakes because if
> you made a mistake between include or extends that doesn't mean that
> your code is wrong :-).
I wonder how many people understand this assertion?
> Use case diagrams need to be created rapidly and have graphical or
> model explanation which are written. What is really cool is to be able
> to use the same usecase or actor in different views and automatically
> create your UML Superstructure Model. See more at: See Actor in
> different views from the same model:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/Mo del_Editor/UML_Metamodel_element/index.html#Add_new_UML_elem ent_in_UML_diagram
>
I'm certainly not feeling compelled to do this.
>
> The codding stage could start just few hours after the story board is
> finished. You don't need to create the skeleton of your application
> using the model driven generation. You can code and use the way you
> want to create your project architecture. Either manually with no UML
> or using live code and model synchronization from a class diagram or
> something else. All solutions are possible.
So you say, but it's not sounding compelling to me so far and I doubt
the typical developer is feeling a compelling urge to create story boards.
>
> The main problem to the adoption of UML among Agile projects is that
> UML is trying to take control the way the team works. This is a
> mistake !! An Agile Project works the way it needs to be done and not
> the way MDD intend to do. The solution to use an agile project and
> also to always have a clean UML Superstructure is to activate the
> incremental merge option which will map Java code to UML
> Superstructure. See more at: Map Java code to XMI Superstructure
> Model:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied
>
I probably should stop making comments...
>
> How the UML iteration works ?
Why not explain this on your site. Or use the UML newsgroup where a
specific audience is perhaps more likely to care?
>
> After the first codding stage code has been implemented this first
> meeting should allow to add new features, to fix bugs and to always be
> able to use the initial UseCase Story board. Using the UML to Java
> merge option allows to have an updated Model on which we can now
> developped new requirements.
EMF's code generator supports merging...
>
> Don't forget that you can use UML diagrams as a view of the UML
> Superstructure Model. The UML id also remains the same for the entire
> life project because of no transformation stage . It means that we can
> trace Story board Use Cases from requirement to deployment and also
> have many iterations without loosing traceability. No specific
> manipulation is required, just clean your model with a merge at each
> iteration.
Like a panacea. Why aren't people flocking to you in droves?
>
> If the team doesn't know UML then how to use it ?
A two year training exercise?
>
> You need to spend few hours to understand how works a UseCase diagram.
> After just few hours of reading you will be able to create your
> diagrams. It is not really important to know when to use all features
> and UML specification, but what is important is to add written
> comments for documentation, traceability and tests.
How is it that UML can be learned in a few hours, but Ecore would take
years? These assertions are just absurd...
>
> If you team doesn't know how to use a class diagram then they can just
> drag and drop java elements from the package explorer. See more at:
> Class Diagram creation:
> http://www.forum-omondo.com/documentation_eclipseuml_2008/qu ickstar_of_EclipseUML/index.html
>
>
> You can add graphical dependencies, and talk about the requirements
> while using UML as a viewer of your java code and your UML
> Superstructure Model. You can even create UML classes (e.g. no code)
> to explain what will be implemented later. You can also transform this
> UML class into Java class, keep the same Id and traceability and then
> at the next iteration see how this class has been implemented.
>
> I think that Java language is fantastic but it is not enough to
> document full projects.
I guess there are an awful lot of projects that somehow accomplished the
impossible yet again.
> Using Java + UML inside the same environment for documentation
> purposes which would replace story boards and other external
> documentation files will save a lot of time. Java + UML +
> documentation + test + traceability are possible inside a single
> development environment. I believe that over 50% of time to market
> project could be reduced using UML inside an Agile Project. I am not
> talking about modeling best practices , this is not the point of my
> post and I think nobody cares about it today :-).I am only trying to
> explain why code delivery + iteration + traceability + test +
> requirements should be done using the latest EMF technologies and
> could reduce projects time and codding by about 50%.
> Do you agree ?
Is anyone actually doing this and agreeing with you?
>
> PS: Feel free to add your comments and let's talk :-). Please do not
> take pieces of my post out of the global context in order to reply.
I replied within the context though you make a lot of out-of-context
assertions yourself...
> This is not a support question but more related to how agile
> methodology and modeling can work together.
I will assert that EMF does not impose any specific methodology on clients.
> Thanks,
>

--------------030703010107030705090802
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Vlad,<br>
<br>
The title of the post already tells me this is likely to be a soap box
sermon...<br>
<br>
Vlad Varnica wrote:
<blockquote
cite="mid:d7d75d826e2c7af199690edf15ec23bc$1@www.eclipse.org"
type="cite">I have been working on the UML and Java technology in the
last 7 years. It seems to me that MDA/MDD or EMF are not really
compatible with the agile project approach. </blockquote>
Yep, I was right.
Re: Should UML be used in an Agile Project ? [message #616471 is a reply to message #384697] Wed, 20 May 2009 13:37 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

Eclipse Modeling forum goal is to talk about modeling inside the Eclipse
community. I think it is therefore important to explain that the use of
UML modeling is possible within an agile project.
I am really not responsible if other tools or GMF related technologies
have technological limitations and can not do what EclipseUML provides.
This is not my problem. Sorry about that.

If you look at my post I am not talking about code generation from a model
but of the UML Superstructure Model which is a mix of an existing model
and java code which has been manually added by developers.

Agile means iteration, but not just model iterations. EMF can not update
manually type code in its model. You can still argue it is not important
but for me it is very important and this the key success of the adoption
of UML among agile projects.
If users want to use EMF to generate code and then add EMF iteration
model, I would be pleased :-)
They just need to clean their UML Superstructure at each iteration because
EMF can not update UML serialization after the first model iteration. I am
sorry about that but this the reality today.
UML is also a language and not a framework like EMF. It is important not
to make the confusion. EMF and UML goals are not the same.

btw, nice flowers on your website. I have a magnolia in my garden and this
is blooming time. Just wonderful :-)
Re: Should UML be used in an Agile Project ? [message #616476 is a reply to message #384699] Wed, 20 May 2009 13:51 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030101060708090303090000
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> Eclipse Modeling forum goal is to talk about modeling inside the
> Eclipse community.
Yet your note is rife with off site links.
> I think it is therefore important to explain that the use of UML
> modeling is possible within an agile project.
The UML newgroup is where UML things are discussed.
> I am really not responsible if other tools or GMF related technologies
> have technological limitations and can not do what EclipseUML provides.
This is like asking if you've stopped beating your wife, with the
implication that you have been doing exactly that.
> This is not my problem.
Likely it's more of a problem in your mind than in reality.
> Sorry about that.
I doubt you're the least bit sorry.
>
> If you look at my post I am not talking about code generation from a
> model but of the UML Superstructure Model which is a mix of an
> existing model and java code which has been manually added by developers.
You're post is a meandering path through mystery territory as far as I'm
concerned.
>
> Agile means iteration, but not just model iterations. EMF can not
> update manually type code in its model.
Is there some implication that Agile is not possible with manual coding?
> You can still argue it
It being what?
> is not important but for me it is very important and this the key
> success of the adoption of UML among agile projects.
Not sure what "it" refers to in this sentence.
> If users want to use EMF to generate code and then add EMF iteration
> model, I would be pleased :-)
I'm not sure what is implied by EMF iteration model.
> They just need to clean their UML Superstructure at each iteration
> because EMF can not update UML serialization after the first model
> iteration.
I have no idea what UML serialization you're referring to.
> I am sorry about that but this the reality today.
Again, I doubt you're sorry.
> UML is also a language and not a framework like EMF.
And a carrot is a vegetable, while a tomato is a fruit. Ecore, like
UML, is a language...
> It is important not to make the confusion. EMF and UML goals are not
> the same.
It seems to me that you're confusing them, but I'm not.
>
> btw, nice flowers on your website. I have a magnolia in my garden and
> this is blooming time. Just wonderful :-)
My magnolia bloomed the first week of May. :-)


--------------030101060708090303090000
Content-Type: multipart/related;
boundary="------------000103060405000501040901"


--------------000103060405000501040901
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Vlad,<br>
<br>
Comments below.<br>
<br>
Vlad Varnica wrote:
<blockquote
cite="mid:e4d30a943e9a4eaeb781807c6070aa35$1@www.eclipse.org"
type="cite">Ed,
<br>
<br>
Eclipse Modeling forum goal is to talk about modeling inside the
Eclipse community. </blockquote>
Yet your note is rife with off site links.<br>
<blockquote
cite="mid:e4d30a943e9a4eaeb781807c6070aa35$1@www.eclipse.org"
type="cite">I think it is therefore important to explain that the use
of UML modeling is possible within an agile project.
<br>
</blockquote>
The UML newgroup is where UML things are discussed.<br>
<blockquote
cite="mid:e4d30a943e9a4eaeb781807c6070aa35$1@www.eclipse.org"
type="cite">I am really not responsible if other tools or GMF related
technologies have technological limitations and can not do what
EclipseUML provides. </blockquote>
This is like asking if you've stopped beating your wife, with the
implication that you have been doing exactly that.
Re: Should UML be used in an Agile Project ? [message #616479 is a reply to message #384701] Wed, 20 May 2009 16:08 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

EMF is not a language because it should be spoken by at least two persons.
I have never seen two architect talking about the same ecore diagram and
the best practices how to display EMF model elements. Only code generation
from EMF and serialization are really used today.

The purpose of UML is to be a widely used language having a common sense
which is normalized by the OMG and the UML 2 specification.
EMF is not a language for me only is UML.
Re: Should UML be used in an Agile Project ? [message #616484 is a reply to message #384702] Wed, 20 May 2009 16:29 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> EMF is not a language because it should be spoken by at least two persons.
I never claimed EMF was a language. I claim Ecore is a language.
> I have never seen two architect talking about the same ecore diagram
> and the best practices how to display EMF model elements.
So what you see is how reality is defined? An Ecore Tools graphical
class diagram representation looks pretty much exactly like a UML class
diagram representation, so the premise of you argument appears to be
entirely false.
> Only code generation from EMF and serialization are really used today.
Where do you come up with these assertions? It's like you are the
arbiter of reality...
>
> The purpose of UML is to be a widely used language having a common
> sense which is normalized by the OMG and the UML 2 specification.
And that's not true of EMOF?
> EMF is not a language for me only is UML.
Ecore is isomorphic to EMOF which is just as well defined at the OMG as
UML. In fact, it is used to define UML. I.e., its the underlying
common sense of a great many other OMG specifications, including itself
no less.

In any case, how this kind of discussion helps clarify anything for
anyone is beyond me. It's like you're arguing that people shouldn't use
BPEL, XML Schema, Ecore, DSLs, or anything other than UML for all
things. I doubt many people will buy into that.
Re: Should UML be used in an Agile Project ? [message #616487 is a reply to message #384704] Thu, 21 May 2009 08:49 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

I agree with you that Ecore is a language which is used to define UML
This is why EclipseUML is directly working at Ecore level and not at just
at EMF level. Don't forget that even if ecore is a language you can only
design class diagram. It means that only static graphical presentation is
possible to cover structural modeling. This is a serious limitation in
the use of Ecore diagrams as modeling solution.
What I also don't like with Ecore diagrams is the use of multiple views in
which the diagram is the model. Diagrams should a viewer of the model and
all modeling job should be done in the model using synchronization rules
as a back office job.
Doing that allow to:
- use the same element inside different views
- keep the model logic for the entire project and not just a diagram level
(classifier ID remains the same after transformation)
- keep traceability of classifiers
- allow to add documentation and keep it synchronized
- allow live code and model synchronization
- allow java annotation integration
- allow database modeling with JPA, Hibernate etc...this is the pojo
concept going in a top down and bottom up cycles.
and a lot more.....

My vision how modeling tools should work in an agile project is therefore
correct :-)
Ecore is agile with the use of UML Superstructure (e.g. Omondo) and only
MDD with the use of GMF or ecore diagrams.
Re: Should UML be used in an Agile Project ? [message #616492 is a reply to message #384706] Thu, 21 May 2009 09:44 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
This is a multi-part message in MIME format.
--------------030004030805050504070604
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> I agree with you that Ecore is a language which is used to define UML
It's a fact so that's good. :-)
> This is why EclipseUML is directly working at Ecore level and not at
> just at EMF level.
I don't know what you mean by working at the Ecore level rather than the
EMF level.
> Don't forget that even if ecore is a language you can only design
> class diagram.
Yes, that's the design point to keep it simple. It's not a unification
of a very large number of design concepts as is the case for UML.
> It means that only static graphical presentation is possible to cover
> structural modeling. This is a serious limitation in the use of Ecore
> diagrams as modeling solution.
I'm not sure what else you consider necessary for defining structure. I
think Ecore is very powerful in this regard.
> What I also don't like with Ecore diagrams is the use of multiple
> views in which the diagram is the model.
The diagram and the model are separate things and the diagram is just a
view of the model...
> Diagrams should a viewer of the model and all modeling job should be
> done in the model using synchronization rules as a back office job.
It does provide a view of the model and you can edit the model directly,
so I'm not sure I've followed this line of reasoning very well...
> Doing that allow to:
> - use the same element inside different views
It does exactly that as illustrated in this blog:

http://ed-merks.blogspot.com/2008/06/was-gany-good-to-you.ht ml

> - keep the model logic for the entire project and not just a diagram
> level (classifier ID remains the same after transformation)
I'm not sure what this means.
> - keep traceability of classifiers
I'm not sure what's implied by this. Keep this where?
> - allow to add documentation and keep it synchronized
That's supported via annotations. Generated Java code (should one
choose to use Ecore for that) contains @model tags from which the
original Ecore model can be recovered, so one can choose to work
directly in Java and synchronize the model from that. Of course Java
doesn't have the concept of containment or bidirectional references so
it's necessary to specify this type of information.
> - allow live code and model synchronization
Yes, that's supported. This isn't an intrinsic aspect of Ecore or UML
but rather a sophistication in the tools themselves. The EMF tools are
not nearly as sophisticated as one might like
> - allow java annotation integration
We've not implemented that yet. There's a bugzilla open though.
> - allow database modeling with JPA, Hibernate etc...this is the pojo
> concept going in a top down and bottom up cycles.
> and a lot more.....
Teneo provides integration with Hibernate and EclipseLink and hence JPA.
>
> My vision how modeling tools should work in an agile project is
> therefore correct :-)
I'm not sure how that follows from the above statements. It seems to me
that design methodologies are often a matter of opinion and involve
significant trade-offs as do all designs. I'd like to think that EMF
doesn't impose any specific approach...
> Ecore is agile with the use of UML Superstructure (e.g. Omondo) and
> only MDD with the use of GMF or ecore diagrams.
The implication you're making is that MDD implies not Agile. Yet you
also seem to argue that one should use UML to do all development so you
can be Agile. Somehow you see UML Driven Development as Agile but Model
Driven Development as not Agile. Clearly UML is a model so all this
just serves to confuse me...
>
>
>

--------------030004030805050504070604
Content-Type: text/html; charset=ISO-8859-15
Content-Transfer-Encoding: 8bit

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-15"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Vlad,<br>
<br>
Comments below.<br>
<br>
Vlad Varnica wrote:
<blockquote
cite="mid:5b97b4231cd0f7dae6b3059172e0c6ee$1@www.eclipse.org"
type="cite">Ed,
<br>
<br>
I agree with you that
Re: Should UML be used in an Agile Project ? [message #616495 is a reply to message #384708] Thu, 21 May 2009 12:29 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

MDD doesn't implies agile while UML with Omondo is agile.
Agile means multiple iterations from model to code and from code to model.
Only an XMI/Ecore merge allows this iteration :
http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied

EMF without EclipseUML is only a model to model iteration and code
generation. It is impossible to reverse Java code into EMF and then have
another iteration.

I think that if Ecore and EMF want to be agile they will have to be
associated with EclipseUML even if many would prefer only to use open
source free tools.
Re: Should UML be used in an Agile Project ? [message #616499 is a reply to message #384709] Thu, 21 May 2009 17:26 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5574
Registered: July 2009
Senior Member
Vlad,

The word Agile is just a buzz and your interpretation of it isjust your
interpretation. I think it's not adequate and your definition is more
appropriate for the word Round-Trip.

I further think that you continue to confuse EMf with Ecore. Ed's point
was: Since Ecore is only concerned with structural description (as
opposed to describing behaviour) EMF *is* able to derive a model from
annotated Java code. You can use this derived model to base your next
modeling iteration upon. Isn't this the definition of round-trip?

Cheers
/Eike

----
http://thegordian.blogspot.com



Vlad Varnica schrieb:
> Ed,
>
> MDD doesn't implies agile while UML with Omondo is agile. Agile means
> multiple iterations from model to code and from code to model.
> Only an XMI/Ecore merge allows this iteration :
> http://www.forum-omondo.com/documentation_eclipseuml_2008/re verse/reverse/index.html#1.3_Merge_existing_model_with_modif ied
>
>
> EMF without EclipseUML is only a model to model iteration and code
> generation. It is impossible to reverse Java code into EMF and then
> have another iteration.
>
> I think that if Ecore and EMF want to be agile they will have to be
> associated with EclipseUML even if many would prefer only to use open
> source free tools.
>
>
>
Re: Should UML be used in an Agile Project ? [message #616503 is a reply to message #384711] Fri, 22 May 2009 08:36 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Eike,

The round trip should be at the Ecore to UML superstructure and UML to
Ecore level and mixing model information inside java code is not
recommended.
Not recommended because if you refactor your code then you loose your model
If you annotate you java code classes then your get a dirty java code :-)

The java detection using native JDT which unify Ecore/UML is the only
possible solution in order to cover agile iteration. The omondo
architecture is based on Java and UML Ids both of them need are used at
different stages.
Re: Should UML be used in an Agile Project ? [message #616507 is a reply to message #384713] Fri, 22 May 2009 10:03 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlag,

Comments below.

Vlad Varnica wrote:
> Eike,
>
> The round trip should be at the Ecore to UML superstructure and UML to
> Ecore level and mixing model information inside java code is not
> recommended.
Should be according to whom and recommended by whom? All this is just
"The World According to Vlad" while you make it out to be something
carved in stone tablets handed down to us on a high mountain.
>
> Not recommended because if you refactor your code then you loose your
> model
You're confusing what's possible with refactoring tools and what's
currently implemented. Changing the names of things in your model will
typically break all your serialized instances as well, so it's not as if
you can just merrily make arbitrary changes without impact. And
besides, if you extracted the Ecore model from the code, refactored the
code and refactored the model, and then regenerated, you'd have
up-to-date annotations; it's not hard to imagine a tool helping with
this slightly longer manual process.

In the end, I don't think round trip engineering is the panacea you make
it out to be.
> If you annotate you java code classes then your get a dirty java code :-)
You also seem to miss the point that Java source code doesn't haven
enough information to tell you if something is a containment reference
or not; clearly there needs to be more information than just the Java
source.
>
> The java detection using native JDT which unify Ecore/UML is the only
> possible solution in order to cover agile iteration.
As Eike pointed out, you're talking about round trip engineering, not
agile development. You might choose to see them as the same, but it's
just buzzword soup as far as I'm concerned.
> The omondo architecture is based on Java and UML Ids both of them need
> are used at different stages.
And how did you get your UML IDs in out and out of your Java without
getting the Java dirty?

Some clients use dynamic Ecore directly without generating any Java
code. I suppose you can't get more Agile than that!
>
>
Re: Should UML be used in an Agile Project ? [message #616706 is a reply to message #384713] Fri, 22 May 2009 10:21 Go to previous message
Krzysztof Kowalczyk is currently offline Krzysztof KowalczykFriend
Messages: 113
Registered: July 2009
Senior Member
Vlad,

> The java detection using native JDT which unify Ecore/UML is the only
> possible solution in order to cover agile iteration. The omondo
> architecture is based on Java and UML Ids both of them need are used at
> different stages.
>

Then we can call it "representation", "view" or "notation". I like UML
as a view for my code (I have created one Java -> UML transformation
based on JDT myself), but can we call it modelling? IMHO there should be
some changes in abstraction level to call it modelling.

I'm just a student, but I did used UML and code generation to develop
project easier, faster, make it more maintainable and allow iterative
development. Actually iterative development was really hard without MDD.
I developed a model, then basic transformation, the transformation and
model were changing along with better understanding of problem, as well
as technologies I have used. For me it was "agile" enough.

Best regards,
Krzysztof Kowalczyk
Re: Should UML be used in an Agile Project ? [message #616707 is a reply to message #384715] Fri, 22 May 2009 11:09 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

Dynamic ecore is another use of the technology which is related to MDD.
This is model to model transformation but certainly not agile. Agile is
composed by all team members architects, modelers and developer and not
just architects+modelers. A developer will always code and his job should
be in the agile iteration.

If the java code contains the model information then it is impossible to
guarantee that refactoring will not erase the model. This is definitely a
bad practice.

I agree with you that Java source code doesn't have enough information and
should be extended. The extension should be a Java to UML Ids merge and
not an annotated model information in the Java code. Java Id and UML Id
are used together but all the information should be in the model and not
in the java code.

When you say "And how did you get your UML IDs in out and out of your Java
without getting the Java dirty?" Please not that we don't touch the java
code but upload information into the model. This is the Java to XMI
mapping approach which is the only possible modern modeling usage with an
agile methodology.
Re: Should UML be used in an Agile Project ? [message #616708 is a reply to message #384769] Fri, 22 May 2009 13:02 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> Dynamic ecore is another use of the technology which is related to MDD.
Yes, it's another use.
> This is model to model transformation but certainly not agile.
No it's not model to model transformation. It can be used to work with
instance data exactly the same way as if you'd generated code. It seems
one could argue that if round tripping is agile, then eliminating the
need to round trip entirely is even more agile. Of course I really
don't agree with the assertion nor do I understand your line of
reasoning. I'm not sure anyone does.
> Agile is composed by all team members architects, modelers and
> developer and not just architects+modelers.
Yes, so what's your point?
> A developer will always code and his job should be in the agile
> iteration.
So the assertion is that defining an Ecore model isn't coding even
though Ecore is a language, i.e., even though defining an EClass is
isomorphic to defining a Java interface, the former is not coding while
the latter is. What an odd perspective.
>
> If the java code contains the model information then it is impossible
> to guarantee that refactoring will not erase the model.
I guess round tripping is simply impossible then because the code must
contain the model to be able to recover the model from the code and
therefore refactoring will destroy the whole pretty picture. But that's
a general sweeping statement to which Omondo's technology is somehow an
exception.
> This is definitely a bad practice.
According to Vlad...
>
> I agree with you that Java source code doesn't have enough information
> and should be extended. The extension should be a Java to UML Ids
> merge and not an annotated model information in the Java code.
Yet another assertion. Facts and opinions are different things.
> Java Id and UML Id are used together but all the information should be
> in the model and not in the java code.
And of course Java code isn't a model according to you. But that's just
an opinion, not a fact.
>
> When you say "And how did you get your UML IDs in out and out of your
> Java without getting the Java dirty?" Please not that we don't touch
> the java code but upload information into the model.
So no one does any coding in Java ever because that's a bad practice...
> This is the Java to XMI mapping approach which is the only possible
> modern modeling usage with an agile methodology.
This is all such totally circular reasoning with the one and only
purpose being to promote your proprietary technology. I doubt you are
serving your cause well by making questionable assertions as a starting
point, reasoning from those assertions with great leaps of logic, and
then drawing conclusions that simply reflect the original assertions.
Feel free to keep digging a deeper and deeper hole though, just be
careful you don't fall in and have the hole collapse in on you.
>
>
>
>
Re: Should UML be used in an Agile Project ? [message #616709 is a reply to message #384770] Fri, 22 May 2009 15:46 Go to previous message
Vlad Varnica is currently offline Vlad VarnicaFriend
Messages: 546
Registered: July 2009
Location: Milton Keynes - UK
Senior Member
Ed,

Our technology is not proprietary because we only use open standards such
as the UML2, Ecore or GEF plugin. What is proprietary is the glue between
them !!

I really don't understand your critical thinking to Omondo. This is like a
married woman who behave like a virgin every night once in bed:-)
Re: Should UML be used in an Agile Project ? [message #616710 is a reply to message #384771] Fri, 22 May 2009 16:21 Go to previous message
Ed Merks is currently offline Ed MerksFriend
Messages: 26213
Registered: July 2009
Senior Member
Vlad,

Comments below.

Vlad Varnica wrote:
> Ed,
>
> Our technology is not proprietary because we only use open standards
> such as the UML2, Ecore or GEF plugin. What is proprietary is the glue
> between them !!
That glue is what I'm referring to.
>
> I really don't understand your critical thinking to Omondo.
I'm not critical of Omondo. I'm happy that there are many clients
making good use of open source technology. Note however that most of
them don't come to this newsgroup to say that their tools are the only
way to be Agile. Also note that this isn't an Omondo forum, it's a
forum for asking questions about the Eclipse Modeling Project.
> This is like a married woman who behave like a virgin every night once
> in bed:-)
I'm not sure how the two related and no, please don't elaborate further.
Previous Topic:Should UML be used in an Agile Project ?
Next Topic:Ecore Model Error when Migrating
Goto Forum:
  


Current Time: Thu Nov 20 21:17:21 GMT 2014

Powered by FUDForum. Page generated in 0.03534 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software