private void GenerateMainThread() { //------------------------------------------------------------------------------------------------------- // set the host and engine properties var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.ModuleCode = ModuleCode; host.Params.DllDirection = Application.StartupPath; GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "PAT.Main.ptt"), null, "csproj", 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "OutputDockingWindow.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "FormMain.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "FormMain.resx.ptt"), "FormMain", "resx", 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "FormMain.Designer.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "ErrorListWindow.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "ErrorListWindow.resx.ptt"), "ErrorListWindow", "resx", 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "EditorTabItem.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainDirection, "Program.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainPropertiesDirection, "BitmapResources.ptt"), null, "resources", 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainPropertiesDirection, "StringResources.ptt"), null, "resources", 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainPropertiesDirection, "Resources.Designer.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateMainPropertiesDirection, "Resources.ptt"), null, "resx", 1); GenerateFileAsDefault(host, engine, Path.Combine(templateRootDirection, "PAT3 Source.ptt"), null, "sln", 1); }
private void GenerateAssertionThread() { //------------------------------------------------------------------------------------------------------- // set the host and engine properties var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "DataStore.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "Assertion.ptt"), null, null, 1); if (assertionDeadlock) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionDeadLock.ptt"), ModuleCode + "AssertionDeadLock", null, 1); } if (assertionDeterminism) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionDeterminism.ptt"), ModuleCode + "AssertionDeterminism", null, 1); } if (assertionDivergence) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionDivergence.ptt"), ModuleCode + "AssertionDivergence", null, 1); } if (assertionLTL) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionLTL.ptt"), ModuleCode + "AssertionLTL", null, 1); } if (assertionReachability) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionReachability.ptt"), ModuleCode + "AssertionReachability", null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionReachabilityWith.ptt"), ModuleCode + "AssertionReachabilityWith", null, 1); } if (assertionRefinement) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionRefinement.ptt"), ModuleCode + "AssertionRefinement", null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionRefinementF.ptt"), ModuleCode + "AssertionRefinementF", null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionRefinementFD.ptt"), ModuleCode + "AssertionRefinementFD", null, 1); } }
private void GenerateCSPROJThread() { var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.DllDirection = Application.StartupPath; host.Params.Classes = solutionClasses; host.Params.ModuleCode = ModuleCode; host.Params.EmbeddedResource = Path.GetFileName(destModuleIconPath); GenerateFileAsDefault(host, engine, Path.Combine(templateHomeDirection, "Project.ptt"), "PAT.Module." + ModuleCode, ".csproj", 1); }
private void GenerateUltilityThread() { //------------------------------------------------------------------------------------------------------- // set the host and engine properties var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; GenerateFileAsDefault(host, engine, Path.Combine(templateUltilityDirection, "Ultility.ptt"), null, null, 1); }
private void GenerateBaseThread() { var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; host.Params.EmbeddedResource = Path.GetFileName(destModuleIconPath); GenerateFileAsDefault(host, engine, Path.Combine(templateHomeDirection, "Syntax.ptt"), null, ".xshd", 1); GenerateFileAsDefault(host, engine, Path.Combine(templatePropertiesDirection, "AssemblyInfo.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateHomeDirection, "ModuleFacade.ptt"), null, null, 1); }
private void GenerateCustomThread() { var host = new CustomerHost(); var engine = new Engine(); host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.Namespace = solutionModuleCode; if (customSyntax != null && customSyntax.Count != 0) { foreach (var syntax in customSyntax) { host.Params.ClassName = syntax; GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "CustomSyntax.ptt"), syntax, null, 1); } } }
private void GenerateLTSThread() { //------------------------------------------------------------------------------------------------------- // set the host and engine properties var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; // var directory = new DirectoryInfo(templateLTSDirection); // var files = new List<FileInfo>(); // files.AddRange(directory.GetFiles()); // // foreach (var file in files) // { // GenerateFileAsDefault(host,engine,file.Name,null,null); // } if (templateLTSDirection.Contains("MDP")) { GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "PCaseProcess.ptt"), null, null, 1); } string templateLTSDirectionSample = Path.Combine(templateLTSDirection, "Sample"); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Assertion.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "AtomicProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "CaseProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ChannelInput.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ChannelInputGuarded.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ChannelOutput.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ConditionalChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ConditionalChoiceAtomic.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ConditionalChoiceBlocking.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "DataOperationPrefix.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "EventPrefix.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "GuardProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Hiding.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexedProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexExternalChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexInterleave.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexInterleaveAbstract.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexInternalChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexParallel.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Interrupt.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Sequence.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Skip.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Stop.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Process.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Definition.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "DefinitionRef.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Configuration.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "ConfigurationWithChannelData.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Specification.ptt"), null, null, 1); }
/// <summary> /// Generate a default extension(".cs") file without renaming /// </summary> /// <param name="host"></param> /// <param name="engine"></param> /// <param name="fileName"></param> /// <param name="aliasName"></param> /// <param name="extension"></param> private void GenerateFileAsDefault(CustomerHost host, Engine engine, string fileName, string aliasName, string extension, int retryCount) { // if the extension is not null, then specify the output file extension // else use the default value(.cs) as the output file extension host.TemplateFileValue = fileName; if (extension != null) { host.SetFileExtension(extension); } string inputFileStreamName = fileName.Replace(templateRootDirection, "").TrimStart('\\').Replace('\\', '.'); // if the aliasName is not null, then specify the output file as the alias name // else use the input file name(exclude the extension) as the fileName string outputFileName = aliasName ?? Path.GetFileNameWithoutExtension(fileName); // how to determine the output file's direction? // if the text template exists in the Assertion folder,then put the // output file to the Assertion folder, and if it exists in LTS folder, // put the output file to LTS folder, and so on // if the input file direction is null, then we define it "" string inputFileDirection = Path.GetDirectoryName(fileName) ?? string.Empty; string outputFileDirection; if (inputFileDirection.EndsWith("Main")) { outputFileDirection = solutionMainDirection; } else if (inputFileDirection.Contains("Main\\Properties")) { outputFileDirection = solutionMainPropertiesDirection; } else if (inputFileDirection.Contains("Properties")) { outputFileDirection = solutionPropertiesDirection; } else if (fileName.Contains("Assertions")) { // the assertions direction outputFileDirection = solutionAssertionDirection; } else if (fileName.Contains("Sample")) { // the LTS direction outputFileDirection = solutionLtsSampleDirection; } else if (fileName.Contains("LTS")) { // the LTS direction outputFileDirection = solutionLtsDirection; } else if (fileName.Contains("Ultility")) { // the ultility direction outputFileDirection = solutionUltilityDirection; } else if (fileName.EndsWith("PAT3 Source.ptt")) { // the ultility direction outputFileDirection = solutionRootDirection; } else { // if none of above, then put the output file to the home direction outputFileDirection = solutionHomeDirection; } outputFileName = Path.Combine(outputFileDirection, outputFileName) + host.FileExtension; Assembly myAssembly = Assembly.GetExecutingAssembly(); Stream myStream = myAssembly.GetManifestResourceStream("PAT.GUI.Docs.Template." + inputFileStreamName); if (extension == "resources") { byte[] buf = new byte[myStream.Length]; //declare arraysize myStream.Read(buf, 0, buf.Length); // read from stream to byte array File.WriteAllBytes(outputFileName, buf); } else { StreamReader reader = new StreamReader(myStream); string text = reader.ReadToEnd(); // use the engine to transfor the template string output = engine.ProcessTemplate(text, host); // write the generated file into the output file specified before // use the encoding style set in host File.WriteAllText(outputFileName, output, host.FileEncoding); } // after the generate, add the classes in the local classes field which will be used to // generate the .csproj file if (!inputFileDirection.Contains("\\Main") && !fileName.EndsWith("PAT3 Source.ptt") && retryCount == 1) { solutionClasses += outputFileName.Replace(solutionHomeDirection, "").TrimStart('\\') + "|"; } // reset the host extension property host.ResetFileExtension(); if (host.Errors.Count > 0) { if (retryCount <= RetryBound) { GenerateFileAsDefault(host, engine, fileName, aliasName, extension, retryCount + 1); } else { foreach (var error in host.Errors) { MessageBox.Show( string.Format("File[{0}] is Generated unsuccessfully for: {1}", outputFileName, error), Common.Utility.Utilities.APPLICATION_NAME, MessageBoxButtons.OK); } } } }
private void GenerateLTSThread() { //------------------------------------------------------------------------------------------------------- // set the host and engine properties var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; // var directory = new DirectoryInfo(templateLTSDirection); // var files = new List<FileInfo>(); // files.AddRange(directory.GetFiles()); // // foreach (var file in files) // { // GenerateFileAsDefault(host,engine,file.Name,null,null); // } if(templateLTSDirection.Contains("MDP")) { GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "PCaseProcess.ptt"), null, null, 1); } string templateLTSDirectionSample = Path.Combine(templateLTSDirection, "Sample"); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Assertion.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "AtomicProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "CaseProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ChannelInput.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ChannelInputGuarded.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ChannelOutput.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ConditionalChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ConditionalChoiceAtomic.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "ConditionalChoiceBlocking.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "DataOperationPrefix.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "EventPrefix.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "GuardProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Hiding.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexedProcess.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexExternalChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexInterleave.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexInterleaveAbstract.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexInternalChoice.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "IndexParallel.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Interrupt.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Sequence.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Skip.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirectionSample, "Stop.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Process.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Definition.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "DefinitionRef.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Configuration.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "ConfigurationWithChannelData.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateLTSDirection, "Specification.ptt"), null, null, 1); }
/// <summary> /// Generate a default extension(".cs") file without renaming /// </summary> /// <param name="host"></param> /// <param name="engine"></param> /// <param name="fileName"></param> /// <param name="aliasName"></param> /// <param name="extension"></param> private void GenerateFileAsDefault(CustomerHost host, Engine engine, string fileName, string aliasName, string extension, int retryCount) { // if the extension is not null, then specify the output file extension // else use the default value(.cs) as the output file extension host.TemplateFileValue = fileName; if(extension != null) { host.SetFileExtension(extension); } string inputFileStreamName = fileName.Replace(templateRootDirection, "").TrimStart('\\').Replace('\\', '.'); // if the aliasName is not null, then specify the output file as the alias name // else use the input file name(exclude the extension) as the fileName string outputFileName = aliasName ?? Path.GetFileNameWithoutExtension(fileName); // how to determine the output file's direction? // if the text template exists in the Assertion folder,then put the // output file to the Assertion folder, and if it exists in LTS folder, // put the output file to LTS folder, and so on // if the input file direction is null, then we define it "" string inputFileDirection = Path.GetDirectoryName(fileName)??string.Empty; string outputFileDirection; if (inputFileDirection.EndsWith("Main")) { outputFileDirection = solutionMainDirection; } else if (inputFileDirection.Contains("Main\\Properties")) { outputFileDirection = solutionMainPropertiesDirection; } else if (inputFileDirection.Contains("Properties")) { outputFileDirection = solutionPropertiesDirection; } else if (fileName.Contains("Assertions")) { // the assertions direction outputFileDirection = solutionAssertionDirection; } else if (fileName.Contains("Sample")) { // the LTS direction outputFileDirection = solutionLtsSampleDirection; } else if (fileName.Contains("LTS")) { // the LTS direction outputFileDirection = solutionLtsDirection; } else if (fileName.Contains("Ultility")) { // the ultility direction outputFileDirection = solutionUltilityDirection; } else if (fileName.EndsWith("PAT3 Source.ptt")) { // the ultility direction outputFileDirection = solutionRootDirection; } else { // if none of above, then put the output file to the home direction outputFileDirection = solutionHomeDirection; } outputFileName = Path.Combine(outputFileDirection, outputFileName) + host.FileExtension; Assembly myAssembly = Assembly.GetExecutingAssembly(); Stream myStream = myAssembly.GetManifestResourceStream("PAT.GUI.Docs.Template." + inputFileStreamName); if (extension == "resources") { byte[] buf = new byte[myStream.Length]; //declare arraysize myStream.Read(buf, 0, buf.Length); // read from stream to byte array File.WriteAllBytes(outputFileName, buf); } else { StreamReader reader = new StreamReader(myStream); string text = reader.ReadToEnd(); // use the engine to transfor the template string output = engine.ProcessTemplate(text, host); // write the generated file into the output file specified before // use the encoding style set in host File.WriteAllText(outputFileName, output, host.FileEncoding); } // after the generate, add the classes in the local classes field which will be used to // generate the .csproj file if (!inputFileDirection.Contains("\\Main") && !fileName.EndsWith("PAT3 Source.ptt") && retryCount == 1) { solutionClasses += outputFileName.Replace(solutionHomeDirection, "").TrimStart('\\') + "|"; } // reset the host extension property host.ResetFileExtension(); if (host.Errors.Count > 0) { if (retryCount <= RetryBound) { GenerateFileAsDefault(host, engine, fileName, aliasName, extension, retryCount + 1); } else { foreach (var error in host.Errors) { MessageBox.Show( string.Format("File[{0}] is Generated unsuccessfully for: {1}", outputFileName, error), Common.Utility.Utilities.APPLICATION_NAME, MessageBoxButtons.OK); } } } }
private void GenerateAssertionThread() { //------------------------------------------------------------------------------------------------------- // set the host and engine properties var host = new CustomerHost(); var engine = new Engine(); // specify the parameter values in the template // this can use session if .Net 4.0 is supported! host.Params.ModuleName = solutionModuleName; host.Params.ModuleName = solutionModuleName; host.Params.Namespace = solutionModuleCode; host.Params.AssertionsNamespace = assertionsNamespace; host.Params.LtsNamespace = ltsNamespace; host.Params.UltilityNamespace = ultilityNamespace; host.Params.ModuleCode = ModuleCode; GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "DataStore.ptt"), null, null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "Assertion.ptt"), null, null, 1); if(assertionDeadlock) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionDeadLock.ptt"), ModuleCode + "AssertionDeadLock", null, 1); } if(assertionDeterminism) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionDeterminism.ptt"), ModuleCode + "AssertionDeterminism", null, 1); } if(assertionDivergence) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionDivergence.ptt"), ModuleCode + "AssertionDivergence", null, 1); } if(assertionLTL) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionLTL.ptt"), ModuleCode + "AssertionLTL", null, 1); } if (assertionReachability) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionReachability.ptt"), ModuleCode + "AssertionReachability", null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionReachabilityWith.ptt"), ModuleCode + "AssertionReachabilityWith", null, 1); } if(assertionRefinement) { GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionRefinement.ptt"), ModuleCode + "AssertionRefinement", null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionRefinementF.ptt"), ModuleCode + "AssertionRefinementF", null, 1); GenerateFileAsDefault(host, engine, Path.Combine(templateAssertionsDirection, "AssertionRefinementFD.ptt"), ModuleCode + "AssertionRefinementFD", null, 1); } }