Département d'informatique

Architecture de systèmes dans l'environnement MMS

Castori, Pierre ; Nussbaumer, Henri J. (Dir.)

Thèse Ecole polytechnique fédérale de Lausanne EPFL : 1996 ; no 1501.

Add to personal list
    Summary
    "Manufacturing Message Specification" (MMS) is an OSI application layer protocol that allows remote applications (called clients) to control and supervise various heterogeneous industrial devices (called servers). MMS is becoming widely accepted as the main protocol for open communications between heterogeneous machines in many areas that are not limited to manufacturing. MMS facilitates the cooperation of heterogeneous devices. But, this is done at the cost of a rather complex and under-utilized standard. The aim of this thesis is to propose an architecture of MMS-based systems that simplifies the use of MMS and extends its capabilities to satisfy more closely the needs of user applications. We start with a detailed analysis of MMS events and semaphores. These two aspects of MMS are still misunderstood and often even ignored. We compare MMS semaphores and events to well-known and similar concepts in fields not related to MMS. This approach allows us to clarify the concept of semaphore and event in MMS. It facilitates the understanding we have of these concepts and encourages their use in MMS applications. We do not know of any MMS server that offers all of the services and functionalities described in the MMS standard. We propose a general architecture of such servers that eases the implementation of all MMS services and integrates more specifically the management of events. A server based on such a generic architecture has been implemented. It is composed of several units. Each unit is responsible for the management of a specific group of MMS services. These units are controlled by the Transaction Processor which constitutes the core of the server. The benefits of this architecture rely in the clarity it provides and the decoupling of the various units. This architecture facilitates server modifications as well as the addition of new services. We provide a deeper analysis of MMS events by defining an extension to MMS event detection. This extension satisfies more closely the needs of industrial applications based on MMS. It allows user applications to provide predicate expressions that can lead to an event occurrence. This is something that is not possible in the current MMS standard. This extension is entirely compatible with existing MMS applications since the MMS protocol is not modified and the server behavior is only extended. We also propose another extension to MMS. This last extension allows users to include priorities to MMS service requests and allows servers to execute these requests based on the priority values. More generally, the problem of requests and tasks scheduling in a server is a major issue for industrial applications. However, it is not addressed at all by MMS. Thus, we analyze the capabilities and limitations of MMS in the domain of real-time systems. We show how requests can be given deadlines without modifying the MMS protocol. We make use of MMS modifiers to satisfy a real-time execution of MMS requests and propose solutions to ensure a real-time detection of MMS events. MMS does not seem to provide application developers with the adequate tools to deal with distributed systems requirements. We study the behavior of MMS systems when applications require the cooperation or competition of multiple clients in the presence of multiple servers. In doing so, we always try to reduce the influence our solutions could have on the MMS protocol. We propose MMS-based solutions for classical problems such as rendez-vous between clients, readers/writers and the dining philosophers problem. We also define two algorithms for accessing data distributed to several MMS sites. These algorithms are based on deadlock detection/resolution techniques and make an abundant use of MMS semaphores and events.
    Résumé
    "Manufacturing Message Specification" (MMS) est un protocole de la couche application de l'OSI dont le but est de permettre le contrôle par des applications distantes (les clients) d'équipements industriels divers et hétérogènes (les serveurs). Cette messagerie industrielle est en train de devenir un point de passage incontournable dans le monde des applications industrielles mais aussi dans d'autres domaines qui ne sont pas limités à la productique. Mais si MMS règle le problème de l'hétérogénéité c'est au prix d'une norme complexe, encore trop méconnue et souvent sous-exploitée. L'objectif de cette thèse est de proposer une architecture des systèmes basés sur la norme MMS qui permette à la fois d'en simplifier l'utilisation et d'en étendre les possibilités pour mieux satisfaire les besoins des utilisateurs. Nous commençons par effectuer une étude détaillée des fonctionnalités MMS que sont les sémaphores et les événements, aspects de MMS encore sous-utilisés pour ne pas dire inconnus. La méthode suivie est de ramener les sémaphores et événements MMS à des concepts similaires et connus. Cette approche qui n'a semble-t-il pas encore été suivie par d'autres auteurs nous permet de clarifier les concepts de sémaphore et d'événement MMS en vue de faciliter leur compréhension et leur utilisation dans les applications MMS. Il semble qu'il n'existe à ce jour aucun serveur MMS qui implante la totalité des services et fonctionnalités décrits dans la norme. Notre but est de proposer une architecture générale d'un tel serveur qui favorise une implantation facile et harmonieuse de tous les services et intègre plus particulièrement la gestion des événements. Une telle architecture générique a été élaborée et a fait l'objet d'une implantation. Elle est composée de sous unités dont chacune est responsable pour le traitement d'un groupe particulier de services MMS. Ces unités sont contrôlées par le Processeur de Transactions qui constitue le coeur même du serveur. L'avantage de cette architecture vient de sa clarté et du découplage des diverses unités. Elle permet une modification aisée du serveur ainsi que l'ajout de nouveaux services. Les événements MMS font l'objet d'une étude approfondie. Nous définissons une extension à la détection des événements dont le but est de mieux satisfaire les besoins des applications industrielles basées sur MMS. Cette extension permet aux utilisateurs de définir eux-mêmes les conditions menant à la détection d'un événement, ce qui n'est pas possible dans la norme actuelle. Elle a pour avantage de rester complètement compatible avec les applications MMS existantes dans la mesure où le protocole MMS n'est pas modifié et le comportement des serveurs est seulement étendu. Une autre extension à la norme est également proposée. Elle permet aux utilisateurs de fournir des priorités aux services MMS et aux serveurs d'exécuter les requêtes en fonction de ces priorités. Plus généralement, le problème de l'ordonnancement des requêtes et des activités concurrentes d'un serveur est un point essentiel pour les applications industrielles temps-réel mais qui n'a pas du tout été abordé par la norme MMS. Nous analysons donc les possibilités et limitations de MMS dans le domaine du temps-réel. Nous montrons comment associer des échéances aux requêtes de service MMS sans modifier la norme. Nous montrons également comment exploiter les modificateurs MMS pour satisfaire une exécution temps-réel des requêtes de service et proposons des solutions pour assurer une détection en temps-réel des événements MMS de type scruté. MMS ne semble pas avoir été conçu pour être intégré aisément à des systèmes répartis. Pourtant, la répartition sur différents sites d'applications coopérantes ou travaillant en parallèle est une constante toujours plus forte des scénarios réels. Nous étudions le comportement des systèmes MMS en présence de nombreux serveurs et clients entrant en compétition ou collaborant à la réalisation d'une tâche commune. Ce faisant, nous cherchons toujours à minimiser l'impact que ceci pourrait avoir sur le protocole MMS. Nous nous attachons à résoudre, avec MMS seulement, quelques uns des problèmes classiques comme les rendez-vous entre clients, lecteurs/rédacteurs et problème des philosophes. Par ailleurs, deux algorithmes gérant la concurrence d'accès aux données réparties sur des sites MMS sont proposés. Ces algorithmes sont basés sur des techniques de détection/résolution des interblocages et utilisent abondamment les services de sémaphores et d'événements MMS.