better ways to describe sender/receiver roles for protocols?

Thread Starter

MTech1

Joined Feb 15, 2023
181
Hi,

I’ve question about communication protocols like UART, SPI, and I2C, and I’ve noticed different ways people describe the interaction between the sender and receiver. I’m trying to understand which terms are technically correct in different contexts.

For example:
1. "The sender sends data, and the receiver reads it."

2. "The sender sets the line HIGH/LOW, and the receiver monitors it."

3. "The sender writes information, and the receiver reads it."

Each phrase seems valid. I’d like to hear from you:

What do you think, which of these terms is more correct for technical discussions?

What do you think, What are better ways to describe sender/receiver roles for these protocols?
 

BobTPH

Joined Jun 5, 2013
11,488
I see no problem with the usages you list.

What defines the sender and receiver, conceptually, is the direction the information flows.
 

Art Vandelay

Joined Nov 1, 2024
140
I think it comes down to expressing an algorithm so it is semantically meaningful to all readers.

Given that (human) language is so complex, there are many, perhaps infinite ways to convey the same core information.

One way of looking at this is to identify redundancy among other inefficiencies in a logical statement or argument. For example, in your first sentence, you said: "The sender sends data...". Can we not just say "Data is sent"? Who else could have sent the data besides the sender? Likewise, it's inductively true that only the receiver can receive the data. By using additional words like "Sender sent", we add unnecessary information to the payload being transferred from my brain to yours. Of course we didn't define "sender" or "receiver" which raises even more problems! Thankfully social convention allows us to have at least some shared notion of the terms without being explicitly defined in each and every conversation.

It gets worse because you get folks like me to like to compress their speech. As a primitive example, take the statement "What are you doing?". This can be compressed to less letters with "What's up?" then to "Sup?". Certainly some information is lost in the compression but the same basic idea is conveyed which is why I think slang is so powerful in society. On the other hand, you'll get people who refuse to accept "Sup?" and consider it an invalid method of communication which can be a mistake.

When in doubt, I try to simplify my speech whenever possible as well as locally define important terms. If the algorithm still cannot be communicated at this point, it is effectively a heuristic because the other people have to ask questions (by trial and error) to figure out what I really meant.

Getting back to your question, I don't think there is any right or wrong way as long as the algorithm (or pseudocode) is clearly defined. This is my take on the issue but I could be wrong.
 

Papabravo

Joined Feb 24, 2006
22,070
The roles of "sender" and "receiver" only apply to a one way transaction. It may be more helpful to think about nodes on a network being producres and consumers of information or messages. It is possible for nodes to be consumers only and producers only. It is also possible for them to be both at the same time especially if full duplex transmission and reception are possible.
 

WBahn

Joined Mar 31, 2012
32,777
Each is valid and there are many other valid ways of expressing the same concepts.

The terminology and phrasing that is "best" depends on the context, intent, depth, and emphasis of the discussion, as well as the intended audience. So consider each of those factors (and any others that seem relevant) and decide what is most likely to achieve your goals most effectively. For the most part, there is a lot of wiggle room in that decision, particularly if you make it clear what you mean by your terms and are consistent in their use.
 
Top