PEP conflicting semantics

One issue which is not addressed within PEP is what should happen when
there are  semantic conflicts between PEP extensions.

As a motivating example, consider if there are two extensions implemented
on the same server.  One is a "lock" extension, which includes LOCK and
UNLOCK methods, where a lock means that a PUT on an entity is restricted to
the owner of the lock.  The other is a "metadata" extension, which includes
methods for creating, modifying, reading, and querying attribute-value
pairs on entities.  The semantic conflict arises when one agent uses only
the lock extension to lock an entity, and another agent uses the only the
metadata extension and goes to create a new attribute on the same (locked)
entity.  Should the lock extension take precedence, and prevent the
creation of the attribute?  Or should the metadata extension be more
important, and cause the creation of the attribute despite the existence of
a lock?  Furthermore, what if different server implementations answer these
questions differently?

It seems there should be a way for agents to discover if there are
potential conflicts, thus allowing it to warn a user that the effects of an
extension might be unpredictable.  It should also be possible for a user to
discover what extensions are active, even if their agent cannot
intelligently handle them.

- Jim

Received on Friday, 6 September 1996 09:06:17 UTC