In this paper we present ESIDE, an integrated development environment for component-based embedded systems. It leverages component-based software engineering principles to facilitate efficient, scalable, and robust hardware/software co-design, co-simulation, co-verification, and their seamless integration. We first describe the architecture and features of ESIDE. We then discuss several design decisions that we faced in developing ESIDE and the trade-offs in making these decisions. To provide perspective, we report our experiences in re-engineering TinyOSbased networked sensor systems into complete componentbased designs that cover both hardware and software.
Nicholas T. Pilkington, Juncao Li, Fei Xie