Proprietary methodology

ATLAS. The framework that makes legacy modernization predictable.

ATLAS is Access International's proprietary methodology for modernizing legacy applications — COBOL, Delphi and BizTalk middleware, three families covered equally. It structures every program around ten steps, nine guiding principles, and six team poles, delivering with proven functional parity and traced discrepancies.

ATLAS methodology

Legacy-modernization programs do not always meet their objectives.

Three structural anti-patterns recur in programs that drift. ATLAS neutralizes them by design, before they enter execution.

01Anti-pattern

Refactoring during migration

Common stance: take the migration as an opportunity to restructure the code.

Operational impact

Two simultaneous changes make regressions indistinguishable — migration gap or refactor gap? Resolution time is multiplied.

ATLAS response
02Anti-pattern

Insufficient test coverage before migration

Common stance: tests will be produced once the target code is operational.

Operational impact

Without a behavior reference, functional parity is no longer measurable. Validation becomes an opinion, not a deliverable.

ATLAS response
03Anti-pattern

Untraced discrepancies

Common stance: occasional gaps will be documented later.

Operational impact

Unqualified discrepancies surface in production. Correction effort shifts to the client, at the most expensive moment.

ATLAS response
Nine guiding principles

An operational framework that makes modernization programs predictable.

Each principle addresses a structural risk observed in our migration programs.

ATLAS does not speed up migration. It secures the landing — proven parity, traced discrepancies, compliant delivery.

The ten ATLAS steps

An operational sequence, from intake to delivery.

Each step has an identified deliverable, an exit criterion, and a validation gate (kill/go). No step starts until the previous one is validated.

Intake

Scope, constraints, and success-criteria framing.

Discovery

Deep understanding of legacy code, mapping of business intent: reverse engineering of the rules, from the source code or, when it is missing, from the executable.

Functional specification

Rebuilding a readable functional analysis from existing code.

Existing-system capture

Setting a ground truth: screens, reports, datasets, transactions.

Dependency mapping

Exhaustive mapping of system interactions, files, databases, interfaces.

Target architecture

Designing the technology destination: cloud, target language, patterns.

Pre-migration tests

Characterization test suite before touching target code.

Migration

Pattern-by-pattern code translation, line-by-line traceability.

Validation (parity)

Proof of functional equivalence between legacy and target.

Delivery

Go-live, documentation, ops handover, signed discrepancy registry.

Reverse engineering

Reverse engineering: when the source code is missing, ATLAS starts from the executable.

Reverse engineering a legacy application means recovering its business rules from what still exists. The Discovery step usually reads the source code. When it is lost, incomplete or different from what runs in production, ATLAS rebuilds the rules from the compiled program.

Read the executable

The compiled program, whose rights the client holds, is decompiled with Ghidra, an open-source tool, in an isolated environment with no network access. For Delphi, we first declare the method entry points from the program's internal tables: without this step, the tool does not see the business code.

Recover the names

Delphi class tables keep the names of published methods and fields: each memory offset becomes a business name again (price, interest rate, reminder date). Private methods stay anonymous and are identified by their calculation.

Prove every rule

Each extracted rule is tied to its address in the binary, its instructions and its constants, then checked against the source when it exists. It is also the check "does the source we were given match the program running in production?".

Test case — internal POC

Raptor Invoice, an open-source Delphi application

Invoicing application released as open source by its author (Apache 2.0 license). From the executable alone: 1,150 classes listed, 333 published methods identified, 1,040 functions of the application area decompiled. Rules recovered: invoice line calculation (discount, net, VAT, gross), total with reminder fees, late interest equal to price × rate × days late ÷ 3600, an unusual divisor to be validated by the business. The five calculation functions, compared one by one with the source, match on structure, fields used and calculation constants (÷ 100, ÷ 3600).

Tried on a 32-bit Delphi executable. Monetary calculations sometimes require reading the machine instructions, as the decompiler does not always render them. For any other technology, feasibility is assessed at the Intake step.

The Raptor Invoice migration from source →
Three legacy families covered

ATLAS industrializes migration on the three most common families.

Each family has its pattern catalog, characterization test library, and known-discrepancy reference.

COBOL

Source platforms

IBM z/OS mainframe, AS/400, Unisys, open COBOL

Common targets

Java, .NET Core, TypeScript, Python

Key challenges

Preserving accumulated business rules, COBOL expertise availability, rewrite without service interruption.

Delphi & 4GL

Source platforms

Delphi Object Pascal, PowerBuilder, Uniface, client/server

Common targets

.NET Core, TypeScript, Java

Key challenges

Proprietary components, embedded databases, native Windows interfaces to rebuild.

Middleware & modern mainframe

Source platforms

BizTalk Server, IBM Z, AS/400 RPG

Common targets

Azure Logic Apps, AWS, Kubernetes containers

Key challenges

Critical exchange orchestration, interface contracts, distributed transactions.

Six team poles

An ATLAS cell mobilizes six skill poles in orchestration.

