Today, patterns are used in several domains (distributed applications, security, software requirements, architecture…). Our purpose is double: first, to know if existing patterns can be applied in the particular domain of embedded systems middleware, second, to establish the grounding towards a patterns language for that domain.In this paper, we describe how to design and build a lightweight middleware for embedded systems with well known patterns such as Composite, Proxy, Visitor, Observer, Publish/Subscribe, Leasing, Evictor or Configurator. The patterns we selected and implemented allow keeping the memory footprint reduced. Yet, they were relevant to address the need of creating topology views of Networked Embedded Systems (NES), to monitor and to manage them. As a result, the middleware is modular, flexible, extensible, and lightweight (< 128 kb) according to targeted embedded systems requirements.In addition, this paper describes a concrete case study, illustrating how to select appropriate patterns to build a dedicated middleware in order to interconnect numerous small devices.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.