Skip to content

Merge SummerMueller's TCAVL improvements: Enhanced reference handling and disjunction processing#2

Merged
ParthGaneriwala merged 1 commit intomainfrom
copilot/fix-da881adc-d5f8-4ebc-9c1e-8de879ba1ca1
Aug 1, 2025
Merged

Merge SummerMueller's TCAVL improvements: Enhanced reference handling and disjunction processing#2
ParthGaneriwala merged 1 commit intomainfrom
copilot/fix-da881adc-d5f8-4ebc-9c1e-8de879ba1ca1

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Aug 1, 2025

This PR merges significant improvements from SummerMueller's fork of TCAVL (Translation of Cognitive Architecture for Verifiable Learning) that enhance the Soar-to-UPPAAL translation capabilities.

Key Improvements

Enhanced Reference Handling

  • Complete reference update algorithm: Implements sophisticated reference detection and storage mechanisms in SymbolVisitor
  • Special case handling: Accounts for references occurring in left term conditions with proper variable updates
  • Reference storage expansion: Expands all shared and unique disjunctions before storing references

Fixed Global Disjunction Processing

  • Corrected variable generation: Fixed how global variables with multiple disjunctions are expanded
  • Goal detection improvements: Enhanced goal detection variable generation for more accurate UPPAAL models
  • Organized edge maintenance: Better management of edges in UPPAALCreator

Updated Dependencies

  • ANTLR 4.10.1: Added latest ANTLR runtime and compiler JARs for improved parsing
  • Project configuration: Updated IDE and build configurations to support new features

New Test Cases

The merge includes new Soar example files for testing the enhanced functionality:

# referenceexample.soar - Tests basic reference handling
sp {mac*propose*initialize-mac
    (state <s> ^superstate nil -^name)
-->
    (<s> ^operator <o> + =)
    (<o> ^name initialize-mac)}

# doubledis.soar - Tests double disjunction scenarios  
sp {mac*propose*operator*move-mac-boat1
    (state <s> ^name mac ^ <<left-bank right-bank>> <bank>)
    (<bank> ^cannibals <type> ^boat 1)
-->
    (<s> ^operator <o> + =)
    (<o> ^name move-mac-boat ^bank <bank> ^<type> 1)}

Technical Details

  • Build verification: All Java source code compiles successfully (51 classes generated)
  • Repository hygiene: Updated .gitignore to exclude compiled artifacts (out/ directories)
  • Merge handling: Resolved conflicts by preserving SummerMueller's enhanced implementations
  • Files changed: 23 files with 726 additions and 103 deletions

Impact

These improvements significantly enhance the translator's ability to handle complex Soar constructs, particularly around reference management and disjunction processing, leading to more accurate UPPAAL model generation for cognitive architecture verification.

The enhanced translator now better supports:

  • Complex reference patterns in Soar rules
  • Multiple disjunction scenarios
  • Goal detection in cognitive models
  • Edge case handling in variable updates

Resolves the request to incorporate SummerMueller's work into the main TCAVL repository.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

@ParthGaneriwala ParthGaneriwala marked this pull request as ready for review August 1, 2025 17:44
@ParthGaneriwala ParthGaneriwala merged commit 778698f into main Aug 1, 2025
1 check passed
@ParthGaneriwala ParthGaneriwala deleted the copilot/fix-da881adc-d5f8-4ebc-9c1e-8de879ba1ca1 branch August 1, 2025 17:45
Copilot AI restored the copilot/fix-da881adc-d5f8-4ebc-9c1e-8de879ba1ca1 branch August 1, 2025 17:47
Copilot AI changed the title [WIP] Merge SummerMueller/TCAVL:master into ParthGaneriwala/TCAVL:main Merge SummerMueller's TCAVL improvements: Enhanced reference handling and disjunction processing Aug 1, 2025
Copilot AI requested a review from ParthGaneriwala August 1, 2025 17:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants