Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[uml2-dev] UML2 / Sequence diagram / MessageKind

Hello there,

I have discovered the following problem: While reading an xmi file which
contains a UML sequence diagram model (created and exported with Enteprise
Architect), the following exception is being thrown:

org.eclipse.emf.ecore.xmi.IllegalValueException: Value 'complete' is not
legal. (...)

The xmi file defines the following: 

(...)
<message xmi:type="uml:Message"
xmi:id="EAID_B1BE45F9_D0B9_4d19_BA6B_476FE160FAD3"
name="loginCustomer(char)" messageKind="complete" messageSort="synchCall"
sendEvent="EAID_FR000000_E475_4fdd_A45B_0AC888D8AD60"
receiveEvent="EAID_FR000000_322B_4f6d_92B1_EAEC867D8653"
signature="EAID_F04E57C4_DB59_4847_855F_7790E51047DA"/>
(...)

According to the description of the exception, the "messageKind" cannot have
the value "complete", but according to the UML specification (from
http://www.omg.org/docs/formal/07-02-03.pdf):

14.3.22 MessageKind (from BasicInteractions) This is an enumerated type that
identifies the type of message.
Generalizations
None
Description
MessageKind is an enumeration of the following values:
. complete = sendEvent and receiveEvent are present.
. lost = sendEvent present and receiveEvent absent.
. found = sendEvent absent and receiveEvent present.
. unknown = sendEvent and receiveEvent absent (should not appear).


Therefore the "complete" message kind is correct! I cannot find any error in
my code, while I'm simply reading the whole model from the xmi like this:

Model _model = (Model) EcoreUtil.getObjectByType(resource.getContents(),
UMLPackage.Literals.MODEL);


Is it a possible bug in the underlying EMF Metamodel for UML? I have tried
it with simple messages and signals being sent between the lifelines. The
effect is the same. Has anybody have the same problems with sequence
diagrams?

I'm using:
	Eclipse 3.3.1
	EMF 2.3.1
	UML2 2.1.1




Thanks in advance for any suggestions,

Michael Mlynarski



Back to the top