예제 #1
0
		protected OrderAnalysisResults AnalyzeOrder(Formula hazard, params IComponent[] components)
		{
			var configuration = AnalysisConfiguration.Default;
			configuration.StateCapacity = 1 << 10;
			configuration.TransitionCapacity = 1 << 12;
			configuration.GenerateCounterExample = !SuppressCounterExampleGeneration;
			configuration.ProgressReportsOnly = true;

			var analysis = new OrderAnalysis(DccaWithMaxCardinality(hazard, Int32.MaxValue, components), configuration);
			analysis.OutputWritten += message => Output.Log("{0}", message);

			var result = analysis.ComputeOrderRelationships();
			Output.Log("{0}", result);

			return result;
		}
예제 #2
0
		/// <summary>
		///   Computes the order relationships for all minimal critical fault sets contained in the
		///   <paramref name="safetyAnalysisResults" />.
		/// </summary>
		/// <param name="safetyAnalysisResults">The results of the safety analysis the order relationships should be computed for.</param>
		/// <param name="configuration">The configuration settings of the model checker that should be used.</param>
		public static OrderAnalysisResults ComputeOrderRelationships(SafetyAnalysisResults safetyAnalysisResults,
																	 AnalysisConfiguration configuration)
		{
			var analysis = new OrderAnalysis(safetyAnalysisResults, configuration);
			return analysis.ComputeOrderRelationships();
		}