Matching Engine

Introduction
What is the Matching Engine

The Objektum Matching Engine is a logical component providing extensive capabilities to perform efficient pattern matching on large amounts of text. It offers one of the best technologies available for comparing, searching, manipulating and storing text fragments in the fastest and most reliable way.

The Matching Engine represents a state-of-the-art solution wherever complex text manipulation is required. Its evolution is the result of Objektum’s vast experience and research in the field of text parsing and manipulation. Most of the solutions provided to our customers employ the Matching Engine; this has enabled us to continually monitor enhance the technology utilized and the performance over many years.

The Matching Engine includes many unique features, such as:

Speed
The engine is encoded using C++, still one of the most efficient programming languages in terms of execution time available today

Programmability
The engine can perform a large number of disparate operations on text data effectively encoded into algorithms. The type and order of these operations can be decided at runtime without any programmer intervention

Large Data Set
The engine is able to deal with huge amount of data at once. The typical issues about data size/speed tradeoff do not apply to our unique technology

Testability
The engine includes the logic required to step through and debug the execution of each algorithm to ensure it behavior

Product Overview
Matching Engine Structure

The Matching Engine design is completely model driven and Object Oriented in line with every artefacts and applications developed by Objektum. This Object Orientation and automatic code generation approach allows software models to be developed that relate directly to concepts that exist in the real world, meaning our designers work with an architecture made of objects that appear familiar and trustworthy.

In order to keep the design understandable by any software engineer, the Matching Engine has been designed along the very same lines of that of a microprocessor using the same components and terminology. This decision enables software engineers that should already be familiar with microprocessor architecture, to understand, maintain and enhance functionality that would typical be implemented by hardware vendors. Each component within the Matching Engine has a been developed with an unambiguous responsibility and purpose in mind. This approach means that developers and users can easily understand the basic concepts of each part and communicate with a common domain dialogue.

The Matching Engine is a virtual machine able to execute text-centric algorithms which are expressed in a simple language which can be easily adapted and further developed to the domain of each client.

Our design and implementation approach has been carefully thought out to provide a unique, maintainable and efficient solution whenever textual manipulation is critical to your business.

When to use the Matching Engine
The Matching Engine is the only solution you should consider when:

  • Manipulating large amount of data in a textual form where reliability and speed are key

  • Automatically processing documents in free or custom format from a variety of different input representations (including Microsoft Word, Excel, PDF, ASCII text and many others)

  • Parsing programing languages to extract details, structure and relationships

  • Process text with the aim of extracting meaningful parts, based on the original formatting, keywords, text-to-text references and other abstraction layers

  • Matching the same or similar keywords appearing within the input text, in order to detect consistency, classify entries, correct misspells and transform the original text into a form that can be used for a different purpose

  • Realize text-based algorithms that can be defined, updated and tested by non-programmers after an application has been installed at the client side