Legacy-migration failures are rarely technical. They are most often organizational: absent business expertise, deferred arbitrations, blurry governance. The six ATLAS poles eliminate these blind spots.

Architect

Target design, technology arbitration, non-functional constraints.

Tech lead

Pattern-by-pattern migration steering, code reviews, standards.

Developers

Code translation, unit tests, documentation of recurring patterns.

Quality assurance

Characterization tests, parity audits, non-regression automation.

Business expert

Functional validation, discrepancy arbitration, rule prioritization.

Delivery management

Governance, kill/go gates, reporting to client and prime contractor.

ATLAS in action

The method, applied to each legacy technology.

ATLAS is not limited to COBOL. Each journey below applies the same steps and principles to a different source technology — Delphi, mainframe, BizTalk.

COBOL to Java modernization

COBOL (mainframe IBM z/OS, AS/400, Unisys, GnuCOBOL) → Java 21 ou 25 (LTS), Spring Boot, PostgreSQL, Kafka

COBOL to .NET Core modernization

COBOL (mainframe IBM z/OS, AS/400, Unisys) → .NET 10, C#, SQL Server ou PostgreSQL, Azure

COBOL to TypeScript modernization

COBOL batch (mainframe, AS/400) → TypeScript, Node.js, PostgreSQL, conteneurs

COBOL to Python modernization

COBOL batch (calcul, reporting, analytique, actuariat) → Python 3, pandas, NumPy, PostgreSQL ou Databricks

Delphi to .NET / C# Migration

Delphi (Object Pascal, VCL, FireDAC) → .NET Core 8, C#, WinForms ou Avalonia, SQL Server

Delphi to TypeScript modernization

Delphi (client-serveur, VCL) → TypeScript, React ou Angular, Node.js, PostgreSQL

Delphi to Java Migration & Modernization

Delphi (Object Pascal, VCL, FireDAC, dbExpress, composants tiers) → Java 21, Spring Boot, JPA, PostgreSQL, REST API, frontend SPA ou JavaFX

PowerBuilder modernization

PowerBuilder (PowerScript, DataWindow, PBL, Appeon PowerServer) → .NET Core 8 ou Java 21 ou TypeScript, PostgreSQL ou SQL Server, REST API, frontend SPA ou WinForms selon contexte

IBM Z mainframe to Azure modernization

Mainframe IBM z/OS, CICS, DB2, VSAM → Azure (AKS, App Service, SQL Database, Service Bus)

Mainframe to AWS modernization

Mainframe IBM z/OS, AS/400, Unisys, OpenVMS — applications COBOL, PL/I, CICS, JCL, batch → AWS — EKS / ECS, RDS PostgreSQL ou Aurora, EventBridge, Step Functions, S3, Lambda, AWS Mainframe Modernization (Blu Age, Micro Focus)

AS/400 modernization

AS/400 (IBM i, RPG, DB2/400, CL) → Java, .NET Core, TypeScript, PostgreSQL, conteneurs

BizTalk to Azure Logic Apps migration

BizTalk Server 2010 / 2016 / 2020 → Azure Logic Apps, Azure Functions, Service Bus, API Management

Live demonstrations

Seven migrations running live.

Each application below was migrated end-to-end by our team — source code, batch jobs, screens and integrations. Click any card to open the running target system in a new tab.

Each demonstration illustrates a documented migration journey — challenges, ATLAS approach and FAQ: COBOL modernization, Delphi to .NET and BizTalk to Azure. See all journeys.

Public resources

ATLAS, the methodology in the open.

Four public repositories show the methodology, its self-learning record, and a sample of the toolkit. The full runbook and calibrated patterns stay with the engagement.

Credits & licenses

Each demo migrates open-source legacy code. Original copyrights are preserved; each live demo carries source, license and our attribution in its footer.

  • AWS CardDemo (Apache 2.0)
  • IBM CICS CBSA & GenApp (EPL 2.0)
  • DGFiP Property tax (CeCILL v2.1)
  • Microsoft aimbiztalk (MIT)
  • Raptor Invoice by Jon Lennart Aasenden (Apache 2.0)
Frequently asked questions

ATLAS methodology — what CIOs ask.

What is the ATLAS methodology?+

ATLAS is Access International's operational framework for modernizing legacy applications with proven parity. It structures the program around ten steps, nine guiding principles, and six team poles. It covers three legacy families: COBOL, Delphi, and BizTalk-type middleware.

How does ATLAS differ from a classic migration?+

ATLAS enforces functional parity before any redesign: target code must first reproduce legacy behavior exactly, measured by characterization tests written upstream. Discrepancies are traced in an official registry, weighted, and validated or compensated before go-live.

Which legacy technologies does ATLAS cover?+

ATLAS covers three families: COBOL (z/OS mainframe, AS/400, Unisys) to Java, .NET Core, TypeScript or Python; Delphi and 4GL environments to .NET Core or TypeScript; BizTalk middleware and modern mainframe to Azure Logic Apps or AWS.

