Sparx Systems Forum

Discussion => Uml Process => Topic started by: Uffe on October 11, 2017, 07:16:50 pm

Title: Action pins and instances of artifacts
Post by: Uffe on October 11, 2017, 07:16:50 pm
Hi all,


EA lets me draw object flows between actions or action pins and instances of classes (objects). This is useful for when you want to show the object states explicitly in your activity diagram.

But if I make an instance of an artifact, EA says the requested connection is not UML compliant. Why is this?

I can work around it and force EA to accept this construction. That's not the question. The question is, why does UML say I should not make instances of artifacts and have them be the endpoints of object flows, like I can with instances of classes?


/Uffe
Title: Re: Action pins and instances of artifacts
Post by: Helmut Ortmann on November 21, 2017, 07:22:31 pm
Hi Uffe,

I don't know why UML or EA says that an instance of an artifact can't be part of an object flow.

If you model e.g processes or work flows it's important. The SPEM profile is an example.

Best regards,

Helmut
Title: Re: Action pins and instances of artifacts
Post by: Paolo F Cantoni on November 22, 2017, 10:53:41 am
Hi all,


EA lets me draw object flows between actions or action pins and instances of classes (objects). This is useful for when you want to show the object states explicitly in your activity diagram.

But if I make an instance of an artifact, EA says the requested connection is not UML compliant. Why is this?

I can work around it and force EA to accept this construction. That's not the question. The question is, why does UML say I should not make instances of artifacts and have them be the endpoints of object flows, like I can with instances of classes?


/Uffe
It may be because Artifacts are always instances.  Recall my recent question on what is an instance?  I've now come to the conclusion that some kinds of things are inherently at the instance level.  Actors, for example.  We have specific actors, me, you, and we have placeholder actor "Sparx EA User" - all are instances, the later a placeholder for an eventual specific instance that can "fit the bill" at runtime.
I'm now not sure, in a modelling sense, if there is actually a valid concept as the aggregate Actor "Sparx EA Users", but I remain open-minded.  I believe we colloquially use the term "Sparx EA Users" when we mean the singular placeholder.

HTH,
Paolo
Title: Re: Action pins and instances of artifacts
Post by: qwerty on November 22, 2017, 11:25:59 am
Oh, there's the can of worms. Actors are not instances, despite the name. They represent roles. You can instantiate a role with a person. But per se an actor is not instantiated.

q.
Title: Re: Action pins and instances of artifacts
Post by: Paolo F Cantoni on November 22, 2017, 06:22:31 pm
Oh, there's the can of worms. Actors are not instances, despite the name. They represent roles. You can instantiate a role with a person. But per se an actor is not instantiated.

q.
Sorry, I meant ArchiMate Actors which ARE actors, not UML actors which aren't (actors).   :D

ArchiMate Roles are Roles... 

But FWIW, I believe Roles are also instances and follow the same rules as Actors.

Paolo
Title: Re: Action pins and instances of artifacts
Post by: qwerty on November 22, 2017, 09:58:56 pm
So we need different fora that use own terminologies each. Life is complicated.

q.
Title: Re: Action pins and instances of artifacts
Post by: Paolo F Cantoni on November 23, 2017, 10:58:52 am
So we need different fora that use own terminologies each. Life is complicated.

q.
(my emphasis)  So it is.

That's why we embarked on a unified modelling technology to get around these semantic impedances.

So far so good, but we haven't fully integrated BPMN (and, soon, DMN) into it, but Sparx has provided some ideas on how to do it successfully.

Paolo
Title: Re: Action pins and instances of artifacts
Post by: Uffe on November 27, 2017, 10:19:57 pm
EA lets me draw object flows between actions or action pins and instances of classes (objects). This is useful for when you want to show the object states explicitly in your activity diagram.

But if I make an instance of an artifact, EA says the requested connection is not UML compliant. Why is this?

I can work around it and force EA to accept this construction. That's not the question. The question is, why does UML say I should not make instances of artifacts and have them be the endpoints of object flows, like I can with instances of classes?
It may be because Artifacts are always instances.

That doesn't answer the question. I'm aware that in EA artifacts are a hybrid of classifier and instance: an artifact instance can itself be the classifier of another instance, which an object (or class instance) cannot -- but if anything that should prevent me from creating instances of artifacts, not restrict which connectors I can draw to those instances once I've created them.

Why does UML prohibit this connection? (Or, why does EA claim that it does?)

/Uffe
Title: Re: Action pins and instances of artifacts
Post by: KP on November 28, 2017, 08:47:55 am
Why does UML prohibit this connection? (Or, why does EA claim that it does?)

It sounds like EA's validation code saying "it's an artifact" and using the artifact rules rather than "it's an instance" and using the instance rules. Probably worth a bug report.
Title: Re: Action pins and instances of artifacts
Post by: Uffe on November 28, 2017, 11:06:29 pm
Why does UML prohibit this connection? (Or, why does EA claim that it does?)

It sounds like EA's validation code saying "it's an artifact" and using the artifact rules rather than "it's an instance" and using the instance rules. Probably worth a bug report.

Done. Btw, EA does the same thing for activity parameters: object flows between parameters and objects are allowed, but those between parameters and artifact instances are not.

/U
Title: Re: Action pins and instances of artifacts
Post by: Uffe on December 11, 2017, 08:53:49 pm
I've heard back from the support team, and yes it is a bug and yes it will be addressed in a future release.

The current release at the time of writing is 13.5.1351.

/U