Luc Bellissard - Academia.edu (original) (raw)

Papers by Luc Bellissard

Research paper thumbnail of Connectors: a Key Feature For Building Distributed Component-based Architectures

ABSTRACT Building distributed applications and frameworks that integrate legacy software componen... more ABSTRACT Building distributed applications and frameworks that integrate legacy software components is more than ever a challenging direction in distributed software engineering. However, interconnecting distributed components and making them collaborate in a flexible and configurable way is a complicated and error prone task: actually, underlying communication requirements are often hidden within components implementation. This paper claims that the use of connectors is a way of decoupling communication and interconnection dependencies from the core implementation, thus leading to higher flexibility and increased reusability when building distributed software architectures. Connectors are a step towards both the production of a clear application structure in terms of interacting pieces of software, and the customized configuration of distributed processing according to user-defined specifications for component interoperability. 1. Introduction 1.1 Objects versus Components Object-Oriented de...

Research paper thumbnail of 1The Olan Architecture Definition Language

This paper presents the Olan Architecture Definition Language used for describing a distributed s... more This paper presents the Olan Architecture Definition Language used for describing a distributed software architecture. Architecture Definition Languages are today recognized as a successful solution for the design, the analysis, the implementation and the deployment of complex software architecture, goals that are within the scope of the C3DS project. The main contribution of the Olan ADL is to help the design and implementation of distributed software systems, and the result of an Olan described Architecture can be used to deploy a system on various kind of middleware. Within C3DS, the targeted middleware is the TCCS platform, a combination of the AAA agent-based message oriented middleware and CORBA Object

Research paper thumbnail of V.: A Component Calculus for Modeling the Olan Configuration Language. COORDINATION

Components will certainly become a key concept for the next generation of software architectures ... more Components will certainly become a key concept for the next generation of software architectures because of their impact on effective software reuse, real interoperability and integration. Within the Olan project [18], we face the difficulty of defining an operational semantics able to reflect the diversity of execution models involved in real applications. Existing process calculi offer the required abstractions such as encapsulation and process equivalences, but they rely on the fundamental assumption that agents are active, i.e autonomously able to initiate communication. However, components, viewed as software pieces with explicit interfaces, require a notion of passive composition that allows, for instance, several components to be traversed by a same process. In this paper, we introduce a calculus, named ICCS, which extends the Milner's CCS calculus with (1) an operator for passive composition, and (2) selective interactions. While preserving the powerful theory of process equivalences established for CCS, this calculus provides an operational definition of passive components and allows thus to establish the basis of an operational semantics for the Olan Configuration Language.

Research paper thumbnail of Component-Based Programming of Distributed Applications

The software architecture research domain arose in the early 90s and seeks solutions for easing t... more The software architecture research domain arose in the early 90s and seeks solutions for easing the development of large, complex, software systems based on the abstract description of their software architectures. This research field is quite recent and there still does not exist a consensus on what should be the description of a software architecture. However, guidelines are already provided. In particular, it is now accepted that an architecture definition decomposes into three types of elements: component, connector, and configuration, which respectively correspond to a computation unit, an interaction unit and an architecture. It is also admitted that the description of an architecture should rely on a well-defined set of notations, generically referred to as architecture description languages. This document gives an overview of the capabilities offered by development environments based on the architecture paradigm. In a first step, we examine basic features of architecture description languages, which may be seen as their common denominator although existing languages already differ from that standpoint. We then concentrate on two specific environments, developed by members of the Broadcast working group, which aim at easing the implementation of distributed applications out of existing components. The Aster environment from the Solidor group at Inria-Irisa provides means for the systematic synthesis of middleware from non-functional requirements of applications. The Olan environment from the Sirac group at Inria-Grenoble offers support for the deployment of distributed applications composed of heterogeneous software elements.

Research paper thumbnail of Dynamic Reconfiguration of Agent-Based Applications

