logo

Feature List

Übersicht

metaFrame ist eine C++ Echtzeit-Library mit Schwerpunkt Kommunikation in verteilten Systemen, aber auch in einer lokalen multi-threaded Umgebung.

Unabhängig vom verwendeten Protokoll (TCP/IP, Feldbusse, Seriell etc.) werden Abstraktionen zur Verfügung gestellt, die es dem Anwender erlauben, mit sehr wenig Aufwand und ohne Detailkenntnisse der verwendeten Protokolle eine Kommunikation aufzubauen.
metaFrame kapselt die Komplexität einer verteilten Kommunikation und bietet ein optimales Fundament für eine schnelle und stabile Echtzeit-Applikation.

Kommunikation

  • Das Meldungssystem von metaFrame lässt sich in hohem Masse konfigurieren, was das Einbinden von neuen Protokollen erheblich vereinfacht und beschleunigt.
  • Ein Timeout-Handling kann nach belieben dazugeschaltet werden.
  • Durch konfigurierbare Formatter können beliebige Klassen serialisiert werden. Serialisierte Klassen können über Netzwerk verschickt werden.
  • Lookup-Services können eingesetzt werden, um einen logischen Adressraum aufzubauen, was dem gesamten Netzwerk Transparenz verleiht.

Memory Management

  • Ein eigens für metaFrame entwickelter Memory Pool ersetzt den betriebssystem-eigenen Heap-Manager. Auf Windows NT wird die Performance für Speicheroperationen um einen Faktor drei gesteigert. Zusätzlich wird eine Fragmentierung des Speichers verhindert, was für Echtzeit Applikationen besonders wichtig ist.
  • Der Memory Pool kann in einem Debug-Modus betrieben werden. Das Aufspüren von Memoryleaks wird dadurch sehr einfach.

Datenstrukturen

  • Auf Geschwindigkeit und Speicherbedarf optimierte Datenstrukturen bilden das Fundament von metaFrame. Diese Eigenschaften werden durch sogenannte "intrusive Lists" erreicht.
  • Ein eigens optimierter String erreicht dank Nutzung des Memory Pools und eines internen Caches eine Performance, die ca. 10 mal über derjenigen des STL-Strings liegt.