Nicolas Desnos

Learn More
The requirement for higher security and dependability of systems is continuously increasing even in domains not traditionally deeply involved in such issues. Yet, evolution of embedded systems towards devices connected via Internet, wireless communication or other interfaces requires a reconsideration of secure and trusted embedded systems engineering(More)
The requirement for higher reliability and availability of systems is continuously increasing even in domains not traditionally deeply involved in such issues. In particular Resource Constrained Embedded Systems solutions are expected to be efficient, flexible, reusable on rapidly evolving hardware and at low cost. Model driven approaches can be very(More)
Assembling software components into an architecture is a difficult task because of its combinatorial complexity. There is thus a need for automating this building process, either to assist architects at design time or to manage the self-assembly of components at runtime. This paper proposes an automatic architecture building process that uses ports, and(More)
In this paper, we present an automatic and flexible approach for software component substitution. When a component is removed from an assembly, most existing approaches perform component-to-component substitution, relying on the fact that such a candidate component is available, which is hardly to happen because the constraints on its interfaces are too(More)
In this paper, we present a search-based automatic many-to-one component substitution mechanism. When a component is removed from an assembly to overcome component obsolescence, failure or unavailability, most existing systems perform component-tocomponent (one-to-one) substitution. Thus, they only handle situations where a specific candidate component is(More)
Component directories index components by the services they offer thus enabling us to rapidly access them. Component directories are also the cornerstone of dynamic component assembly evolution when components fail or when new functionalities have to be added to meet new requirements. This work targets semi-automatic evolution processes. It states the(More)
In component-based software engineering, software systems are built by assembling prefabricated reusable components. The compatibility between the assembled components is crucial. It is determined by the comparison of their exposed interfaces: required interfaces (describing the services the component needs) and provided interfaces (describing the services(More)