Conception d'algorithmes répartis et de protocoles réseaux en approche objet

Abstract : This thesis deals with the design of distributed algorithms, network protocols, and cooperative applications with an object-oriented approach. This process requires the use of numerous system and network software components. We propose several tools and formalisms to carry out this activity. The originality of our approach is, first, to extend the local point of view of existing object-oriented methods in order to integrate the behaviors of groups of distributed objects, and second, to set up a distributed programming language. Thus, we propose a development process with three methodological levels: group, object, and method. This top-down process introduces, with successive refinement steps, more and more details in the behavioral models. These three levels deals, respectively, with distribution, concurrency, and sequentiality. In this thesis, we are interested in the first two levels. The group level deals with the inter-objects coordination of distributed objects. The interactions inside such groups are defined in terms of knowledge exchanges. They can be seen as the consequences of the run of some global actions performed by all the objects of the group. We put forward four global actions, called distributed control structures, frequently used in distributed applications: the phase, the distributed condition, the distributed iteration, and the distributed recursion. They can be seen as the extension, at a distributed level, of the four following basic algorithmic statements: the sequence, the \em case \em and the \em if \em statements, the \em while \em loop, and the backtrack traversal. We use an epistemic logic to describe the knowledge levels reached by the run of these structures. We propose a syntax, called group level knowledge based program, to describe the global actions and the epistemic predicates used by an application. The object level deals with intra-object coordination. According to the fact that inter-objects coordination is performed by objects whose concurrent activities need to be synchronized, the object level is a refinement of the group level. To carry out the description of intra-object coordination, we propose the CAOLAC language. We implemented it on top of the object language of the GUIDE distributed system. The CAOLAC language is a meta-object protocol that separates synchronization tasks from sequential ones. The former are defined in meta-classes, and the latter in classes. The originality of the CAOLAC language is to use both some state/transition models and some usual object-oriented code to write meta-classes. Each object is associated with a meta-object that traps method calls and that performs some coordination before delivering them to the object. The advantage of this approach is to clearly separate the different functionalities, and to facilitate the reuse of synchronization policies. The semantics of the CAOLAC language is partially defined with Lamport temporal logic of actions. We illustrate our approach with two examples. We present the design of a spanning tree construction distributed algorithm, and of a transactional two phases commit protocol.
Liste complète des métadonnées

Cited literature [154 references]  Display  Hide  Download
Contributor : Lionel Seinturier <>
Submitted on : Sunday, December 6, 2009 - 12:08:41 PM
Last modification on : Wednesday, March 20, 2019 - 4:52:07 PM
Document(s) archivé(s) le : Thursday, June 17, 2010 - 9:11:15 PM


  • HAL Id : tel-00439136, version 1



Lionel Seinturier. Conception d'algorithmes répartis et de protocoles réseaux en approche objet. Réseaux et télécommunications [cs.NI]. Conservatoire National des Arts et Métiers - CNAM Paris, 1997. Français. ⟨tel-00439136⟩



Record views


Files downloads