The Agent Model — Who Creates DNA?

A DNA is either created in collaboration between RailCOMPLETE AS and the customer, or independently by the customer’s own team. The approach depends on the country, the Infrastructure Manager’s needs, and the level of customization required.

How DNA creation works today

In practice, a DNA creation follows different models depending on the deployment:

  • Created by RailCOMPLETE AS — The Norwegian DNA for Bane NOR is fully developed and maintained by RailCOMPLETE AS, drawing on decades of experience with Norwegian railway infrastructure.
  • Collaborative — The French DNA for SNCF Reseau has been developed in collaboration between RailCOMPLETE AS and SNCF, combining RailCOMPLETE’s platform expertise with SNCF’s deep knowledge of French railway standards.
  • Customer-led with support — In Finland and Japan, the customers develop their DNA independently, with occasional support from RailCOMPLETE AS when needed.

How to get started

Today, each new national DNA is either created in collaboration between RailCOMPLETE AS and the customer, or independently by the customer’s own team. In both cases, the DNA is built from the ground up, tailored to the national standards and needs of the Infrastructure Manager.


What DNA creation involves

Regardless of who creates a DNA, the work involves the same core tasks:

Encoding the national object catalog

Translating the IM’s object catalog (signals, switches, masts, cable ducts, etc.) into a DNA’s object type declarations. For each object type, this means defining the object’s classification and subclass, default property values and allowed ranges, 2D symbol references, 3D geometry references, insertion presets and variants, and snap point definitions.

Defining relations

Declaring what types of connections exist between objects. For example: “Is distant signal for signal” / “Is signal announced by distant signal”, or “Is balise group for signal” / “Is signal announced by balise group”. Each relation has cardinality constraints, directionality, and optional CAD styling.

Writing model checks

Encoding the IM’s placement and design rules as Lua programs attached to object types. For instance, an axle counter checks its separation from the closest neighbours, a signal checks sighting distances, and a switch checks clearance from adjacent infrastructure. Each model check produces an OK, Warning, or Error result displayed to the user.

Building Lua automation libraries

Creating Lua functions for property calculations, automatic object placement, table column computation, and custom data extractions and reports.

Preparing 2D and 3D symbol libraries

Creating or sourcing 2D DWG symbols (the graphic representations shown in plan views) and 3D components (geometrical representations for 3D export and visualization). The Norwegian DNA alone includes 18,000+ 2D symbol files (largely auto-generated via AutoLISP scripts from the DNA’s definitions) and 1,000+ 3D component files organized by discipline.

Managing DNA versions

When IM rulesets change, a new DNA version is created, migration mappings are defined using the DNA Mapping Editor, and the DNA is published alongside the mappings. This ensures long-lived infrastructure projects can safely adopt updated standards without losing data. Read more on the DNA Lifecycle & Versioning page.


Current deployments

CountryInfrastructure ManagerDNA created byStatus
NorwayBane NORRailCOMPLETE ASProduction — full signal + overhead line planning
FranceSNCF ReseauRailCOMPLETE AS + SNCFCustomization and pilot projects ongoing
JapanCustomer (with support)Pilot projects ongoing
FinlandCustomer (with support)Pilot projects ongoing

Creating DNA yourself

Customers who want to develop their own DNA elements need strong programming skills (Lua, XML), deep domain knowledge of their IM’s railway standards, and access to RailCOMPLETE’s authoring tools: the DNA Editor, the DNA Mapping Editor, and symbol authoring workflows. RailCOMPLETE AS provides support and guidance to help customers get started.


← Back to What is DNA?

Would you like to receive our newsletter?