Architecture d'une application en technologie Up ! Virtual Technical Machine

Up ! Virtual Technical Machine

Tous les programmes d'Up ! Application System livrés en standard ou ceux que vous allez développer sont basés sur un assemblage des composants s'exécutant dans la machine virtuelle Up ! Virtual Technical Machine.

La machine virtuelle technique Up ! Virtual Technical Machine est elle même construite par assemblage de composants regroupés dans les modules présentés ci-après.

L'architecture ouverte selon les règles suivantes :

Les composants en technologie Up ! Virtual Technical Machine peuvent être regroupés en des modules compilés binaires pour une architecture spécifique via la génération de sources C / C++ par Up ! C / C++ Generator ou des modules interprétés par Up ! Script Engine.

Quelle que soit la cible de génération retenue, l'architecture est relativement identique. Elle est illustrée par le schéma ci-dessous :

La machine virtuelle technique Up ! Virtual Technical Machine a pour but de lisser toutes les différences entre les systèmes d'exploitation supportés. Ainsi, elle tient compte notamment de : La machine virtuelle lisse également aussi toutes les différences entre les interfaces hommes-machines :

Le module Up ! Object Management System d'Up ! Virtual Technical Machine gère les objets standards employés par les programmes Up ! Application System. Vu d'en dehors d'Up ! Virtual Technical Machine, ces objets sont identiques quelques soient leur implémentation. Celle-ci peut être :

Up ! Virtual Technical Machine est le socle qui garantit la portabilité des programmes écrits en technologie Up ! Application System et leur exécution identique d'une plate-forme à l'autre.

Architecture d'un programme ou d'un module compilé

Un programme compilé utilise directement les Application Programme Interface (API) des modules compilés dynamiques ou statiques, en particulier ceux d'Up ! Virtual Technical Machine.

La liaison entre Up ! Virtual Technical Machine et les logiciels de bases est réalisée via des Machine interfaces isolant leurs spécificités dans des modules natifs, en s'appuyant au maximum sur les standards du marché tel Posix.

Si une Application Programme Interface (API) est non normalisée, elle est généralement non employée ou réécrite.
Cette stratégie permet d'avoir du code compact, optimisé et robuste aux erreurs. Les programmes en sont d'autant plus économes et fiables.

Architecture d'un programme ou d'un module interprété

Up ! Script Engine est un module en technologie Up ! Virtual Technical Machine particulier sachant interpréter directement les sources des modules écrits en Up ! 5GL sans les compiler.

Il repose sur Up ! 5GL Interpreter, l'interpréteur générique de tout langage reposant sur le modèle générique d'Up ! 5GL. Pour plus de précisions à propos de ce modèle, merci de se référer à la fiche Architecture du kit de développement.

Il existe donc une version de ce Up ! Script Engine par plate-forme dont le fonctionnement est identique quelle que soit celle-ci.

Up ! Script Engine charge les modules constituants le programme au démarrage de celui-ci :