/** * Copyright 2014 Liverpool John Moores University <http://www.ljmu.ac.uk/cmp/> * Aniketos Project FP7-ICT-257930 <http://www.aniketos.eu> * David Llewellyn-Jones <D.Llewellyn-Jones@ljmu.ac.uk> * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 3 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library. If not, see <http://www.gnu.org/licenses/>. * */ package eu.aniketos.ncvm; import eu.aniketos.data.ICompositionPlan; import eu.aniketos.data.IConsumerPolicy; /** * Recursively call other services to determine whether a policy applies to it * Performs the task of deconstructing a service into its subservices in order * to select the correct module to invoke for verification. * @author LJMU/David Llewellyn-Jones * */ public interface INestedCompositionVerification { /** * Performs recursive decomposition of a service and invokes either the * CSVM, PVM or SPDM depending on the result in order to verify whether * the policy holds for the service. * @param service the service to check the policy agains * @param policy the policy to check against the service * @return a value representing the result of the verification checks */ public IVerificationResult verifyProperty(ICompositionPlan service, IConsumerPolicy policy); public IVerificationResult verifyPropertyDeployed(String serviceID, IConsumerPolicy policy); public void configureNCVMFeedback(String wsdlUrl, boolean useTracker); public void configureCSVM(String wsdlUrl, boolean useTracker); public void configurePVM(String wsdlUrl, boolean useTracker); public void configureSPDM(String wsdlUrl, boolean useTracker); public void configureMarketplace(String wsdlUrl, boolean useTracker); public void performTests (); }