This paper examines the problem of dynamic application reconfiguration. We show that the addition... more This paper examines the problem of dynamic application reconfiguration. We show that the addition of event-driven agents to an application built from interconnected components greatly improves the ability to reconfigure the application while in operation, for customization or added functionalities. Our preliminary experience is based on a specific architecture of interconnected components and agents, used for several distributed applications, including a firewall system. 1 Introduction In recent years, the software engineering community has devoted many efforts to the development of techniques and tools to support the design and implementation of applications to be distributed across networks and workstations. Some of this focus has been on support for initial development and configuration of applications while other research has focused on techniques to support these types of applications at runtime. We are currently conducting research intended to develop techniques for supporting...

Research paper thumbnail of The AAA Agent-based Message Oriented

Research paper thumbnail of Administration and Deployment Tools in a Message-Oriented Middleware

Message oriented middleware (MOM) are suffering from a lack of tools for building and operating d... more Message oriented middleware (MOM) are suffering from a lack of tools for building and operating distributed applications. MOMs usually only provide a proprietary programming interface (API) that is the only way for application components to have access to the communication system. This way of programming is affordable for simple applications, but it becomes cumbersome and error prone for complex large-scale distributed applications. The goal of our research is to extend the ScalAgent MOM to provide a component-based programming model and a set of tools easing the description, the configuration and the administration of applications made of components interacting via the MOM. Our main contribution is to merge work done both by the middleware and the software architecture communities. keywords: message-oriented middleware, components, architecture description lan-

Research paper thumbnail of From Distributed Objects to Distributed Components: the Olan Approach

Programming of distributed applications is now supported by multiple alternatives whenconsidering... more Programming of distributed applications is now supported by multiple alternatives whenconsidering high level distributed environments.Using a system platform for remote access to servicesSuch a platform can be a pure distributed operating system or a distributed languageruntime like Emerald[1], Argus[2], Guide[3], or a platform that integrates distrib-ution like CORBA[4], ILU[5], Network OLE, etc. Those technologies aim at pro-viding transparent and easy access to distributed services available on aworkstation cluster, thus normalizing the way of accessing them. Such a normal-ization most often deals with the interface description language (IDL[6]) that sta-tically describe services available from various objects, and the mapping of such alanguage with existing programming languages used for the core implementation ofobjects. In order to access a service, a client object must first know the identity of theserver object (that really provides the desired service), the type of interfac...

Research paper thumbnail of Aministration and Deployment Tools in a Message-Oriented Middleware

Research paper thumbnail of Application-Driven Customization of Message-Oriented Middleware for Consumer Devices

Research paper thumbnail of OLAN Tools

Research paper thumbnail of The AAA Agent-based Message Oriented Middleware

Research paper thumbnail of Construction and management of cooperative distributed applications with OLAN

Proceedings of International Workshop on Object Orientation in Operating Systems, 1995

This paper presents a component-based programming model whose goal is to make construction and ma... more This paper presents a component-based programming model whose goal is to make construction and management of distributed cooperative applications easier. The approach taken aims at combining Module Interconnection Language features with the concept of class derived from object-oriented models. Using our model, an application is seen as a hierarchy of interacting components, where a component represents the building unit for construction and management. Low level components contain objects or piece of software written in any programming language. The proposed model is being implemented on top of a distributed object-based platform that provides object distribution, object sharing and clustering. We argue that adequacy between application requirements and system mechanisms achieved with this model will allow efficient use of OS functionalities as well as provide an easy way of managing and maintaining applications on any given architecture

Research paper thumbnail of Distributed application configuration

Proceedings of 16th International Conference on Distributed Computing Systems

Research paper thumbnail of Component-Based Programming of Distributed Applications

Lecture Notes in Computer Science, 2000

Research paper thumbnail of An agent platform for reliable asynchronous distributed programming

Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems

