archimatetool / archi

Archi: ArchiMate Modelling Tool
https://www.archimatetool.com
MIT License
914 stars 267 forks source link

Possible Junction Bug #976

Closed ewalters99 closed 8 months ago

ewalters99 commented 8 months ago

Version of Archi

5.1.0

Archi Plug-ins

Collaboration

Operating System

windows 10

Expected Behaviour

Trying to use a Junction to indicate a Product aggregates either Artefact OR Material. Product to Junction the connection is fine, but it appears that Archi wont allow an aggregation connection from the Junction to Artefact or Material

Actual Behaviour

Aggregation connection from Junction to Artefact or Material is prohibited.

Steps to Reproduce the Behaviour

  1. Place a Product, an Artefact and a Material on the canvas. Place a Junction. Draw an aggregation relationship from the Product to the Junction.
  2. Try to create an aggregation relationship from the Junction to either the Artefact or the Material. You will see it is prohibited.
Phillipus commented 8 months ago

Hi, you can however create an Aggregation from the Artefact or Material to the Junction.

ewalters99 commented 8 months ago

Yes, but that doesn’t have the same meaning – the diamond end is the ‘whole’ the other end is the ‘part’

Regards

Ed Walters

Consultant, Business Systems Development

ewalters99 commented 8 months ago

The ‘direction’ of aggregation is from the whole to the part.

Regards

Ed Walters

Consultant, Business Systems Development

@.> @.

Please note: I am in the process of switching my main personal email address to @.> @.

However I will still be processing emails received at @.> @. for some time yet.

