In my opinion:
Assignment means “who performs the behaviour”. If you assign all 4 AC’s to the ‘calculate’ behaviour, you have modelled some sort of implicit collaboration. You could even use an AND Junction to make it more explicit.
For me, it depends on how B, C and D contribute. If these are separately running processes providing a service, say a RESTful service, I would use the Serving relations. But I would model B, C, D as Services, that serve the calculation function. Using the Assignment creates unnecessary abstraction in your model, I think.
Notye: if you let the function be served by Application Components, it is correct, but it is ugly IMO, because you mix ’separation of active and behaviour’ with ’non-separation’. There are many patterns possible, but I would use the same pattern for A that I also use for B, C, and D.
G
PS. All of this could have been stated more clearly but this wa sa quickie.