ABL uses a unique object model and run-time architecture in order to support access to .NET objects. This object model allows ABL to compile and manage references to .NET classes along with ABL classes. The run-time architecture allows an ABL application to transparently use the functionality of .NET objects almost as though ABL were running as a CLS-compliant language. This section describes how this object model and architecture enable an ABL application to effectively work as a .NET application.