Etalis PDF Print E-mail

 

Is also an open source. Its rule language is based on Logic programming as see in the follwing snippet:

exceptionAlarm(startAssignment(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime),Time):-
delivery_request_enriched(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime,_MinRank) where (start_assignment_time(Time)). % exceptionAlarm does not consume "delivery_request_enriched"
print_trigger(startAssignment/4).

% The assignment is either an automatic or a manual process, depending on the store's preference.
% start_automaticAssignment/4
start_automaticAssignment(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime):-
startAssignment(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime) where store_record(StoreId,_MinRank,automatic).
print_trigger(start_automaticAssignment/4).

% If the process is automatic then the first bidder among the selected drivers wins the bid.
% The pickup time and delivery time are set and the Assignment event is sent to the driver.
% assignment/6
% assignment(+DeliveryRequestId,+StoreId,+ToCoordinates,+DeliveryTime,+DriverId,+ScheduledPickupTime)

consumable_pick_first(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime,MinRank):-
delivery_request_enriched(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime,MinRank) where store_record(StoreId,_MinRank,automatic).
print_trigger(consumable_pick_first/5).

assignment(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime,DriverId,ScheduledPickupTime):-
((consumable_pick_first(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime,MinRank) seq
delivery_bid(DeliveryRequestId,DriverId,CurrentCoordinates,ScheduledPickupTime) ) seq
start_automaticAssignment(DeliveryRequestId,StoreId,ToCoordinates,DeliveryTime)).
% ) fnot no_bid_alert(DeliveryRequestId) % this line can be added in the code to specify that no bids are accepted after timeout (it's not addresed in the specification)
% we do phase 5 separatelly as different events to show the different phase, but it can also be done in this step
%where ( ScheduledPickupTime=datime(Y,M,D,_,_,_), incCounter(assignments(DriverId,date(Y,M,D))), counter(assignments(DriverId,date(Y,M,D)),Count), write(Count),nl).
print_trigger(assignment/6).
Here is the link where you could find information about ETALIS implementation.
 
< Prev   Next >

Latest News

Deadline Extensions Announced

The Event Processing Technical Society in conjunction with the OMG Event Processing Community of Practice is sponsoring two competitions:An Innovative Event Processing Principles Contest. The contest ...
Read More ...

ACM DEBS 2011 Call for Tutorials

               Extended Deadline March 14, 2011 (23.59 GMT) The ACM DEBS (Distributed Event Based System) is the flagship conference of the event-based systems...
Read More ...

EPTS Presents Innovative Application Contest

  Event Processing Technical Society (EPTS) Presents Innovative Event Processing Application Contest   The Event Processing Technical Society in collaboration with the OMG Event Processing...
Read More ...

EPTS Presents Innovative Principles Contest

  Event Processing Technical Society (EPTS) Presents 2010 Innovative Event Processing Principles Contest   The Event Processing Technical Society is sponsoring an Innovative Event Processi...
Read More ...

New Paper: Integrating Complex Events for Collaborating and Dynamically Changing Business Processes

Integrating Complex Events for Collaborating and Dynamically Changing Business Processes Abstract: Business processes must become agile, respond to changes in the business environment in a timely ma...
Read More ...

Upcoming EPTS Related Events

Links

Link to us

RocketTheme Joomla Templates