Production of reliable and flexible distributed applications is a growing area of interest and re... more Production of reliable and flexible distributed applications is a growing area of interest and research. Various middleware technologies are often used as the communication infrastructure and as a practical ease to the network programming problem. Among them, Message-Oriented Middleware (MOM) are known to provide reliable and flexible communication through asynchronous message passing. This kind of middleware is of particular interest when coordinating components that are not designed for simultaneous execution. Usually, MOM focus on the communication layer with a programming interface, charge to the external components to adapt to the MOM communication model. In this paper, we introduce a distributed programming model based on autonomous software entities called agents. Agents act as the glue software components and they offer reliable and flexible properties like atomic execution or migration from node to node. The combination of both a MOM and agents has been implemented in the AAA platform presented in the second part of the paper.

Research paper thumbnail of A workflow and agent based platform for service provisioning

Proceedings Fourth International Enterprise Distributed Objects Computing Conference. EDOC2000

The design and implementation of a dependable system that provides a composition and execution en... more The design and implementation of a dependable system that provides a composition and execution environment for distributed applications whose executions could span arbitrarily large durations is described. The objective is to create a framework for complex service provisioning. By complex service provisioning we primarily mean the ability to compose a given service out of existing ones as well as the ability to exercise dynamic control over the execution of the service. The approach taken is centred around building middleware services based on integration of workflow and agent technologies. The platform enables these two systems to interact via CORBA services. Service behaviour and service deployment are represented as workflow processes. Individual tasks that make up the workflow would be legacy applications, specially created tasks, and agent applications. Agents are able to create workflow instances, receive results from workflows and send inputs to workflows. This enables agents to act as user agents capable of managing workflows on behalf of users.

Research paper thumbnail of Asynchronous, Hierarchical, and Scalable Deployment of Component-Based Applications

Lecture Notes in Computer Science, 2004

The deployment of distributed component-based applications is a complex task. Proposed solutions ... more The deployment of distributed component-based applications is a complex task. Proposed solutions are often centralized, which excludes their use for the deployment of large-scale applications. Besides, these solutions do often not take into account the functional constraints, i.e. the dependences between component activations. Finally, most of them are not fault-tolerant. In this paper, we propose a deployment application that deals with these three problems. It is hierarchical, which is a necessary feature to guarantee scalability. Moreover, it is designed as a distributed workflow decomposed into tasks executing asynchronously, which allows an "as soon as possible" activation of deployed components. Finally, the proposed deployment application is fault-tolerant. This is achieved by the use of persistent agents with atomic execution. This deployment application has been tested and performance measurements show that it is scalable.

Research paper thumbnail of A component calculus for modeling the Olan configuration language

Lecture Notes in Computer Science, 1997

Components will certainly become a key concept for the next generation of software architectures ... more Components will certainly become a key concept for the next generation of software architectures because of their impact on effective software reuse, real interoperability and integration. Within the Olan project [18], we face the difficulty of defining an operational semantics able to reflect the diversity of execution models involved in real applications. Existing process calculi offer the required abstractions such as encapsulation and process equivalences, but they rely on the fundamental assumption that agents are active, i.e autonomously able to initiate communication. However, components, viewed as software pieces with explicit interfaces, require a notion of passive composition that allows, for instance, several components to be traversed by a same process. In this paper, we introduce a calculus, named ICCS, which extends the Milner's CCS calculus with (1) an operator for passive composition, and (2) selective interactions. While preserving the powerful theory of process equivalences established for CCS, this calculus provides an operational definition of passive components and allows thus to establish the basis of an operational semantics for the Olan Configuration Language.

Research paper thumbnail of System services for distributed application configuration

Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159)

The reuse of existing software components for the engineering of complex distributed applications... more The reuse of existing software components for the engineering of complex distributed applications is today a key issue in industrial development projects. Encapsulation and interconnection of heterogeneous legacy components have actually been raised as very fundamental issues and partial solutions have been proposed to overcome them such as the use of Object Request Brokers (ORB). However, these approaches do not

