Special issue: Component-based architecture, the Fractal initiative

Vol. 64, n° 1-2, January-February 2009
Content available on SpringerLink

Guest editors
Gordon Blair, University Lancaster, UK
Thierry Coupaye, Orange Labs, France
Jean-Bernard Stefani, Inria, France


Gordon Blair , Thierry Coupaye, Jean-Bernard Stefani

GCM: a grid extension to Fractal for autonomous distributed components

Françoise Baude1 · Denis Caromel1 · Cédric Dalmasso1 · Marco Danelutto · Vladimir Getov2 · Ludovic Henrio1 · Christian Pérez3
1 INRIA Sophia-Antipolis, France
2 Université de Pise, Italy
3 Université de Westminster, UK
4 INRIA/IRISA Rennes, France

Abstract This article presents an extension of the Fractal component model targeted at programming applications to be run on computing grids: the grid component model (GCM). First, to address the problem of deployment of components on the grid, deployment strategies have been defined. Then, as grid applications often result from the composition of a lot of parallel (sometimes identical) components, composition mechanisms to support collective communications on a set of components are introduced. Finally, because of the constantly evolving environment and requirements for grid applications, the GCM defines a set of features intended to support component autonomicity. All these aspects are developed in this paper with the challenging objective to ease the programming of grid applications,while allowing GCM components to also be the unit of deployment and management.

Keywords Distributed components · Autonomous components · Adaptable components · Collective communications · Grid component model

Behavioural models for distributed Fractal components

Tomás Barros1 · Rabéa Ameur-Boulifa2 · Antonio Cansado3 · Ludovic Henrio3 · Eric Madelaine3
Universidad de Chili, Chile
2 Telecom Paristech, Sophia-Antipolis, France
3 INRIA Sophia-Antipolis, France

Abstract This paper presents a formal behavioural specification framework for specifying and verifying the correct behaviour of distributed Fractal components. The first contribution is a parameterised and hierarchical behavioural model called pNets that serves as a lowlevel semantic framework for expressing the behaviour of various classes of distributed languages and as a common internal format for our tools. Then, we use this model to define the generation of behavioural models for applications ranging from sequential Fractal components, to distributed objects, and finally to distributed components. Our models are able to characterise both functional and non-functional behaviours and the interaction between the two concerns. Finally, this work has resulted in the development of tools allowing the non-expert programmer to specify the behaviour of his components and (semi)automatically verify properties of his application.

Keywords Hierarchical components · Distributed asynchronous components · Formal verification · Behavioural specification · Model-Checking

FPath and FScript: Language support for navigation and reliable reconfiguration of Fractal architectures

Pierre-Charles David1 · Thomas Ledoux1 · Marc Léger1 · Thierry Coupaye2
Ecole des Mines de Nantes, France
2 France Telecom R&D, Meylan, France

Abstract Component-based systems must support dynamic reconfigurations to adapt to their execution context, but not at the cost of reliability. Fractal provides intrinsic support for dynamic reconfiguration, but its definition in terms of low-level APIs makes it complex to write reconfigurations and to ensure their reliability. This article presents a language-based approach to solve these issues: direct and focused language support for architecture navigation and reconfiguration make it easier both to write the reconfigurations and to ensure their reliability. Concretely, this article presents two languages: (1) FPath, a domain-specific language that provides a concise yet powerful notation to navigate inside and query Fractal architectures, and (2) FScript, a scripting language that embeds FPath and supports the definition of complex reconfigurations. FScript ensures the reliability of these reconfigurations thanks to sophisticated run-time control, which provides transactional semantics (ACID properties) to the reconfigurations.

Keywords FPath · FScript · Language support

Leveraging component-based software engineering with Fraclet

Romain Rouvoy1 · Philippe Merle2
University of Oslo, Norway
2 INRIA-USTL-CNRS, Villeneuve d’Ascq, France

Abstract Component-based software engineering has achieved wide acceptance in the domain of software engineering by improving productivity, reusability and composition. This success has also encouraged the emergence of a plethora of component models. Nevertheless, even if the abstract models of most of lightweight component models are quite similar, their programming models can still differ a lot. This drawback limits the reuse and composition of components implemented using different programming models. The contribution of this article is to introduce Fraclet as a programming model common to several lightweight component models. This programming model is presented as an annotation framework, which allows the developer to annotate the program code with the elements of the abstract component model. Then, using a generative approach, the annotated program code is completed according to the programming model of the component model to be supported by the component runtime environment. This article shows that this annotation framework provides a significant simplification of the program code by removing all dependencies on the component model interfaces. These benefits are illustrated with the Fractal and OpenCOM component models.

Keywords Component-based software engineering · Fractal · Annotation-oriented programming

Performance evaluation of Fractal component-based systems

Nabila Salmi1,2 · Patrice Moreaux1 · Malika Ioualalen2
1LISTIC, Université de Savoie, Chambéry, France
2LSI, Université des Sciences et Technologie, Alger, Algeria

