Software Assets

Architecture for Data Acquisition and Management (ADAM)

The Architecture for Data Acquisition and Management (ADAM) is a set of interchangeable software modules designed for the extraction and processing of data from a wide variety of disparate sources. It is usually used to collect, process and store data in a Relational database Management System (RDBMS) and provide tools for its analysis. Once the data is in the database, the customer can use either our own or any third party query and reporting tools which can communicate with the RDBMS. By developing ADAM Ingeneering were able to offer our customers reduced development and deployment times, reduced cost and tried and tested reliability based on software component re-use.
ADAM is in use collecting and processing data extensively worldwide.
The first ADAM implementation went live in 1989 and almost all systems shipped by Ingeneering use ADAM components to a greater or lesser degree. Adam has undergone a continuous development programme to keep abreast of contemporary requirements. Over time, the set of tools developed for re-use has grown. All tools have a robust deployment history and are distinguished by their flexibility, performance and reliability.
ADAM consists of the following tools:


Task Scheduler

ADAM is driven by a fully featured database driven task scheduler supporting abstract concepts such as run once, run always, run at specific times or intervals, resource allocation and many others.


Connection Tool

The connection tool is used by the task scheduler to orchestrate connections of any kind including direct, file, network, requiring a specific dialogue, software PAD over X.25. The connection mechanism is extensible and can support other mechanisms with a minimum of work and maximum re-use. The connection tool makes use of dialogue tools if necessary to establish a connection with a target data source/resource and hands over the connection once made to one of the collection tools.


Dialogue Tools

Once connected to a target data source/resource it is often necessary to carry out some form of dialogue to trigger data flow. The dialogue tools take the form of scripts, programs and/or command/response mechanisms to carry out the process of connection.
Collection Tools
There are several Collection Tools. Collection tools are responsible for the interpretation, mediation, state analysis and/or temporary storage of data retrieved from a connection.


Generic Text Parsing Tool

The Generic Parsing tool is a powerful ‘Swiss Army Knife’ database driven data extractor for tabular textual reports. Its use has often been the interception of data streams designated for a line printer. Its flexibility allows most reports to be parsed


Binary Parsing Tools

Due to the proprietary nature of most binary streams, most binary parsers are dedicated to a single role.


Database Updater

The updater takes self describing data packets created by any ADAM module and writes them to the appropriate database tables.

Direct Storage tools

Storage tools create self describing data packet files spooled to a temporary storage area for insertion/update into a database by the database updater module.


State Analysis Engine

The State Analysis Engine maintains a state map of of objects according to a set of simple rules. Object states are either in a state ‘of note’ or ‘not of note’. The objects can be internal processes, a connected data source or any other source about which the engine has knowledge. The engine uses definitions held in a database to decide how to identify and treat each incoming message.
Inbuilt rules include:
One Shot – A ‘death’ message with no corresponding ‘alive’ is an example of a ‘one shot’. The engine alters the State according to a definition in the database.
Toggle – ‘Port 1121 is down’ might have a corresponding ‘port 1121 is up’ clearing message. The arrival of the former would raise the state of this object to ‘of note’, and the corresponding message would clear the state of the object to ‘not of note’.
Watchdog The engine expects to see greater than or equal to ‘n’ messages from the object within ‘t’ seconds. If these criteria are not met the state of an object will be raised to ‘of note’. Should the watchdog recommence at the appropriate rate the object will be returned to the ‘not of note’ state.
Cumulative – The engine expects less than or equal to ‘n’ messages from the object within ‘t’ seconds. If these criteria are not met the state of an object will be raised to ‘of note’. Should the message rate fall within the set criteria the object will be returned to the ‘not of note’ state. An example would be the use of the engine to filter modem retrain messages.


Analysis Tools

ADAM has various proprietary data analysis tools created to suit the needs of various target markets. ADAM does not preclude the use of third party tools for the analysis of information collected by ADAM.

Monitor Tool

The monitor is designed to update pages of information on terminal screens, similar to an airport flight information display screens. The monitor is database driven and can carry out many different functions. One example use would be the display of information maintained by the State Alarm Tool. ADAM itself maintains internal information about its operation in a form that is usable by the monitor tool.
The monitor tool is able to apply ‘rules’ to data, such as highlighting telecommunications routes that are nearing capacity or highlighting the movement of share prices.


Reports Tool

The reports tool is based on a spreadsheet paradigm and allows the presentation of reports based on multiple SQL queries to be created and displayed. User dialogue prompts can be created and sophisticated graphs can be attached to a report.



Data Publisher

DataPublisher automatically produces high-quality documents, reports and books based on various book, page and graphics templates using data from databases and other data sources. DataPublisher uses the powerful FrameMaker publishing system for page formatting and book-building and includes a graphics module for the creation of 2D and 3D colour business charts and graphs from data. Each copy of a particular document can be automatically tailored to provide information specific to the recipient. DataPublisher is a powerful tool for the generation of data-driven documents and books, containing both text and graphics.
Once a document or book template has been created, DataPublisher can be run in the background (unattended) to automatically gather current data, generate pages and graphs, assemble books and then save, print or fax them.
DataPublisher effectively adds a powerful command language, Perl, to FrameMaker. This enables its advanced typography and page layout capabilities to be controlled by commands embedded within the template documents themselves, making DataPublisher far more capable than other database publishing solutions.
When a document is processed, the embedded commands can initiate many actions. For example, importing data from files and databases, loading that data into tables, carrying out tests and calculations on it, and drawing high-quality 3D and 2D graphs using that same data.
This process can also be controlled externally by specifying values for variables, such as customer name and date ranges, enabling generic template designs to be reused.


High Performance Billing Engine

Ingeneering has designed a high performance high accuracy billing engine. The engine can be used for call record costing in a batch mode or for real-time billing. One of the core capabilities offered by the billing engine is its flexibility in setting up new or special tariffs attached to new or special schedules.


Page Generation Core

The Page Generation Core (PGC) is an ultra high performance, dynamic, database driven and context sensitive webpage server. The content of delivered pages is dependent on contextual attributes set at run time, the PGC evaluates page requests via the URL and generates content for the entire web presence whether it is HTML/WML/XML, JavaScript or PerlScript code. The PGC provides mechanisms for developers to creatively exploit customisation and personalisation, enabling differentiation and an edge in turning around large web presence changes with the lowest staff skill requirements and effort with maximum reliability.


XMediate

System X SwitchXMediate provides a web based provisioning interface for public switches. It’s used by Telecoms companies for managing system X exchanges and has de-skilled termination of service, provisioning and other changes; This has released valuable engineers for other tasks, reducing times for changes by enabling sales staff to make the changes in real time, reducing costs and increasing customer satisfaction.