Architecting networked embedded systems following a service-based paradigm improves the flexibility in software design and development. Services can be connected and composed to provide more complex functionality in the form of a service graph or application. Service composition must be done according to two different goals. On the one hand, service interfaces must be compatible, i.e., the provided interface of a service must match the required interface of the connecting one. On the other hand, composition criteria must meet application level requirements or QoS constrains. This paper provides an interface view of services highlighting the way in which they expose their QoS requirements in their interfaces. Based on this, it is explored how application level QoS requirements influence the specific selection of particular services. The paper identifies a bi-dimensional model of the QoS properties of services that are related to (1) the application functionality and (2) the execution requirements or computational resources needed from the platform. The paper provides a practical implementation of this QoS model in the ¡LAND project. ¡LAND middleware supports the dynamic reconfiguration of real-time service-based applications that specify their QoS requirements in this way. The paper validates the proposed QoS model with a specific use case.
dynamic models; embedded systems; information services; middleware; software design; application level; computational resources; dynamic re-configuration; networked embedded systems; required interfaces; service compositions; service interfaces; software design and development; quality of service