Research paper thumbnail of Connectors: a Key Feature For Building Distributed Component-based Architectures

ABSTRACT Building distributed applications and frameworks that integrate legacy software componen... more ABSTRACT Building distributed applications and frameworks that integrate legacy software components is more than ever a challenging direction in distributed software engineering. However, interconnecting distributed components and making them collaborate in a flexible and configurable way is a complicated and error prone task: actually, underlying communication requirements are often hidden within components implementation. This paper claims that the use of connectors is a way of decoupling communication and interconnection dependencies from the core implementation, thus leading to higher flexibility and increased reusability when building distributed software architectures. Connectors are a step towards both the production of a clear application structure in terms of interacting pieces of software, and the customized configuration of distributed processing according to user-defined specifications for component interoperability. 1. Introduction 1.1 Objects versus Components Object-Oriented de...

Research paper thumbnail of 1The Olan Architecture Definition Language

This paper presents the Olan Architecture Definition Language used for describing a distributed s... more This paper presents the Olan Architecture Definition Language used for describing a distributed software architecture. Architecture Definition Languages are today recognized as a successful solution for the design, the analysis, the implementation and the deployment of complex software architecture, goals that are within the scope of the C3DS project. The main contribution of the Olan ADL is to help the design and implementation of distributed software systems, and the result of an Olan described Architecture can be used to deploy a system on various kind of middleware. Within C3DS, the targeted middleware is the TCCS platform, a combination of the AAA agent-based message oriented middleware and CORBA Object

Research paper thumbnail of V.: A Component Calculus for Modeling the Olan Configuration Language. COORDINATION

Components will certainly become a key concept for the next generation of software architectures ... more Components will certainly become a key concept for the next generation of software architectures because of their impact on effective software reuse, real interoperability and integration. Within the Olan project [18], we face the difficulty of defining an operational semantics able to reflect the diversity of execution models involved in real applications. Existing process calculi offer the required abstractions such as encapsulation and process equivalences, but they rely on the fundamental assumption that agents are active, i.e autonomously able to initiate communication. However, components, viewed as software pieces with explicit interfaces, require a notion of passive composition that allows, for instance, several components to be traversed by a same process. In this paper, we introduce a calculus, named ICCS, which extends the Milner's CCS calculus with (1) an operator for passive composition, and (2) selective interactions. While preserving the powerful theory of process equivalences established for CCS, this calculus provides an operational definition of passive components and allows thus to establish the basis of an operational semantics for the Olan Configuration Language.

Research paper thumbnail of Component-Based Programming of Distributed Applications

The software architecture research domain arose in the early 90s and seeks solutions for easing t... more The software architecture research domain arose in the early 90s and seeks solutions for easing the development of large, complex, software systems based on the abstract description of their software architectures. This research field is quite recent and there still does not exist a consensus on what should be the description of a software architecture. However, guidelines are already provided. In particular, it is now accepted that an architecture definition decomposes into three types of elements: component, connector, and configuration, which respectively correspond to a computation unit, an interaction unit and an architecture. It is also admitted that the description of an architecture should rely on a well-defined set of notations, generically referred to as architecture description languages. This document gives an overview of the capabilities offered by development environments based on the architecture paradigm. In a first step, we examine basic features of architecture description languages, which may be seen as their common denominator although existing languages already differ from that standpoint. We then concentrate on two specific environments, developed by members of the Broadcast working group, which aim at easing the implementation of distributed applications out of existing components. The Aster environment from the Solidor group at Inria-Irisa provides means for the systematic synthesis of middleware from non-functional requirements of applications. The Olan environment from the Sirac group at Inria-Grenoble offers support for the deployment of distributed applications composed of heterogeneous software elements.

Research paper thumbnail of Dynamic Reconfiguration of Agent-Based Applications

