Sparx Systems Forum

Enterprise Architect => Uml Process => Topic started by: Modesto Vega on September 09, 2020, 06:12:19 pm

Title: Assembly on a component diagram
Post by: Modesto Vega on September 09, 2020, 06:12:19 pm
On v15.2, I have created a model using the "Starter Component Diagram". This creates 2 components A and B linked with an Assembly connector.

I have them started adding other components to the diagram, tried to link them using other Assembly connectors and found 2 or 3 problems:

Isn't an Assembly a valid connector for component diagrams? If it is not, why does one of the Component Diagram design patterns use it?

Is this a bug in v15.2?


Title: Re: Assembly on a component diagram
Post by: Geert Bellekens on September 09, 2020, 06:46:05 pm
Yes, assembly is not a valid connector between components in UML.
See also https://stackoverflow.com/questions/61332007/how-do-you-link-up-the-lollipops-using-enterprise-architect-component-diagram (https://stackoverflow.com/questions/61332007/how-do-you-link-up-the-lollipops-using-enterprise-architect-component-diagram)

Geert
Title: Re: Assembly on a component diagram
Post by: Modesto Vega on September 09, 2020, 07:13:20 pm
Yes, assembly is not a valid connector between components in UML.
See also https://stackoverflow.com/questions/61332007/how-do-you-link-up-the-lollipops-using-enterprise-architect-component-diagram (https://stackoverflow.com/questions/61332007/how-do-you-link-up-the-lollipops-using-enterprise-architect-component-diagram)

Geert
So, why does one of the Component Diagram design patterns use it?


I guess it is a question for Eve.
Title: Re: Assembly on a component diagram
Post by: MichaelJ on September 09, 2020, 07:20:21 pm
... So, why does one of the Component Diagram design patterns use it? ...
To use the "Assembly" connector, put a "Port" onto both components you wish to connect. Then drag an "Assembly" connector between the two ports.
Like you I also ran into this issue attempting to connect two "Required/Provided" interfaces on components, and the operation failed. But putting "Port" onto each component did work.
Title: Re: Assembly on a component diagram
Post by: Modesto Vega on September 15, 2020, 06:36:34 pm
... So, why does one of the Component Diagram design patterns use it? ...
To use the "Assembly" connector, put a "Port" onto both components you wish to connect. Then drag an "Assembly" connector between the two ports.
Like you I also ran into this issue attempting to connect two "Required/Provided" interfaces on components, and the operation failed. But putting "Port" onto each component did work.
Thank you Michael, using "Ports" allows me to drag assemblies between components.

I would really like to hear from Sparx why an out-of-the-box pattern uses a relationship which is not permitted.

Title: Re: Assembly on a component diagram
Post by: Geert Bellekens on September 15, 2020, 06:45:22 pm
I would really like to hear from Sparx why an out-of-the-box pattern uses a relationship which is not permitted.

I'm obviously not from Sparx, but I'm pretty sure the answer will be that back in the day, when the pattern was created, they didn't know about this restriction yet (or that it wasn't even a restriction in the UML version in use back then)
Now this is obviously wrong and should be fixed.

I think the best course of action here is to send in a bug report.

Geert
Title: Re: Assembly on a component diagram
Post by: Modesto Vega on September 15, 2020, 07:48:38 pm
I would really like to hear from Sparx why an out-of-the-box pattern uses a relationship which is not permitted.

I'm obviously not from Sparx, but I'm pretty sure the answer will be that back in the day, when the pattern was created, they didn't know about this restriction yet (or that it wasn't even a restriction in the UML version in use back then)
Now this is obviously wrong and should be fixed.

I think the best course of action here is to send in a bug report.

Geert
Done!