Architecture de systèmes dans l'environnement MMS
"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.