How long does an ATLAS migration take?+

Duration depends on code volume, functional complexity, and the chosen delivery model (TM, RC, CC, or SC). Every program is scoped at Intake with per-pattern budgeting and a subsystem-by-subsystem delivery plan.

How much does an ATLAS program cost?+

We do not publish rate cards. Pricing is built at Intake from code volume, functional complexity, delivery model, and target parity level. A short multi-week POC measures real per-pattern productivity before committing to the full program, yielding a multi-year quote based on measurements, not assumptions.

What happens in case of early contract exit?+

Every ATLAS program is delivered with exhaustive documentation, a signed discrepancy registry, and a transferred automated test suite. Migrated patterns and tooling are the client's property. On exit, the client has enough material to continue in-house or with another vendor — no black box.

How does Access transfer skills to the internal team?+

Knowledge transfer is planned from Discovery. Concretely: systematic pair-programming on recurring patterns, shared code reviews, a documented pattern library, monthly workshops with client teams. At delivery, the client has an autonomous internal team on the delivered foundation.

Does ATLAS work for partial migrations?+

Yes. The strangler fig strategy migrates subsystem by subsystem while the rest of the legacy keeps running. Each migrated module goes to production independently, with parallel legacy/target runs. No client is forced into a big-bang.

Are migration POCs billed?+

A short POC (Intake + Discovery + migration of a representative subsystem) is billed at direct cost (a few cell-weeks). It rolls into the overall scoping if the program proceeds. If stopped, the client keeps the POC deliverables and can reuse them.

Is ATLAS compatible with a prime-contractor setup?+

Yes. We frequently operate in co-delivery: the prime carries the client relationship, governance, and contractual liability; Access operates the ATLAS cell as subcontractor or partner. Deliverables, rituals, and tooling stay consistent with the prime's methodology, with ATLAS layered on top.

How are discrepancies decided?+

Every discrepancy identified between legacy and target is traced in an official registry with: nature, business impact, proposed resolution or compensation. The program committee (client + Access) arbitrates and signs the registry. Acceptable discrepancies are documented; blocking ones are fixed before production.

Who is liable for a regression detected post-delivery?+

The characterization test suite delivered at parity validation covers the vast majority of business behaviors. Any regression detected in production beyond the tested scope is jointly analyzed: if outside the registry's coverage, it is handled as evolutionary maintenance; if inside the guaranteed perimeter, it is fixed under SLA.

What are the phases of legacy modernization?+

The ATLAS methodology structures every legacy modernization in 10 phases with kill/go gates between each. E1 Intake — scope, constraints, success criteria. E2 Discovery — deep code analysis, business intent mapping. E2b Functional spec — readable analysis from the existing code. E2e Existing-state capture — frozen reference of truth. E3 Dependency mapping — exhaustive system interaction graph. E4 Target architecture — technology mapping, ADR. E4b Pre-migration tests — characterization suite written before any target code. E5 Migration — pattern-by-pattern translation with line-level traceability. E6 Parity validation — proof of functional equivalence on real datasets. E7 Delivery — cutover, documentation, internal classified discrepancy registry. The framework adapts to client governance (Scrum, SAFe, PRINCE2). See the ATLAS methodology for the full operational playbook.

Can you reverse engineer an application without its source code?+

Yes, to recover the business rules. The compiled program is decompiled with Ghidra, then the names of published methods and fields are rebuilt from the program's internal tables; private methods are identified by their calculation. Each rule is proven by its address in the binary, its instructions and its constants. On our internal POC Raptor Invoice, an open-source Delphi application, the invoice line calculation, the total with reminder fees and the late-interest formula were recovered from the executable alone. Feasibility depends on the technology and is assessed at the Intake step. See the Raptor Invoice migration.

Why compare the source code you were given with the executable in production?+

Because a migration faithful to the source is only faithful to production if that source is really the one that was compiled. A version patched in a hurry may never have been archived. ATLAS checks, function by function, the rules extracted from the executable against those of the source provided, and any gap is logged in the discrepancy registry. On the internal POC Raptor Invoice, the five functions compared matched.

What is the strangler-fig pattern in legacy modernization?+

The strangler-fig pattern (named after the strangler fig tree, which slowly grows around a host tree until the host is no longer needed) is the default ATLAS approach to legacy modernization. Instead of a big-bang rewrite, sub-systems migrate one at a time: a new module is built, tested, deployed, and traffic is rerouted from the legacy to the new system, while the rest of the legacy keeps running. After enough iterations, the legacy is fully replaced — but the program never has a single high-risk cutover moment. The advantages: any sub-system delivered enters production independently, kill/go gates between modules let you pause without losing work, and parallel runs validate parity on real production traffic before final cutover. The strangler-fig approach is principle 5 of the ATLAS methodology. See the ATLAS methodology for the operational details.

Considering a legacy-modernization program?

We audit feasibility, cost, and migration trajectory. A thirty-minute conversation is enough to identify structural risks.