Author Topic: Action pins and instances of artifacts  (Read 398 times)

Uffe

  • EA Practitioner
  • ***
  • Posts: 1066
  • Karma: +81/-5
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Action pins and instances of artifacts
« 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
My theories are always correct, just apply them to the right reality.

Helmut Ortmann

  • EA User
  • **
  • Posts: 884
  • Karma: +37/-1
    • View Profile
Re: Action pins and instances of artifacts
« Reply #1 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
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5874
  • Karma: +71/-77
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Action pins and instances of artifacts
« Reply #2 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
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

qwerty

  • EA Guru
  • *****
  • Posts: 8952
  • Karma: +136/-123
  • I'm no guru at all
    • View Profile
Re: Action pins and instances of artifacts
« Reply #3 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.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5874
  • Karma: +71/-77
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Action pins and instances of artifacts
« Reply #4 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
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

qwerty

  • EA Guru
  • *****
  • Posts: 8952
  • Karma: +136/-123
  • I'm no guru at all
    • View Profile
Re: Action pins and instances of artifacts
« Reply #5 on: November 22, 2017, 09:58:56 pm »
So we need different fora that use own terminologies each. Life is complicated.

q.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 5874
  • Karma: +71/-77
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Action pins and instances of artifacts
« Reply #6 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
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Uffe

  • EA Practitioner
  • ***
  • Posts: 1066
  • Karma: +81/-5
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Action pins and instances of artifacts
« Reply #7 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
My theories are always correct, just apply them to the right reality.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2436
  • Karma: +29/-2
    • View Profile
Re: Action pins and instances of artifacts
« Reply #8 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.
The Sparx Team
support@sparxsystems.com

Uffe

  • EA Practitioner
  • ***
  • Posts: 1066
  • Karma: +81/-5
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Action pins and instances of artifacts
« Reply #9 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
My theories are always correct, just apply them to the right reality.