Package org.iam.core

Class AccessRefinery

java.lang.Object
org.iam.core.AccessRefinery

public class AccessRefinery extends Object
AccessRefinery is the main processing class for analyzing constraint files.

Responsible for parsing input files, calculating findings, reducing and merging results, and exporting the results in various formats. This class coordinates the workflow between parsing, symbolic computation, and result output.

Since:
2025-02-28
Author:
  • Constructor Details

    • AccessRefinery

      public AccessRefinery()
      Default constructor.
  • Method Details

    • running

      public HashSet<MCPIntent> running(Path fileName, ResultsAnalyzer analyzer) throws IOException
      Calculates findings based on the constraint file specified by fileName. Parses the file, initializes symbolic domains, computes findings, and optionally reduces or merges them.
      Parameters:
      fileName - the path to the input file
      analyzer - the summary analyzer for timing and statistics
      Returns:
      a set of findings calculated from the input
      Throws:
      IOException - if file reading or writing fails
    • mergingIntents

      public HashSet<MCPIntent> mergingIntents(HashSet<MCPIntent> findings)
      Merges compatible findings into larger intents.
      Parameters:
      findings - the set of findings to merge
      Returns:
      a set of merged findings
    • printMCPPolicy

      public void printMCPPolicy(MCPPolicy mcpPolicy, Path path)
      Writes the symbolic representation of the MCPPolicy to a DOT file.
      Parameters:
      mcpPolicy - the MCPPolicy object
      path - the output file path