Component-based programming of distributed applications

Citation
V. Issarny et al., Component-based programming of distributed applications, LECT N COMP, 1752, 2000, pp. 327-353
Citations number
43
Categorie Soggetti
Current Book Contents
ISSN journal
03029743
Volume
1752
Year of publication
2000
Pages
327 - 353
Database
ISI
SICI code
0302-9743(2000)1752:<327:CPODA>2.0.ZU;2-J
Abstract
The software architecture research domain arose in the early 90s and seeks solutions for easing the development of large, complex, software systems ba sed on the abstract description of their software architectures. This resea rch field is quite recent and there still does not exist a consensus on wha t should be the description of a software architecture. However, guidelines are already provided. In particular, it is now accepted that an architectu re definition decomposes into three types of elements: component, connector , and configuration, which respectively correspond to a computation unit, a n interaction unit and an architecture. It is also admitted that the descri ption of an architecture should rely on a well-defined set of notations, ge nerically referred to as architecture description languages. This document gives an overview of the capabilities offered by development environments b ased on the architecture paradigm. In a first step, we examine basic featur es of architecture description languages, which may be seen as their common denominator although existing languages already differ from that standpoin t. We then concentrate on two specific environments, developed by members o f the BROADCAST working group, which aim at easing the implementation of di stributed applications out of existing components. The Aster environment fr om the Solider group at INRIA-IRISA provides means for the systematic synth esis of middleware from non-functional requirements of applications. The Ol an environment from the Sirac group at INRIA-Grenoble offers support for th e deployment of distributed applications composed of heterogeneous software elements.