Abstract Component-based system development is now a well accepted design approach in software engineering. Numerous component models have been proposed, and for most of them, specific software tools allow building component-based systems (CBS). Although these tools perform several checks on the built system, few of them provide formal verification of behavioural properties nor performance evaluation of the resulting system. In this context, we have developed a general method associating to a CBS, a formal model, based on stochastic well formed nets, a class of high-level Petri nets, allowing qualitative behavioural analysis together with performance evaluation of this CBS. The definition of the model heavily depends on the (run time) component model used to describe the CBS. In this paper, we instantiate our method to Fractal CBS and its reference Java implementation Julia. The method starts from the Fractal architectural description of a system and defines rules to systematically generate element models of the CBS and their interactions. We then apply a structured method for both qualitative and performance analysis, taking into account the given implementation of the Fractal model. The main interest of our method is to take advantage of the compositional definition of such systems to carry out an efficient analysis. The paper concentrates on performance evaluation and presents our method step by step with an illustrative example.

Keywords Modelling · Performances · Component · Interaction · CBS · SWN · Synchronous composition · Asynchronous composition

CLIF, a framework based on Fractal for flexible, distributed load testing

Bruno Dillenseger
Orange Labs, Meylan, France

Abstract The context of this work is performance evaluation of IT systems based on load testing. It typically consists in generating a flow of requests on a system under test, and to measure response times, request throughput, or computing resource usage. A quick overview of available load testing platforms shows that there exist hundreds of such platforms, including in the open source domain. However, many testers still tend to develop their own ad hoc load testing tooling. Why? This paper starts by looking for possible answers to this question, in order to introduce the CLIF load injection framework, which intends not to be yet another load testing platform. Based on the Fractal component model, the CLIF open source project aims at addressing key issues such as flexibility, adaptation, and scalability. We give here details about CLIF’s architecture and associated tools as well as some feedback from a bunch of practical utilizations.

Keywords Performance evaluation . Load testing .Load injection . Distributed system . Component-based software engineering

A component-based policy-neutral architecture for kernel-level access control

Marc Lacoste, Tahar Jarboui, Ruan He
Orange Labs, Meylan, France

Abstract Protection should fundamentally be flexible for devices roaming in Beyond 3G networks. In this federation of heterogeneous access networks, each sub-network comes with its own security requirements, policies, and protocols. Foundational element of device security, the embedded OS itself, should become adaptable to make it possible to tune its protection mechanisms to the current security context, notably to support multiple authorization policies. We show how flexibility can be applied to the kernel authorization architecture by adopting a component-based OS design, the component serving as single abstraction for reconfiguration and security. We present a policy-neutral access control architecture called CRACKER (Component-based Reconfigurable Access Control for KERnels) for componentbased operating systems. CRACKER supports a wide range of authorization policies, and permits policy reconfiguration, in the same or in different security models. Specified in the Fractal component model, and implemented in the Think OS, CRACKER illustrates how flexible kernel authorization can be realized while maintaining acceptable system performance.

Keywords Access control . Authorization . Component-based architectures . Security kernels . Operating systems . Flexibility . Policy-neutral authorization

Open topics

On the performance analysis of wireless receiver using generalized-gamma fading model

Jyoteesh Malhotra1, Ajay K. Sharma2, R. S. Kaler3
G.N.D.U. Regional Campus, Jalandhar, India
2 National Institute of Technology, Jalandhar, India
3 Thapar University, Patiala, India

Abstract In this paper, we provide a unified analysis for wireless system over generalized fading channels that is modeled by the two parameter generalized gamma model. This model is versatile enough to represent short-term fading such as Weibull, Nakagami-m, or Rayleigh as well as shadowing. The performance measures such as the amount of fading, average bit error rate, and signal outage are considered for analysis. With the aid of moment generating function (MGF) approach and Padé approximation (PA) technique, outage probability and average bit error rate have been evaluated for a variety of modulation formats. We first use the PA technique to find a simple way to evaluate compact rational expressions for the MGF of output signal-to-noise ratio, unlike previously derived intricate expressions in terms of Fox’s H and MeijerG functions. Using these rational expressions, we evaluate the performance of wireless receivers under a range of representative channel fading conditions. Our results are validated through computer simulations, which shows perfect match.

Keywords Wireless channel modeling . Digital modulation . Outage probability . Average bit error rate .Moment generating function . Padé approximation

XeNA: an access negotiation framework using XACML

Diala Abi Haidar*· Nora Cuppens-Boulahia** · Frédéric Cuppens** · Hervé Debar*
*France Telecom R&D Caen, France
** ENST Bretagne, Cesson Sevigne, France

Abstract XeNA is a new model for the negotiation of access within an extended eXtensible Access Control Markup Language (XACML) architecture. We bring together trust management through a negotiation process and access control management within the same architecture. The negotiation process based on resource classification methodology occurs before the access control management. A negotiation module at the core of this negotiation process is in charge of collecting resources required to establish a level of trust and to insure a successful evaluation of access. The access control management is based on an extended Role- Based Access Control (RBAC) profile of XACML. This extended profile responds to advanced access control requirements and allows the expression of several access control models within XACML.

Keywords Access control · XACML · RBAC · OrBAC · Interoperability · Trust management