NML

Aurecon CLE

Custom Software Development

A fast, reliable communication and processing solution for receiving and responding to vehicle and driver sightings from various sources.

Project Overview

Problem: Aurecon needed a fast, reliable communication and processing solution for receiving and responding to vehicle and driver sightings from various sources. The system needed to enrich collected data with additional information from external sources, determine additional actions, for example alerting on transgressions, and route output to interested parties.

Solution: Architecting a communication middleware concerned with retrieval and routing of traffic related data between integrating parties.

The Communication Logic Engine - or CLE as it is commonly referred to - is a system developed by NML for the Aurecon Group, for the purposes of retrieving and correlating information in near real-time about vehicles sighted by roadside sensors, more specifically ANPR traffic cameras, vehicle mounted cameras, and roadside “stop and approach” user events.

The system retrieves vehicle and driver information from eNaTIS, looks up information on taxis and busses, checks for transgressions in static data, calculates average speed over distance and checks for speed transgressions, and correlates and distributes the information to authorized external parties.

Technology

The foundational technologies of the Common Logic Engine include:

  • .NET Framework 4.6.2
    • C# 6
    • ASP.Net MVC
    • ASP.Net WCF Services
    • Managed Windows Services
  • Microsoft SQL Server 2016
    • Database engine
    • Analysis services
  • Azure
    • ServiceBus
    • Redis Cache
    • Application Insights
    • Virtual Machines
    • App Services
    • Table Storage
  • SignalR
  • NServiceBus

Architecture

The overall system architecture leverages many Service-Oriented Architecture (SOA) concepts, with the Azure ServiceBus serving as the central input/output hub for data transformation, processing and enrichment. It is capable of receiving, transforming, enriching, and routing messages and dispatching outputs to relevant systems.

The primary non-functional requirements of the system are reliability, speed and fault-tolerance. With these guiding principles in mind, NML’s architectural team spends a lot of time refining the architecture, constantly aiming to expand the capabilities of the system, without incurring unnecessary latency.

CLE architecture
CLE dashboard
CLE dashboard