A Checklist for Evaluation of Reference Architectures of Embedded Systems (S)

Embedded systems are computers designed to perform specialized tasks. Examples of embedded systems include printers, consoles and televisions. The software that controls embedded systems usually present critical requirements, since, many times, their failure may result in human harm or environmental damage. Therefore, the design of such software requires a quality driven approach. In software engineering, reference architectures are reusable software engineering artifacts introduced to facilitate the design of software architectures of a given domain. The adoption of reference architectures in embedded systems design offers advantages that could help improve their quality. To assure that the reference architecture presents all required information and address all concerns, it is important to have means of evaluating it, but available evaluation methods for reference architecture require adaptation and may have limitations. In this context, this work introduces a checklist for evaluation of reference architectures of embedded systems. We elaborate on a web based tool that could support the checklist application. To evaluate this checklist, we considered the opinion of experts in software architecture and reference architecture. Also, we successfully applied the checklist in an academic reference architecture project. We expect that this work contributes to the evaluation of reference architectures of embedded systems. Finally, we intend that this work could open interesting, new research perspectives in this direction.