From: Phil Beauvoir @.> Sent: 14 October 2023 11:12 To: archimatetool/archi @.> Cc: ewalters99 @.>; Author @.> Subject: Re: [archimatetool/archi] Possible Junction Bug (Issue #976)

Hi, you can however create an Aggregation from the Artefact or Material to the Junction.

— Reply to this email directly, view it on GitHub https://github.com/archimatetool/archi/issues/976#issuecomment-1762785390 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BDIQE7NJDYCZYYKL4BFDIOLX7JQNJANCNFSM6AAAAAA6AEWSLY . You are receiving this because you authored the thread. https://github.com/notifications/beacon/BDIQE7MIS5FMACHI354XIILX7JQNJA5CNFSM6AAAAAA6AEWSL2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTJCH4G4.gif Message ID: @. @.> >

Phillipus commented 8 months ago

@jbsarrodie HI JB, can you confirm? Thanks, Phil

ewalters99 commented 8 months ago

The same rule will apply to Composition of course. I haven’t tried this out though.

Regards

Ed Walters

Consultant, Business Systems Development

@.> @.

Please note: I am in the process of switching my main personal email address to @.> @.

However I will still be processing emails received at @.> @. for some time yet.

From: Phil Beauvoir @.> Sent: 14 October 2023 11:18 To: archimatetool/archi @.> Cc: ewalters99 @.>; Author @.> Subject: Re: [archimatetool/archi] Possible Junction Bug (Issue #976)

@jbsarrodie https://github.com/jbsarrodie HI JB, can you confirm? Thanks, Phil

— Reply to this email directly, view it on GitHub https://github.com/archimatetool/archi/issues/976#issuecomment-1762786662 , or unsubscribe https://github.com/notifications/unsubscribe-auth/BDIQE7K2CB2E6GQINTF7UO3X7JRELANCNFSM6AAAAAA6AEWSLY . You are receiving this because you authored the thread. https://github.com/notifications/beacon/BDIQE7I5GAUSYHHRZQFVMKTX7JRELA5CNFSM6AAAAAA6AEWSL2WGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTTJCH6WM.gif Message ID: @. @.> >

Phillipus commented 8 months ago

The relationship rules that Archi uses are declared in an XML file here. It declares the relationships allowed between source and target concepts.

(a = Access, c = Composition, f = Flow, g = Aggregation, i = Assignment, n = Influence, o = Association, r = Realization , s = Specialization t = Triggering, v = Serving)

If we look at the rules from Junction to Artefact and Material we see:

<source concept="Junction">
    <target concept="Artifact" relations="aior" />
    <target concept="Material" relations="aior" />
</source>

From Artefact to Junction:

<source concept="Artifact">
    <target concept="Junction" relations="acfginorstv" />
</source>

From Material to Junction:

<source concept="Material">
    <target concept="Junction" relations="acfginorstv" />
</source>

So, according to those rules provided by The Open Group, the relationships you are trying to create are not allowed.

ewalters99 commented 8 months ago

Hi Phil,

I see, thank you for the info.

Obviously Archi has to implement the rules, so it’s the rules that might need changing. I cc JB and Marc to see if they agree.

@jbsarrodie and Marc: any reason why aggregation and composition were not included here?

<target concept="Artifact" relations="aior" />
<target concept="Material" relations="aior" />

Regards

Ed Walters

(Phil Edited this to remove footer stuff and to correct to @jbsarrodie )

ewalters99 commented 8 months ago

That is because junctions themselves can be aggregated in composite elements like Grouping. Allowing junctions on compositions or aggregations would become ambiguous if the other end of the composition is such a composite element.

Marc


Van: @. @.> Verzonden: Saturday, October 14, 2023 1:55:31 PM Aan: 'archimatetool/archi' @.> CC: @. @.>; Marc Lankhorst @.> Onderwerp: RE: [archimatetool/archi] Possible Junction Bug (Issue #976)

You don't often get email from @.*** Learn why this is importanthttps://aka.ms/LearnAboutSenderIdentification

Hi Phil,

I see, thank you for the info.

Obviously Archi has to implement the rules, so it’s the rules that might need changing. I cc JB and Marc to see if they agree.

@JB and Marc: any reason why aggregation and composition were not included here?

<target concept="Artifact" relations="aior" />

<target concept="Material" relations="aior" />

Regards

Ed Walters

Consultant, Business Systems Development

@.**@.>

Please note: I am in the process of switching my main personal email address to @.**@.>

However I will still be processing emails received at @.**@.> for some time yet.

From: Phil Beauvoir @.> Sent: 14 October 2023 12:40 To: archimatetool/archi @.> Cc: ewalters99 @.>; Author @.> Subject: Re: [archimatetool/archi] Possible Junction Bug (Issue #976)

The relationship rules that Archi uses are declared in an XML file herehttps://github.com/archimatetool/archi/blob/master/com.archimatetool.model/model/relationships.xml. It declares the relationships allowed between source and target concepts.

(a = Access, c = Composition, f = Flow, g = Aggregation, i = Assignment, n = Influence, o = Association, r = Realization , s = Specialization t = Triggering, v = Serving)

If we look at the rules from Junction to Artefact and Material we see:

<target concept="Artifact" relations="aior" />

<target concept="Material" relations="aior" />

From Artefact to Junction:

<target concept="Junction" relations="acfginorstv" />

From Material to Junction:

<target concept="Junction" relations="acfginorstv" />

So, according to those rules provided by The Open Group, the relationships you are trying to create are not allowed.

— Reply to this email directly, view it on GitHubhttps://github.com/archimatetool/archi/issues/976#issuecomment-1762849323, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BDIQE7NEOC67HOGEJHTOYITX7J2ZVANCNFSM6AAAAAA6AEWSLY. You are receiving this because you authored the thread.Message ID: @.**@.>>


BiZZdesign B.V. is registered with the Trade Register of the Chamber of Commerce under number 821161763. All deliveries of BiZZdesign are subject to our general terms and conditions available via our website stated above. The content of this email is confidential and intended for the recipient specified in message only. It is strictly forbidden to share any part of this message with any third party or anyone else, without a written consent of the sender. If you are not the intended recipient and/or have received this message by mistake, please reply to this message and follow with its deletion, so that we can ensure such a mistake does not occur in the future. BiZZdesign puts the security of its clients and contacts at a high priority. Therefore, we have put efforts into ensuring that the message is error and virus-free. However, BiZZdesign does not accept liability for any damage inflicted by viewing the content of this email. Further please note that the views and opinions included in this email belong to their author and do not necessarily mirror the views and opinions of BiZZdesign. Learn more about our privacy policy here.https://bizzdesign.com/privacy-policy/

Phillipus commented 8 months ago

That is because junctions themselves can be aggregated in composite elements like Grouping. Allowing junctions on compositions or aggregations would become ambiguous if the other end of the composition is such a composite element.

Marc

OK, I'll close this.