Définition - Que signifie Atom?
Atom est un langage de programmation concurrent et spécifique à un domaine qui est utilisé pour les applications en temps réel et intégrées. Il comporte la planification des tâches de compilation et produit du code avec une utilisation de la mémoire et un temps d'exécution améliorés. Le modèle de concurrence d'Atom élimine les exigences d'algorithmes d'exclusion mutuelle.
Definir Tech explique Atom
Développé en 2007, Atom est sorti en open source en avril de cette année. Il a été conçu pour maximiser les opérations exécutées dans un cycle d'horloge donné sans violer la sémantique des opérations atomiques. Cependant, Atom équilibre également les charges de traitement et minimise les latences de synchronisation.
La description du circuit d'Atom comprend un ensemble d'éléments d'état et de règles. Chaque règle est composée de deux composants: les mises à jour d'état et les conditions d'activation. Lorsque les règles sont activées, les actions sont sélectionnées pour s'exécuter de manière atomique. Les règles se voient attribuer une priorité linéaire et globale, et plusieurs règles peuvent être écrites dans le même élément d'état. Les dépendances de données entre les règles forment un graphique. Les graphes cycliques sont préférés comme règles et peuvent être composés séquentiellement. Les compilateurs classent les règles pour minimiser les arêtes qui renvoient des règles de priorité faible à élevée. Étant donné que les paires de règles sont mutuellement exclusives, les arêtes ne sont pas critiques pour un graphique de dépendance des données de règle.
Les objets Atom (également appelés objets actifs) sont des entités actives similaires aux serveurs multithread. Tous les messages traités créent de nouveaux fils dans les objets. Les threads sont parfois créés simultanément lors de la création d'un objet pour exécuter des activités internes. L'exécution des threads n'est pas préventive et un seul thread est actif dans un objet à la fois. Les threads concernent les conditions d'activation qui déterminent les états d'objet compatibles avec l'exécution. Les modèles Atom sont associés à des fonctionnalités (comme la notification d'état, les états abstraits et les prédicats d'état) et sont intégrés au passage de messages et à la planification des threads.