ComMon is a tool for the runtime monitoring of business interactions. It tracks a running interaction, traced by means of event occurrences, showing the evolution of commitments (mutual obligations) that are established by the interacting stakeholders. More specifically, ComMon is composed of:
- an Event Calculus-based axiomatization of the commitments' lifecycle and the operations for manipulating commitments; the axiomatization stems from the seminal paper of Pinar and Singh (Flexible Protocol Specification and Execution: Applying Event Calculus Planning using Commitments), and extends it by supporting also data and (existential and universal) timed commitments, i.e., commitments related to a property that must be brought about inside some time interval, or uninterruptedly maintained true along some time interval;
- jREC as the underlying dynamic reasoner.
A description of the framework can be found in the papers Monitoring Time-Aware Social Commitments with Reactive Event Calculus and Social Commitments in Time: Satisfied or Compensated.
A tester application for ComMon, based on the jREC Tester, is available as attachment at the bottom of this page. The tester is organized in three panels:
meta model - containing the Event Calculus formalization of the lifecycle of timed commitments,
model - containing a list of facts representing the specific commitment model to be monitored,
run - the panel for delivering event occurrences and see the outcome. See the sample content to have a grasp about the approach (also a file
trace.txt is provided to show a sample trace)
Moreover, below we provide the Prolog source code we used to benchmark our monitor application. To run the benchmark , you will need YAP. Within the zip file, you will find Prolog files that already contains the instances as well as the program. Simply consult the chosen file and execute the query "run" at the Prolog interpreter.