ietf-openproxy
[Top] [All Lists]

Re: P: single assignment semantics

2003-10-28 08:43:31

Alex Rousskov wrote:
While IRML does not have assignments, it does evaluate expressions. I
wonder if there is an implicit or explicit guarantee that the same
property is evaluated to the same value before and after a delay (such
as service execution). Does IRML assume that all properties are known
and "constant" just before the script is interpreted?

In the current IRML draft we require that IRML interpreters re-evaluate rule conditions and the referenced message property values after each service execution. As you pointed out, message properties and in particular message header values can change as a result of service executions. A content adaptation service, for example, may modify the content type and subsequent service operations may not make sense any more once the content type of a message has changed. So I don't believe we can assume that all properties are constant while we evaluate a set of rules for a given message. On the other hand, such a requirement would rule out certain performance optimizations. When we discussed this issue a while ago, somebody proposed to divide OPES services into those that may modify message header values (e.g. a content adaptation service) and those that won't (e.g. a logging service) and optimize the rule processing based on this knowledge.

-Andre