Hi All,

In the issue Bob mentioned, the Well-Formedness rule in question is the one that disallows generalizations between an Interface and a Class. So, Bob is in favour of preventing the user from creating such a generalization.

However, ArgoUML does not usually enforce any well-formedness rule from the UML standard -
instead the critics warn you for it.
Why? Because we do not want to outsmart the user and fail!

In the future we may have a situation where drawing a generalization betwen a Interface and a Class is exactly what the user wants: i.e. when it is his intention to transform the Interface to a Class. Then you have this scenario:
1. The user draws a generalization between an Interface and a Class.
2. The user converts the interface into a class (with the new function requested in issue 4543).

IMHO, ArgoUML should allow the user to draw/create anything that can be saved in a correct XMI file.

On reason to allow this, is that a valid XMI from another tool may be loaded that breaks Well-Formedness rules.

If this breaks e.g. code generation, then the code generation subsystem needs to handle this problem.


As an analogy for this problem, I compare this with a Java source code editor like Eclipse: You can type any char in the Java source file, as long as it can be saved. If you type something abnormal, you get a (style) warning (the yellow mark apears in the margin), and if the compiler will not be able to generate runnabl code from it, you get a more severe message, i.e. error (with the red symbol in the margin).

I wish ArgoUML to work in the same way:
You can draw/create any element in the UML project file, as long as it can be saved (as XMI). If you create something abnormal, you get a (critic) warning (the red mark apears below the element). In the current implementation, if the code generator will not be able to generate runnable code from it (as is e.g. the case for an unnamed class), ArgoUML simply ignores the object.


Regards,
Michiel


----- Original Message ----- From: "Bob Tarling" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Tuesday, February 06, 2007 7:52 PM
Subject: [argouml-dev] Wellformedness rules - enforcing vs critics


As Michiel points out on
http://argouml.tigris.org/issues/show_bug.cgi?id=4632 ArgoUML has
traditionally used critics to suggest design improvements.

I think there is often a fundamental difference in a poor design and a
badly formed model. Especially if we want that model to be used by
other tools.

At the moment we do have some enforcement in the code. I've been
trying to javadoc when I find these with references to the section in
the UML spec.

I'd like to suggest that we start a section in the cookbook where we
document these. This will make it clear what has been agreed for each
specific welformedness rule.

I'd suggest that for each wellformedness rule that we enforce we state
the rule reference in UML1.4.2, the text of that rule and where in the
code this is enforced. I'd hope that as these are discovered we can
move any enforcement to the model subsystem.

Regards

Bob.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.432 / Virus Database: 268.17.26/670 - Release Date: 5/02/2007 14:04



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to