This paper examines the problem of dynamic application reconfiguration. We show that the addition... more This paper examines the problem of dynamic application reconfiguration. We show that the addition of event-driven agents to an application built from interconnected components greatly improves the ability to reconfigure the application while in operation, for customization or added functionalities. Our preliminary experience is based on a specific architecture of interconnected components and agents, used for several distributed applications, including a firewall system. 1 Introduction In recent years, the software engineering community has devoted many efforts to the development of techniques and tools to support the design and implementation of applications to be distributed across networks and workstations. Some of this focus has been on support for initial development and configuration of applications while other research has focused on techniques to support these types of applications at runtime. We are currently conducting research intended to develop techniques for supporting...

Research paper thumbnail of The AAA Agent-based Message Oriented

Research paper thumbnail of Administration and Deployment Tools in a Message-Oriented Middleware

Message oriented middleware (MOM) are suffering from a lack of tools for building and operating d... more Message oriented middleware (MOM) are suffering from a lack of tools for building and operating distributed applications. MOMs usually only provide a proprietary programming interface (API) that is the only way for application components to have access to the communication system. This way of programming is affordable for simple applications, but it becomes cumbersome and error prone for complex large-scale distributed applications. The goal of our research is to extend the ScalAgent MOM to provide a component-based programming model and a set of tools easing the description, the configuration and the administration of applications made of components interacting via the MOM. Our main contribution is to merge work done both by the middleware and the software architecture communities. keywords: message-oriented middleware, components, architecture description lan-

Research paper thumbnail of From Distributed Objects to Distributed Components: the Olan Approach

Programming of distributed applications is now supported by multiple alternatives whenconsidering... more Programming of distributed applications is now supported by multiple alternatives whenconsidering high level distributed environments.Using a system platform for remote access to servicesSuch a platform can be a pure distributed operating system or a distributed languageruntime like Emerald[1], Argus[2], Guide[3], or a platform that integrates distrib-ution like CORBA[4], ILU[5], Network OLE, etc. Those technologies aim at pro-viding transparent and easy access to distributed services available on aworkstation cluster, thus normalizing the way of accessing them. Such a normal-ization most often deals with the interface description language (IDL[6]) that sta-tically describe services available from various objects, and the mapping of such alanguage with existing programming languages used for the core implementation ofobjects. In order to access a service, a client object must first know the identity of theserver object (that really provides the desired service), the type of interfac...

Research paper thumbnail of Aministration and Deployment Tools in a Message-Oriented Middleware

Research paper thumbnail of Application-Driven Customization of Message-Oriented Middleware for Consumer Devices

Research paper thumbnail of OLAN Tools

Research paper thumbnail of The AAA Agent-based Message Oriented Middleware

Research paper thumbnail of Construction and management of cooperative distributed applications with OLAN

Proceedings of International Workshop on Object Orientation in Operating Systems, 1995

This paper presents a component-based programming model whose goal is to make construction and ma... more This paper presents a component-based programming model whose goal is to make construction and management of distributed cooperative applications easier. The approach taken aims at combining Module Interconnection Language features with the concept of class derived from object-oriented models. Using our model, an application is seen as a hierarchy of interacting components, where a component represents the building unit for construction and management. Low level components contain objects or piece of software written in any programming language. The proposed model is being implemented on top of a distributed object-based platform that provides object distribution, object sharing and clustering. We argue that adequacy between application requirements and system mechanisms achieved with this model will allow efficient use of OS functionalities as well as provide an easy way of managing and maintaining applications on any given architecture

Research paper thumbnail of Distributed application configuration

Proceedings of 16th International Conference on Distributed Computing Systems

Research paper thumbnail of Component-Based Programming of Distributed Applications

Lecture Notes in Computer Science, 2000

Research paper thumbnail of An agent platform for reliable asynchronous distributed programming

Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems

