System Analysis Component Exchanges for Physical User Interaction

Hey everyone. I have a scenario where a user is providing material to a machine and retrieving material from a machine. I have functional exchanges respresenting the material going into and out of the system, but I’m not sure what the component exchange should “be”. In examples I see things like HMI’s, pipes, internet, etc. In this case, there’s no real physical connection between the user and system, just passing some physical objects. Should the component exchange just be an in/out object of the same name?


Hi @DuWillia,

At System Analysis, it is desirable to capture interfaces between the System and Actors, to verify that planned functionalities and interactions between them will be possible. It will be possible to define the main data exchanged, as well as actual exchanges and interfaces, and the nature of the physical links to be used.

A Component exchange is considered a behavioural connection between the system and one its external actors, allowing circulation of exchanges items with the same non-functional properties. That is, data flowing of the same type, physical quantities like water, electricity.

In your example if material is of the same type, I believe it can be allocated to the same Component Exchange.

Physical links can be captured in detail when defining the Physical Architecture.

I hope that helps,
Hélder Castro

This thread may give you an indication on how to find appropriate names for your exchanges: Best way for giving name of Functional (and other) Exchanges

Thanks @HelderCastro and @StephaneLacrampe for the advice and references.

So if I’m understanding correctly… the names of exchanges themselves should reflect what is exchanged and it is reasonable to allocate multiple functional exchanges to a single component exchange if the functions exchange similar types of exchange items.

Maybe something like this, assuming the Material 1 and 2 are of the same class, but different instances. Same for tools.

1 Like

Looks good to me.
To draw a parallel (and I understand you’re not in this case), taking the IFE example, at the Physical Architecture level, here is an example of the naming you may find here:

  • Let’s say you have 2 functional exchange, one is named “Movies” And the other “Songs”.
  • These functional exchanges may be allocated to a behaviour component exchange named “Audio and Video Content” (kind of describing the exchange in a “Logical” way
  • This Component exchange may be allocated to a Physical Link named “HDMI Cable”



That is a helpful example, thanks! It actually gives me one more question to help solidfy my understanding here… In my example where the user is providing material and tooling to a machine, there’s not really an obvious “physical link” between the user and the machine such as an HDMI cable between two components of a system. The only physical link that I can think of is the users hands, but modeling that feels a little strange… Do you have any thoughts on an appropriate physical link in this application? Or if there even needs to be one at all?

Hi @DuWillia,

Physical links are best to represent a HDMI cable, a pipe, an electrical cable, data cables, etc.
As you mentioned in your example, there is no physical link between the Operator and the System. Hence, not sure what is the value capturing physical links between operator commands (i.e., behaviour) and System.
I believe behaviour level (i.e., functional and component exchanges) may be the best approach.

You may wish to read further about data and flow in data modelling.

I hope that helps,
Hélder Castro

1 Like

Another helpful reference, thank you! I got caught up thinking that every component exchange would need to be allocated to a physical link, but it sounds like that’s not the case. I agree that there is little value in trying to model a physical link in this example, and that component and functional exchanges should describe the system sufficiently.

Well, I don’t have a definitive answer on this topic, and I agree with the previous comments. But if one of your goal is to manage interfaces between your system and external actors, you may want to make sure that there is actually a physical interface that enables your operator to interact with your machine and enable the material provision. At a minimum, you would probably have a Physical Port on your Physical Node that may represent a “slot” (or something else) where the material is provided by the operator. The other port may be the hand of your operator indeed (or something else, in some complex machines, you may need a tool to provide the material). And the Physical Link may be simply named as the title of your thread: “Physical User Interaction”.

Another example to illustrate that it is not always easy to model Physical links is the case when a system is producing noise (a TV for example) and the user listening to the sound. Do you need to model the physical link that is actually the air or the sound waves in the air. Not sure depending on the goal of your model, but in some cases I feel this is useful.