The MM system: A Maker and Manager of distributed software

M. Girard

IBP-Laforia 1995/16: Rapport de Recherche Laforia / Laforia research reports
21 pages - Mai/May 1995 - Document en anglais.

PostScript : 11 Ko /Kb

Titre / Title: The MM system: A Maker and Manager of distributed software


Résumé : La réalisation de calculs scientifiques nécessitent fréquemment l'utilisation de logiciels indépendants s'échangeant. En l'absence d'un langage de description commun à plusieurs logiciels, ces échanges engendrent des problèmes de communication: l'utilisateur est dans l'obligation d'écrire les protocoles de communication, de créer les canaux de communication et d'intégrer les opérations de transformation de format aux applications respectives. Cet utilisateur peut également utiliser une application centrale supervisant et gérant ces différentes opérations.
Nous proposons un outil de développement de logiciels scientifiques qui gère ces opérations de manière transparente à l'utilisateur. Par analogie avec la programmation automatique d'interfaces graphiques, la base de données du système MM contient un ensemble de logiciels, de librairies et de programmes de transformation de format; ils sont considérés et représentés par des boites noires. Le système est capable d'enchaîner les différentes boîte sélectionnées par l'utilisateur en vue de la réalisation d'un calcul, ajoutant dynamiquement celles qui manquent. Il transforme ensuite la chaîne de boîtes obtenue en une application capable d'effectuer le calcul par la création des canaux de communication, et éventuellement par le réalisation d'autres opérations telles qu'une compilation par exemple.
Ce programme, écrit en C/C++, utilise des techniques d'Intelligence Artificielle Distribuée et plus précisément des Systèmes Multi Agents permettant une spécification aisée des "boîtes noires", une utilisation simple lors de la phase de recherche et de connexion, et dote également le système d'une plus large flexibilité.

Abstract : Scientific computation usually involves the use of multiple software components exchanging data that may lead to communication problems: each application (software or function) is defined by its own description language and in absence of a universal communication protocol, the user must either create one as well as the communication channels and integrate the required data transformation operations to the respective applications to allow a direct data exchange, or use a specialised central component that will supervise and manage these exchange.
We propose a new software development toolkit which manages these operations in a way transparent to the user, with the aim of constructing scientific applications. Based on an analogy with the automatic programming of graphical user interfaces, the data base of the MM system contains a set of software, libraries and data transformation programs which could be represented as black boxes. The user selects the one most important for its computation; during a search phase the system tries to chain them up adding dynamically the missing ones. Through the creation of communication channels and, if necessary, other operations like compilations, this chain will be transformed in a program able to compute the user data.
This system, written in C/C++, uses Distributed Artificial Intelligence techniques, and specifically Multi Agent Systems which on one hand permit an easy "box" specification and use for the search and connection phase, and on the other hand endows the system with large flexibility.


Publications internes Laforia 1995 / Laforia research reports 1995