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
Complete list of metadatas

Cited literature [28 references]  Display  Hide  Download

https://hal-lirmm.ccsd.cnrs.fr/lirmm-01104167
Contributor : Chouki Tibermacine <>
Submitted on : Friday, January 16, 2015 - 11:52:49 AM
Last modification on : Friday, October 26, 2018 - 11:32:09 AM
Long-term archiving on : Saturday, April 15, 2017 - 6:52:18 PM

File

PSetAl_CBSE_2014.pdf
Publisher files allowed on an open archive

Identifiers

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. pp.13-22, ⟨10.1145/2602458.2602476⟩. ⟨lirmm-01104167⟩

Share

Metrics

Record views

569

Files downloads

2750