#pragma once #include namespace wfr { namespace resource { class Resource; class ComputingResourceType; class ComputingResource; class ResourceManager; } namespace prediction { class PredictionService { public: virtual ~PredictionService() {} virtual ExecutionTimeResult predictExecutionTime(wfs::ActivityInstance& instance, wfs::AtomicActivityImplementation& implementation, resource::ComputingResourceType& resourceType, const wfr_size_t& slots = 1) = 0; virtual CommunicationTimeResult predictCommunicationTime(wfs::ActivityInstance& srcInstance, resource::ComputingResource& srcResource, wfs::ActivityInstance& destInstance, resource::ComputingResource& destResource) = 0; }; } /* namespace prediction */ } /* namespace wfr */