Ontology Driven Approach for automatic Establishment of Service Level Agreements
We applied our ODACE SLA approach on a case study of a client who is not an expert in IT field. This client wants to download comedy films with a download time less than ten minutes and a maximum price of three euros per film (as described in the clientOnto instance). On the other side, the provider proposes a comedy film gold offer among several other offers. This offer is defined in the ProviderOnto instance by (1) a comedy film type constraint in which the property 'film type' is equal to 'comedy', (2) a comedy film gold price which is equal to two euros per film and (3) a gold throughput constraint (throughput equals to 8 Mbits per second).
We notice that this provider can satisfy the film type constraint and the client price constraint. Concerning the download time constraint, our approach uses the QoS ontology (QosOnto) to estimate the client download time which is equal to the division of the transferred size value by the transfer bandwidth value. This provider has films of 300 MB. Therefore, he can satisfy all the client constraints which are: DownloadTimeConstraint, PriceConstraint, and FilmTypeConstraint (in clientOnto). Consequently, our tool generates a complete SLA automatically. The property of each client constraint is transformed to an SLAParameter in the generated SLA. Each parameter is attached to a set of metrics in two possible ways: directly from the provider (the case of PriceParameter for example) or indirectly using the QoS ontology (the case of DownloadTimeParameter).
To give an idea about the generated results of our ODACE SLA approach, we present some samples of correspondences before and after the stabilization step. We notice that the stabilization process produces very good global results. However, we noticed that there are some values that should decrease after the stabilization but they increased (like the [filmType, SearchFilmService] correspondence). This is mainly due to the high certainties of the adjacent correspondences. It is important to mention that this increased difference is minimal and does not affect the constraint evaluation step which is the most important part of our matching process. In these values, the evidence correspondences having a '1' certainty are kept as they are. Consequently, they are not included in the stabilization process. They can influence their adjacent correspondences but they can't be influenced (like the evidence correspondence [FilmType, FilmType]).
Overall, the precision of the resulting correspondences of our approach is very promising (93% in our case study). This precision is calculated using the following formula: Precision=|TP|/|TP+FP| where TP and FP are the count of true positive and false positive correspondences compared with the human evaluations. The complexity of our matching approach is about O(c*p) where 'c' and 'p' are respectively the terms count of the client intention ontology instance and the provider offers ontology instance. In our case study, the number of client terms is 23 (c=23) and the number of provider terms is 70 (p=70). To reduce this complexity, we have defined some stop terms (like 'the', 'of' etc) and excluded classes (like the 'ClientIdentity' and the 'ProviderIdentity' classes) in the two models. These terms and classes do not affect the matching result and reduce the terms count of the client intention and the provider offers.