A Component-based meta-level architecture and prototypical implementation of a reflective Component-based Programming and Modeling language

Petr Spacek 1 Christophe Dony 1 Chouki Tibermacine 1
1 MAREL - Models And Reuse Engineering, Languages
LIRMM - Laboratoire d'Informatique de Robotique et de Microélectronique de Montpellier
Abstract : Component-based Software Engineering studies the design, development and maintenance of software constructed upon sets of connected components. Using existing standard solutions, component-based models are frequently trans-formed into non-component-based programs, most of the time object-oriented, for run-time execution. As a conse-quence many component-level descriptions (part of code), e.g. explicit architectures or ports declarations, vanish at the implementation stage, making debugging, transforma-tions or reverse-engineering difficult. It has been shown that component-based programming languages contribute to bridge this gap between design and implementation and to provide a conceptual and practical continuum to fully de-velop applications with components. In this paper we go one step further in this direction by making a component-oriented programming and modeling language truly reflec-tive, thus making verification, evolution or transformation stages of software development part of this new continuum. The gained reflection capabilities indeed make it possible to perform architecture checking, code refactoring, model transformations or even to implement new languages con-structs with and for components. The paper presents an original executable meta-level architecture achieving the vi-sion that "everything is a component" and an operational im-plementation demonstrating its feasibility and effectiveness. Our system revisits some standard solutions for reification in the component's context and also handles new cases, such as ports reification, to allow for runtime introspection and intercession on components and on their descriptors. We validate these ideas in the context of an executable pro-totypical and minimal component-based language, named Compo, whose first goal is to help imagining the future.
Keywords : Software
Type de document :
Communication dans un congrès
CBSE: Component-Based Software Engineering, Jun 2014, Lille, France. 17th international ACM Sigsoft symposium on Component-based software engineering, pp.13-22, 2014, 〈http://cbse-conferences.org/2014/〉. 〈10.1145/2602458.2602476〉
Liste complète des métadonnées

Littérature citée [28 références]  Voir  Masquer  Télécharger

https://hal-lirmm.ccsd.cnrs.fr/lirmm-01104167
Contributeur : Chouki Tibermacine <>
Soumis le : vendredi 16 janvier 2015 - 11:52:49
Dernière modification le : jeudi 11 janvier 2018 - 06:26:11
Document(s) archivé(s) le : samedi 15 avril 2017 - 18:52:18

Fichier

PSetAl_CBSE_2014.pdf
Fichiers éditeurs autorisés sur une archive ouverte

Identifiants

Collections

Citation

Petr Spacek, Christophe Dony, Chouki Tibermacine. A Component-based meta-level architecture and prototypical implementation of a reflective Component-based Programming and Modeling language. CBSE: Component-Based Software Engineering, Jun 2014, Lille, France. 17th international ACM Sigsoft symposium on Component-based software engineering, pp.13-22, 2014, 〈http://cbse-conferences.org/2014/〉. 〈10.1145/2602458.2602476〉. 〈lirmm-01104167〉

Partager

Métriques

Consultations de la notice

201

Téléchargements de fichiers

276