{
  "segmentationGroupRef" : "DotNetModernizationPortfolioAdvisor",
  "name" : ".Net Modernization Portfolio Advisor",
  "description" : "This Portfolio Advisor segments .Net applications based on the need and the complexity of migrating them to the latest version of .NET (compatible with Linux/ARM architecture).",
  "segments" : [ {
    "segmentRef" : "DotNetMigrationEasy",
    "name" : "Low modernization complexity of legacy C# applications",
    "description" : "Small C# applications using legacy .NET Framework with few 3rd party OSS dependencies.",
    "color" : "#03CEA4",
    "matchingRules" : [ {
      "description" : "Legacy .Net applications in .Net Framework from 1.1 to 4.8.     (200pts)",
      "formula" : "appData == '{\"name\": \".NET framework\", \"version\":\"1.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"1.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"2.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"3.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"3.5\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.0.3\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.8\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.8.1\"}'",
      "points" : 200
    },
	{
      "description" : "Small C# applications with no VB.NET with less than 100k LOC and with less than 50 3rd party OSS dependencies.     (50pts)",
      "formula" : "technologies =in= (CSHARP) and technologies =out= (VB) and (technology:LOC:CSHARP <= 100000 and SCA:count <= 50)",
      "points" : 50
    }	]
  }, {
    "segmentRef" : "DotNetMigrationAverage",
    "name" : "Average modernization complexity of legacy C# applications",
    "description" : "Average size C# applications using legacy .NET Framwework with an average number of 3rd party OSS dependencies.",
    "color" : "#90EE90",
    "matchingRules" : [ {
      "description" : "Legacy .Net applications in .Net Framework from 1.1 to 4.8.     (200pts)",
      "formula" : "appData == '{\"name\": \".NET framework\", \"version\":\"1.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"1.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"2.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"3.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"3.5\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.0.3\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.8\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.8.1\"}'",
      "points" : 200
    },
	{
      "description" : "Average Size C# applications with no VB.NET, with a size between 100k LOC and 250k LOC or a number of 3rd party OSS dependencies between 50 and 100.     (25pts)",
      "formula" : "technologies =in= (CSHARP) and technologies =out= (VB) and (technology:LOC:CSHARP <= 250000 and SCA:count <= 100)",
      "points" : 25
    }	]
  }, {
    "segmentRef" : "DotNetMigrationHigh",
    "name" : "High .Net Modernization Complexity",
    "description" : "Large size C# applications using legacy .Net Framwework with an high number of 3rd party OSS dependencies. It also includes VB.Net applications in Net Framework requiring a prior conversion to C#.",
    "color" : "#C0FACC",
    "matchingRules" : [ {
      "description" : "Legacy .Net applications in .Net Framework from 1.1 to 4.8.     (200pts)",
      "formula" : "appData == '{\"name\": \".NET framework\", \"version\":\"1.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"1.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"2.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"3.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"3.5\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.0\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.0.3\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.5.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.6.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7.1\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.7.2\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.8\"}' or appData == '{\"name\": \".NET framework\", \"version\":\"4.8.1\"}'",
      "points" : 200
    },
	{
      "description" : "Large C# Applications with more than 250k LOC or with more than 100 dependencies.     (25pts)",
      "formula" : "technologies =in= (CSHARP) and (technology:LOC:CSHARP > 250000 or SCA:count > 100)",
      "points" : 25
    },
	{
      "description" : "VB.NET Applications.     (75pts)",
      "formula" : "technologies =in= (VB)",
      "points" : 75
    }	]
  }, {
    "segmentRef" : "Upgradable",
    "name" : "Upgradable .Net Core versions",
    "description" : "C# and VB.NET applications in an Upgradable .Net Core version (up to .NET 7.0).",
    "color" : "#96CAED",
    "matchingRules" : [ {
      "description" : "C# and VB.NET applications targeting only .Net Core from  1.0 to 3.1 or .NET 5.0 to .NET 7.0 or .Net Standard 1.0 to 2.1     (100pts)",
      "formula" : "technologies =in= (CSHARP, VB) and (appData == '{\"name\": \".NET core\", \"version\":\"1.0\"}' or appData == '{\"name\": \".NET core\", \"version\":\"1.1\"}' or appData == '{\"name\": \".NET core\", \"version\":\"2.0\"}' or appData == '{\"name\": \".NET core\", \"version\":\"2.1\"}' or appData == '{\"name\": \".NET core\", \"version\":\"2.2\"}' or appData == '{\"name\": \".NET core\", \"version\":\"3.0\"}' or appData == '{\"name\": \".NET core\", \"version\":\"3.1\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.0\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.1\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.2\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.3\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.4\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.5\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"1.6\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"2.0\"}' or appData == '{\"name\": \".NET standard\", \"version\":\"2.1\"}' or appData == '{\"name\": \".NET\", \"version\":\"5.0\"}' or appData == '{\"name\": \".NET\", \"version\":\"6.0\"}' or appData == '{\"name\": \".NET\", \"version\":\"7.0\"}')",
      "points" : 100
    } ]
  }, {
    "segmentRef" : "NoUpgradeRequired",
    "name" : "No .Net Upgrade required",
    "description" : "No .Net Upgrade required.",
    "color" : "#2280BF",
    "matchingRules" : [ {
      "description" : "C# or VB.NET applications in .NET 8.0 or .NET 9.0    (75pts)",
      "formula" : "technologies =in= (CSHARP,VB) and (appData == '{\"name\": \".NET\", \"version\":\"8.0\"}' or appData == '{\"name\": \".NET\", \"version\":\"9.0\"}')",
      "points" : 75
    } ]
  }, {
    "segmentRef" : "NotApplicable",
    "name" : "Not C# or VB.NET applications",
    "description" : "Not C# or VB.NET applications.",
    "color" : "#DDDDDD",
    "matchingRules" : [ {
      "description" : "Applications not developed in C# or VB.NET    (75pts)",
      "formula" : "technologies =out= (CSHARP, VB)",
      "points" : 75
    } ]
  } ],
  "segmentationStatus" : "production"
}