Learn More
As mobile robots have been more and more widely applied, their tasks become more and more complicated. Architectures of robots encapsulate and model the algorithms and hardware into components. How to organize and configure these components to make them work together appropriately becomes one of the most important research subjects. Domain specific model(More)
Architecture-centric, component-based development intensively reuses components from repositories. Such development processes produce architecture definitions, using architecture description languages (Adls). This paper proposes a three step process. Architecture specifications first capture abstract and ideal architectures imagined by architects to meet(More)
Component-based development promotes a software development process that focuses on component reuse. How to describe a desired component before searching in the repository? How to find an existing component that fulfills the required functionalities? How to capture the system personalization based on its constitutive components' customization? To answer(More)
—Component-based development focuses on component reuse and composition: abstract components (as wished) must be searched for and matched to existing component (as found). This search and reuse activity greatly impacts software development and evolution processes. Unfortunately, very few works propose adaptations of traditional software engineering(More)
Security and Dependability (S&D) have become mandatory requirements while engineering embedded systems in some industrial sectors. Typically, S&D requirements are developed ad-hoc for each system, preventing further reuse beyond domain-specific boundaries. In recent times, S&D patterns have been introduced to provide reusable solutions. Those patterns(More)
Large, complex and long-lived software need to be upgraded at runtime. Addition, removal and replacement of a software component are the elementary evolution operations that have to be supported. Yet, dynamic changes are errorprone as it is difficult to guarantee that the new system will still work and that all functionalities and quality are preserved. Few(More)
Software architectures are the blueprint of software systems construction and evolution. During the overall software lifecycle, several changes of its architecture may be considered (e.g. including new software requirements, correcting bugs, enhancing software performance). To ensure a valid and reliable evolution, software architecture changes must be(More)
In component-based software engineering, software architectures govern not only software development but also software evolution. Indeed, to efficiently and accurately manage software evolution and guarantee its quality, architecture models should be at the core of the evolution process, be accurately synchronized with the runtime systems and have their(More)
Cloud robotic system is a mono- or multi- robot system that profits one or more services of Cloud Computing. In a few short years, Cloud robotics as a newly emerged field has already received much research and industrial attention. The use of the Cloud for robotics and automation brings some potential benefits largely ameliorating the performance of robotic(More)