SOCS-SI
SOCS-SI is a JAVA-based tool that embeds the SCIFF proof-procedure to perform run-time conformance checking, i.e. to verify whether a concrete execution, represented as a stream of occurring happened event, adheres to a SCIFF specification. It is mainly composed by three core modules:
- Event recorder. It fetches events from an event collector, storing occurring events inside the history manager. Note that new event collectors can be developed and plugged into SOCS-SI.
- History manager. Compose events coming from recorder into a (partial) execution trace.
- Conformance verifier. Exploits the SCIFF proof procedure to concretely perform conformance checking between the model under testing and the execution trace collected so far.
The outcome of the reasoning task performed time-by-time by SCIFF, i.e., pending, fulfilled and violated expectations, are graphically shown to the user, giving a feedback about the current verification status.
In the context of CLIMB, SOCS-SI can be used to perform run-time monitoring of a business process execution or service
interaction w.r.t. model's constraints. In the first case, the main scenario is to check whether the execution adheres
to a set of (CLIMB) business rules, whereas in the second case the purpose is to check if a service composition really
conforms to choreography rules. The latter case is of great interest: indeed, due to the autonomy of services, performing
interoperability verification is not sufficient to guarantee that, at execution time, services will correctly interoperate;
monitoring is therefore necessary.