I have developed a software mechanism which operates on a certain kind of software entities which are called interfaces. If you want technical details about the mechanism you can read this post on StackOverflow, but it should not be necessary in order to understand the question and give an answer.
The mechanism consists of two parts: one performs an operation upon interfaces which could be called multiplexing, and the other performs an operation which could be called demultiplexing. Now, these terms are already used for various other things in the general domain of computers and electronics, so if I were to use them I would have to always be speaking of interface multiplexing and interface demultiplexing, otherwise I would be confusing people. The problem is that these terms are now way too long and cumbersome. I need to come up with simpler terms, preferably unique, so that when people hear them either they realize immediately what I am talking about, or they realize that I am referring to something previously unknown to them, about which they might wish to ask for explanations.
So, I need to give you non-technical descriptions of what these things do, and ask you to help me find better terms. Of course, there is no way to do this but with similes. There are a few similes that I can give, and terms that satisfy any single one of them would be fine. (I do not expect to find a single term that would satisfy more than one simile.)
Simile #1: wires through a tube
The job of the multiplexer is akin to taking a bunch of wires and making them fit into a tube, so that we have a single inconspicuous tube crossing the room instead of a bunch of separate wires dangling around. The job of the demultiplexer is akin to taking the wires out of the other end of the tube and separating them from each other so that we have the wires that we started with. Note that in actual cabling this process usually involves twisting the wires, but for my purposes conveying such a notion is entirely optional, perhaps even slightly undesirable.
Simile #2: generalization-specialization
The job of the multiplexer is akin to taking objects, each one of which is unique in shape, color and function, stripping them of their properties, and making them completely homogeneous and barren of any characteristic features. The job of the demultiplexer is akin to taking these homogenized objects and restoring their properties and their characteristic features back to what they originally used to be.
Simile #3: assembly-disassembly
The job of the multiplexer is akin to taking things and putting them together into conglomerations thereof; the job of the demultiplexer is akin to taking these conglomerations and breaking them down into their constituent parts.
Simile #4: translation
The job of the multiplexer is akin to translating the language that someone speaks to some cipher suitable for transmission, and the job of the demultiplexer is akin to translating from the cipher back to the original language so that someone else can understand it. (But note that cipher/decipher are not applicable because they already mean other things.)
Please consider the fact that I need six terms:
- a synonym for the act of multiplexing.
- a synonym for the performer of the act. (The multiplexer.)
- a synonym for the verb of the act. (To multiplex.)
- a synonym for the act of demultiplexing.
- a synonym for the performer of the act. (The demultiplexer.)
- a synonym for the verb of the act. (To demultiplex.)
(I am mentioning this because someone suggested "fusion" and "fission", which would have been fine if all I needed was names for the acts, but then I tried to think of the corresponding names for the performers and for the verbs for "fusion" and "fission" and I realized that there is a slight problem.)
It goes without saying that the terms need to be as symmetric as possible, preferably even with the same number of letters for each part.
To help to get things started, here are some sets of terms that I have been able to come up with so far. I do not know which, if any, I should choose. You can pick one of these sets, or suggest your own set.
name of action name of performer verb multiplexing: generalizing generalizer generalize demultiplexing: specializing specializer specialize name of action name of performer verb multiplexing: normalizing normalizer normalize demultiplexing: denormalizing denormalizer denormalize name of action name of performer verb multiplexing: entwining entwiner entwine demultiplexing: untwining untwiner untwine name of action name of performer verb multiplexing: enmeshing enmesher enmesh demultiplexing: unmeshing unmesher unmesh name of action name of performer verb multiplexing: enplexing enplexer enplex demultiplexing: deplexing deplexer deplex name of action name of performer verb multiplexing: coalescence coalescer coalesce demultiplexing: separation separator separate name of action name of performer verb multiplexing: twisting twister twist demultiplexing: raveling raveler ravel name of action name of performer verb multiplexing: folding folder fold demultiplexing: unfolding unfolder unfold name of action name of performer verb multiplexing: braiding braider braid demultiplexing: unbraiding unbraider unbraid name of action name of performer verb multiplexing: enlacing enlacer enlace demultiplexing: unlacing unlacer unlace
The answer that I will accept is the one that I will end up using.
I finally decided to call the terms entwine/untwine, and since the software project in which these words are used deals with interfaces, the name of the project is intertwine. If you want to read about it, here it is: michael.gr - Intertwine: Normalizing Interface Invocations