Abstract
Component-based software development is becoming mainstream for conventional applications. However, components can be difficult to deploy in embedded systems because of QoS (non-functional) requirements. This paper presents an approach to building software for embedded systems, based on the use of component in combination with contracts. The contracts specify both the functional prop erties and QoS properties of the different components in the system. This is especially important in embedded systems, since they are resource constrained. In this paper we propose a component model for embedded systems, which is based on four level contracts. And we formalize the first three level contracts by using pi calculus and its type system, allowing us to specify composition and to reason about the compatibility and substitutability of the components.