Huaxi Zhang

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)
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)
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 processes(More)
The conception and design of Resource Constrained Embedded Systems (RCES) is an inherently complex endeavor. Non-functional requirements from security and dependability are exacerbate this complexity. Model-Driven Engineering (MDE) is a promising approach for the design of trusted systems, as it bridges the gap between design issues and implementation(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)
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)
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)
To apply software architecture techniques in domain specific development becomes an emergent issue. Many industrial domains such as aeronautics, automobile develop their own domain specific ADLs to benefit the advantages of software architecture techniques. However, for small domains, this is very costly in terms of time, manpower and money. However, domain(More)