TECHNOLOGIE

MOTIVATION

Ziel des Unternehmens ist es, effiziente Technologien zu liefern und einzusetzen, welche den Software-Entwicklungsprozess für Kunden drastisch vereinfachen und die Entwicklungszeit verkürzen. Im Ergebnis entstehen langlebige, zukunftssichere, flexible Anwendungen mit Fokus auf Fachwissen. Fachexperten und Analytiker werden in die Lage versetzt, Konzepte zu erstellen, die als Programmquelltext dienen und direkt ausgeführt werden können. Mancherorts spricht man in diesem Zusammenhang auch von No-Code-Plattform oder Low-Code-Programmierung.

MISSION

Grundlage dafür ist eine neue Art der Programmierung, genannt Cybernetics Oriented Programming (CYBOP), welche auf einer einfachen Baumstruktur (Hierarchie) basiert, die eine deutliche Verringerung der Komplexität ermöglicht.

  • Eine erhöhte Zugänglichkeit dank BAUMSTRUKTUR erleichtert die Anwendungsprogrammierung.
  • Fachleute und Analytiker können mittels TABELLENEDITOR Code erstellen, ohne Informatik studiert zu haben.
  • Der Programmieraufwand reduziert sich nachhaltig, da Entwurf und Implementierung als Projektphasen ENTFALLEN.

Baumstruktur
Baumstruktur sämtlicher Daten
Tabelleneditor
Grafischer Tabelleneditor (Mockup)
Abstraktionsbrüche
Entfallende Entwurfs- und Implementierungsphase

Anders als gängige No-Code-Plattformen kapselt CYBOP nicht nur die Funktionalität klassischer Programmiersprachen, sondern bietet mit der internen Baumstruktur für alle Zwecke eine drastisch vereinfachte Architektur. Dies ist nicht unähnlich der Entwicklung von Web-Anwendungen, mit dem Unterschied, dass die Baumstruktur auch für andere als Web-Oberflächen sowie für alle Arten von Daten und auch Funktionen zur Anwendung kommt.


KERNIDEE

Biologie

Die DNS aller Menschen hat als Gerüst eine Doppelhelix. Und trotzdem sind wir Menschen unterschiedlich, da der Inhalt (Anordnung der Basenpaare) anders ist.

CYBOP

Für die Programmierung bietet CYBOP genau dasselbe: Ein Gerüst (Schema, Container) für alle Anwendungen. Nur das enthaltene Wissen unterscheidet sich.

Heutige Software

Was dagegen machen heutige Programme? Für jede neue Anwendung wird immer wieder ein neues Gerüst (Framework, Domain-Model) gebaut. Was für ein Irrsinn!


BESONDERHEITEN

FUNKTIONSUMFANG

VORBEREITETE UNTERSTÜTZUNG


VERGLEICH

Vergleich Java-CYBOP
Vergleich Java- mit CYBOP-Welt

SCHEMA

An dieser Stelle soll ein vermeintlicher Nachteil von CYBOP erwähnt werden: Es ist nicht geeignet, um das kürzest mögliche "Hallo Welt!" zu schreiben. Doch das ist sowieso nicht die Kernaufgabe einer Allzweck-Programmiersprache.

Der Grund ist sein uniformes und universelles Schema, das für jede Variable oder Operation stets die gleichen Angaben verlangt. Vergessen Sie nicht die weitaus größeren Vorteile!

CYBOP-Schema
CYBOP-Schema
Speicherstruktur
Datenstruktur im Arbeitsspeicher nach Programmstart

SPEICHERSTRUKTUR

Herkömmliche Anwendungsprogramme modellieren das Fachwissen meist in Form von umfangreichen Klassengerüsten, deren Objekte dann zur Laufzeit des Programms mit gleicher Struktur im Arbeitsspeicher liegen. Schon kleine Änderungen durch Kundenwünsche können großen Aufwand verursachen, oft muss die Anwendung neu compiliert werden, manchmal sind größere architektonische Änderungen nötig (Fragile Base Class Problem).

Das CYBOP-Schema hingegen bleibt als unveränderliche Speicherstruktur bestehen, unabhängig davon, welche Fachdaten in Baumform eingelesen werden.

ÜBERSETZUNG

Zu den Standard-Kenntnissen eines erfahrenen Software-Entwicklers gehören Entwurfsmuster. Das Model View Controller (MVC) Muster beispielsweise stellt ein Konzept zur Kommunikation mit grafischen Bedienoberflächen dar. Oftmals sind mehrere Kanäle zu bedienen (Frontend, Backend, Client-Server-Kommunikation), wofür unterschiedliche Muster zum Einsatz kommen, häufig auf Basis einer Schichtenarchitektur, die zahlreiche Abhängigkeiten mit sich bringt.

Der CYBOP-Ansatz generalisiert solcherlei Entwurfsprinzipien im CYBOI-Interpreter, so dass Übersetzungen zwischen beliebigen Anwendungs-Teilbäumen in CYBOL unter Verwendung einfacher Punktnotation möglich sind.

Übersetzung
Übersetzung zwischen Datenmodellen