This is one of the possible Use Cases.
1. Abstract
In many email client/server systems, a user can define her own rules so as to automatically process incoming and outgoing messages. When a user switches to another email system it would be desirable to be able to interchange the rules between these systems using a rule interchange format.
2. Status
The use case has been proposed by REWERSE to the RIF WG participants as use case 'Rule-based email manipulation'.
3. Links to Related Use Cases
The main idea of the use case described here is portability of rules, same as in use case Portability.
4. Relationship to OWL/RDF Compatibility
5. Examples of Rule Platforms Supporting this Use Case
- Rules needed for automated message processing can be specified by using the rule module of Microsoft Outlook. Though, functionalities that go beyond Microsoft Outlook are desirable (see Requirements on the RIF).
- What is really missing for realizing this use case is the RIF.
6. Benefits of Interchange
Benefit 1: This use case clearly motivates the need for a rule interchange format since rules expressing policies are to be exchanged between parties engaged in negotiations.
7. Requirements on the RIF
- Different kinds of rules (deductive, normative, and reactive rules) should be supported.
- Functionalities that go beyond Microsoft Outlook are desirable:
- user-defined functions for conditions, e.g. for deleting emails which are recognized as spam (by some user-defined, external function) with a probability; an important role would play procedural attachments for e.g. information retrieval services
- user-defined actions that need to be interchanged between systems
conflict resolution, e.g. one rule matching for sender containing string 'Paula' and another matching domain '@ifi.lmu.de', each with different actions; how to react to an incoming message from 'Paula.Patranjan@ifi.lmu.de'?
- access to persistent data, e.g. vacation calendars.
8. Breakdown
8.1. Actors and their Goals
- Person using an email client and having rules for a personalized manipulation of incoming and outcoming messages
8.2. Main Sequence
9. Narratives
In Microsoft Outlook, for example, rules are used for automated message processing. The rule module is called 'Rule Wizard'. A Microsoft Outlook rule can be specified for incoming or for outgoing messages. It consists of a set of conditions referring to the message and its parameters, and of a set of actions. The specified conditions determine the messages the rule applies to. Negative conditions are called "exceptions".
The specified actions may do something with a qualifying message, such as moving it to a specific folder or deleting or printing it, or they may do things like playing a specific sound, starting a specific application or sending a reply message.
So, there are two basic event types, i.e. incoming message (Inmsg) and outgoing message (Outmsg) and many action types.
A condition is a conjunction of atomic and negated ('except') atomic conditions, where an atomic condition is a substring relation or a string equality involving string constants and the parameters of a message (such as ?To, ?From, ?Cc, ?Body). Thus, Outlook rules are reactive (or Event-Condition-Action) rules, having one of the following forms:
r1: ON Inmsg(?To, ?From, ?Cc, ?Body) IF some condition involving ?To, ?From, ?Cc, ?Body holds DO some action
r2: ON Outmsg(?To, ?Cc, ?Body) IF some condition involving ?To, ?Cc, ?Body holds DO some action
To ease the use of rules, Microsoft Outlook provides a natural language template interface for specifying rules.
10. Commentary
Both rules, r1 and r2, can be implemented as reactive rules.