Production of reliable and flexible distributed applications is a growing area of interest and re... more Production of reliable and flexible distributed applications is a growing area of interest and research. Various middleware technologies are often used as the communication infrastructure and as a practical ease to the network programming problem. Among them, Message-Oriented Middleware (MOM) are known to provide reliable and flexible communication through asynchronous message passing. This kind of middleware is of particular interest when coordinating components that are not designed for simultaneous execution. Usually, MOM focus on the communication layer with a programming interface, charge to the external components to adapt to the MOM communication model. In this paper, we introduce a distributed programming model based on autonomous software entities called agents. Agents act as the glue software components and they offer reliable and flexible properties like atomic execution or migration from node to node. The combination of both a MOM and agents has been implemented in the AAA platform presented in the second part of the paper.

Research paper thumbnail of A workflow and agent based platform for service provisioning

Proceedings Fourth International Enterprise Distributed Objects Computing Conference. EDOC2000

The design and implementation of a dependable system that provides a composition and execution en... more The design and implementation of a dependable system that provides a composition and execution environment for distributed applications whose executions could span arbitrarily large durations is described. The objective is to create a framework for complex service provisioning. By complex service provisioning we primarily mean the ability to compose a given service out of existing ones as well as the ability to exercise dynamic control over the execution of the service. The approach taken is centred around building middleware services based on integration of workflow and agent technologies. The platform enables these two systems to interact via CORBA services. Service behaviour and service deployment are represented as workflow processes. Individual tasks that make up the workflow would be legacy applications, specially created tasks, and agent applications. Agents are able to create workflow instances, receive results from workflows and send inputs to workflows. This enables agents to act as user agents capable of managing workflows on behalf of users.

Research paper thumbnail of Asynchronous, Hierarchical, and Scalable Deployment of Component-Based Applications

Lecture Notes in Computer Science, 2004

The deployment of distributed component-based applications is a complex task. Proposed solutions ... more The deployment of distributed component-based applications is a complex task. Proposed solutions are often centralized, which excludes their use for the deployment of large-scale applications. Besides, these solutions do often not take into account the functional constraints, i.e. the dependences between component activations. Finally, most of them are not fault-tolerant. In this paper, we propose a deployment application that deals with these three problems. It is hierarchical, which is a necessary feature to guarantee scalability. Moreover, it is designed as a distributed workflow decomposed into tasks executing asynchronously, which allows an "as soon as possible" activation of deployed components. Finally, the proposed deployment application is fault-tolerant. This is achieved by the use of persistent agents with atomic execution. This deployment application has been tested and performance measurements show that it is scalable.

Research paper thumbnail of A component calculus for modeling the Olan configuration language

Lecture Notes in Computer Science, 1997

Components will certainly become a key concept for the next generation of software architectures ... more Components will certainly become a key concept for the next generation of software architectures because of their impact on effective software reuse, real interoperability and integration. Within the Olan project [18], we face the difficulty of defining an operational semantics able to reflect the diversity of execution models involved in real applications. Existing process calculi offer the required abstractions such as encapsulation and process equivalences, but they rely on the fundamental assumption that agents are active, i.e autonomously able to initiate communication. However, components, viewed as software pieces with explicit interfaces, require a notion of passive composition that allows, for instance, several components to be traversed by a same process. In this paper, we introduce a calculus, named ICCS, which extends the Milner's CCS calculus with (1) an operator for passive composition, and (2) selective interactions. While preserving the powerful theory of process equivalences established for CCS, this calculus provides an operational definition of passive components and allows thus to establish the basis of an operational semantics for the Olan Configuration Language.

Research paper thumbnail of System services for distributed application configuration

Proceedings. Fourth International Conference on Configurable Distributed Systems (Cat. No.98EX159)

The reuse of existing software components for the engineering of complex distributed applications... more The reuse of existing software components for the engineering of complex distributed applications is today a key issue in industrial development projects. Encapsulation and interconnection of heterogeneous legacy components have actually been raised as very fundamental issues and partial solutions have been proposed to overcome them such as the use of Object Request Brokers (ORB). However, these approaches do not