Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Smalltalk to Java Conversion Tool

Overview

This project provides an AI-driven legacy modernization tool that automates the conversion of Smalltalk code to Java, enabling enterprises to upgrade outdated systems while reducing technical debt.

Developed with an Agentic AI architecture, this solution allows the FSSTAR unit at Infosys to efficiently modernize legacy applications with minimal manual intervention.


Key Features

  • Smalltalk to Java Conversion:
    Automatically translates Smalltalk code into Java, preserving logic and structure.

  • Agentic AI Approach:
    A network of 4 specialized AI agents work collaboratively to handle every step of the migration process:

    1. Code Scanning Agent – Extracts and analyzes Smalltalk source files.
    2. Translation Agent – Converts Smalltalk syntax and constructs into Java.
    3. Dependency Generation Agent – Produces Maven dependencies (pom.xml).
    4. JUnit Test Generation Agent – Generates test cases for the new Java code.
  • Model Context Protocol (MCP):
    Establishes shared project context for better translation accuracy.

  • Agent Communication Protocol (ACP):
    Agents collaborate autonomously to perform scanning, translation, and evaluation in a pipeline.

  • Modular and Extensible Design:
    Can be extended to support additional languages in future legacy modernization initiatives.


Technology Stack

  • Python (backend automation and AI orchestration)
  • Streamlit (for interactive UI)
  • OpenAI GPT Models (translation engine)
  • Model Context Protocol (MCP) & A2A communication (agent orchestration)
  • Maven (for managing dependencies)
  • JUnit (for automated test generation)

How It Works

  1. Code Scanning:
    The scanning agent reads Smalltalk source files and extracts key classes, methods, and logic.

  2. Translation:
    The translation agent converts Smalltalk classes, methods, and control structures into equivalent Java code.

  3. Dependency Generation:
    A pom.xml is generated with required Maven dependencies.

  4. Testing:
    The JUnit agent creates test cases to validate the translated Java code.

  5. Evaluating The Reviewer agent performs a deep evaluation on the other agents' performance.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages