A contract-based component model for embedded systems

Component-based software development is becoming mainstream for conventional applications. However, components can be difficult to deploy in embedded systems because of QoS (nonfunctional) requirements. This work 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 properties and QoS properties of the different components in the system. This is especially important in embedded systems, since they are resource constrained. 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.

[1]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[2]  Oscar Nierstrasz,et al.  A Component Model for Field Devices , 2002, Component Deployment.

[3]  Svend Frølund,et al.  Quality-of-service specification in distributed object systems , 1998, Distributed Syst. Eng..

[4]  Lidia Fuentes,et al.  Adding Roles to CORBA Objects , 2003, IEEE Trans. Software Eng..

[5]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[6]  Santiago Comella-Dorda,et al.  Volume II: Technical Concepts of Component-Based Software Engineering , 2000 .

[7]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[8]  Michael Winter,et al.  Components for embedded software: the PECOS approach , 2002, CASES '02.

[9]  Claus Pahl A Formal Composition and Interaction Model for a Web Component Platform , 2002, Electron. Notes Theor. Comput. Sci..

[10]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[11]  José M. Troya,et al.  Compatibility and inheritance in software architectures , 2001, Sci. Comput. Program..

[12]  Stefan Van Baelen,et al.  A tool for component based design of embedded software , 2002 .

[13]  Jari Koistinen,et al.  Quality of services specification in distributed object systems design , 1998 .

[14]  Clemens Szyperski,et al.  Component software , 1997 .

[15]  Claus Pahl A PiCalculus based framework for the composition and replacement of components , 2001 .

[16]  Pradeep K. Khosla,et al.  Design of Dynamically Reconfigurable Real-Time Software Using Port-Based Objects , 1997, IEEE Trans. Software Eng..

[17]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[18]  John Zic,et al.  On Modelling Real-Time Mobile Processes , 2002, ACSC.

[19]  Jean-Marc Jézéquel,et al.  Making Components Contract Aware , 1999, Computer.

[20]  Stefan Van Baelen,et al.  Embedded software development: Components and contracts , 2001 .

[21]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .