This is one of the possible Use Cases.
A rule-based reactive organizer is used for planning trips and for automatically react to changes affecting already made plans for its owner.
3. Links to Related Use Cases
Reactive behavior is also needed in the use case Rule-Based Intelligent Guiding.
4. Relationship to OWL/RDF Compatibility
5. Examples of Rule Platforms Supporting this Use Case
The rules involved here can be implemented by using the reactive language XChange, which has been developed as a research project at the Institute for Informatics, University of Munich (more on XChange).
6. Benefits of Interchange
Benefit 1: Business rules need to be interchanged between companies and the personal organizers of their employees.
Benefit 2: Personal organizer's rules need to be migrated to other systems (e.g. in case of changing the system).
7. Requirements on the RIF
- Different kinds of rules (deductive, normative, and reactive rules) should be supported.
- Rules require access to data contained both in events and stored persistently.
8.1. Actors and their Goals
- Ken has a personal organizer that plans his trips and as several reactive rules in place to automatically react to events affecting his itinerary.
- The company Ken is working for has its own business rules (e.g. for travel expenses).
8.2. Main Sequence
Ken is on a business trip attending a conference in Seattle. He uses a personal organizer for planning his trips: the organizer is notified about changes affecting his itinerary (told by the airline, bus, or railway companies) and has rules to automatically react appropriately. While packing, Ken's organizer receives a notification stating that his fight back home is canceled due to rain and he is instead booked for the next day. Fortunately Ken's organizer has (reactive) rules in place to react to this event.
Ken's organizer automatically tries to extend Ken's stay in the hotel. Since for the next night no single rooms are available, Ken is being placed in a more expensive double room. Before the booking is made, the new price is checked against the rules for business trip expenses of Ken's company.
Further the organizer recognizes that Ken's coming home one day late affects its business and private plans. The organizer requests rescheduling of Ken's business meetings on the next day by notifying his business associates. Finally, the organizer reminds Ken to call his girlfriend, Barbie, to postpone their date.
Ken's organizer has several reactive rules in place to automatically react to events affecting his itinerary. For example in the event of a rescheduling of Ken's flight, the following rule extends his overnight stay. Note that the rule requires access to data contained both in events (e.g., flight number, duration of delay) and stored persistently (e.g., the name of the hotel where Ken is staying).
r1: ON rescheduling of flight by X days IF on business trip DO extend overnight stay by X nights
The decision that Ken can stay in a double room is governed by several deductive and normative rules. These rules state restrictions on business trip expenses of Ken's company.
r2: IF traveling alone AND single room available THEN not double room
r3: IF NOT single room available THEN allow double room
r4: IF business trip in city C THEN hotel price less then limit for C OR hotel provided by conference
The price limit for hotel expenses is determined by deductive rules, such as the following ones. Note that the price table may be represented as an XML document or a table in a relational database.
r5: IF city C in Germany THEN hotel price limit = 10 * log10(population(C)) + 50 Euro
r6: IF city C in country L and L != Germany THEN hotel price limit = entry for C and L in price table
Further reactive rules take care of rescheduling Ken's business meetings and remind him of calling his girlfriend, Barbie:
r7: ON delay DO request rescheduling of business meetings
r8: ON delay DO remind Ken to call Barbie
Note that the above reactive rules react to any kind of delay events. Hence deductive rules for events such as the following are needed:
r9: ON flight delay OR flight rescheduling OR train delay DO delay
Taking into consideration the proposed classification of rules (see Classification of Rules), a possible classification of the rules occurring in the given use case is:
- normative rules (r2, r3, r4)
- deductive rules (r5, r6, r9)
- reactive rules (r1, r7, r8)