What is a transfer function?

374 Views Asked by At

If:

  • $N$ is a set of nodes in a program dependence graph, which is a graph with two type of edge
  • $L$ is a lattice of security levels

What does the following mean:

"For every $x\in N$, a so-called transfer function $f_{x}:L\rightarrow L$ must be defined". Of specific interest is what the notation $f_{x}$ represents, and understanding the purpose/definition of a transfer function.

Furthermore, in this context what does this mean:

"The theory demands that all $f_{x}$ are monotone."

I am having a hard time determining what "monotone" means, possibly because I don't understand the notation $f_{x}$.

The text I'm referring to can be found in the third and fourth paragraphs of section 4.2 of this document. It is related to the computer science concept "monotone data flow analysis framework."

1

There are 1 best solutions below

0
On BEST ANSWER

The notation $f_x$ denotes a separate function specified at each node $x$. For each $x$, the transfer function $f_x$ of node $x$ must be monotone. On this, see e.g. Wikipedia. The condition for monotonicity is $x\le y\implies f(x)\le f(y)$. If you think of lattices as algebraic structures rather than partial orders, see, again, Wikipedia for the connection.

As regards the "transfer function": This term is being used in a way specific to this field; you'll need to understand the theory to understand why they call it that; it doesn't correspond to any general mathematical usage. It sounds as if the reference [$29]$ should explain the term, but I don't know, since it's not freely available.