예제 #1
0
        private static Func <int> DeepIncrementalAlt(ISystemAllocation allocation)
        {
            var query    = DeepContainerAnalysis.GetFaultyContainers2(allocation);
            var queryInc = Observable.Expression(() => query.Count());

            return(() => queryInc.Value);
        }
예제 #2
0
        private static Func <int> DeepBatch(ISystemAllocation allocation)
        {
            var query = DeepContainerAnalysis.GetFaultyContainers(allocation);

            return(() => query.Count());
        }
 public static IEnumerable <Tuple <IAssemblyContext, IAssemblyContext> > GetFaultyContainers2Enumerable(ISystemAllocation allocation)
 {
     return(from ass in allocation.GetSystemArchitecture().AssemblyContexts.AsEnumerable()
            let container = allocation.GetAssemblyContextsValue(ass)
                            from req in ass.ReferencedElements.OfType <IAssemblyContext>()
                            where allocation.GetAssemblyContextsValue(req) != container &&
                            !allocation.Environment.Links.Any(
                l => l.Connects.Contains(container) &&
                l.Connects.Contains(allocation.GetAssemblyContextsValue(req)))
                            select Tuple.Create(ass, req));
 }
 public static IEnumerable <Tuple <IAssemblyContext, IRequiredInterface> > GetFaultyContainersEnumerable(ISystemAllocation allocation)
 {
     return(from ass in allocation.GetSystemArchitecture().AssemblyContexts.AsEnumerable()
            let container = allocation.GetAssemblyContextsValue(ass)
                            from req in ass.GetComponentType().RequiredInterfaces
                            where allocation.GetAssemblyContextsValue(ass.GetRequiredInterfacesValue(req)) != container &&
                            !allocation.Environment.Links.Any(
                l => l.Connects.Contains(container) &&
                l.Connects.Contains(allocation.GetAssemblyContextsValue(ass.GetRequiredInterfacesValue(req))))
                            select Tuple.Create(ass, req));
 }