An Introduction to Pervasive Interface Automata

  • M. Calder
  • P. Gray
  • A. Miller
  • C. Unsworth
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6921)


Pervasive systems are often context-dependent, component based systems in which components expose interfaces and offer one or more services. These systems may evolve in unpredictable ways, often through component replacement. We present pervasive interface automata as a formalism for modelling components and their composition. Pervasive interface automata are based on the interface automata of Henzinger et al [3], with several significant differences. We expand their notion of input and output actions to combinations of input, output actions, and callable methods and method calls. Whereas interface automata have a refinement relation, we argue the crucial relation in pervasive systems is component replacement, which must include consideration of the services offered by a component and assumptions about the environment. We illustrate pervasive interface automata and component replacement with a small case study of a pervasive application for sports predictions.


Output Action Callable Method Server Component Shared Action Spare Capacity 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services: Concepts, Architectures and Applications. Data-centric systems and applications. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  2. 2.
    Bell, M., Hall, M., Chalmers, M., Gray, P., Brown, B.: Domino: Exploring mobile collaborative software adaptation. In: Fishkin, K.P., Schiele, B., Nixon, P., Quigley, A. (eds.) PERVASIVE 2006. LNCS, vol. 3968, pp. 153–168. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  3. 3.
    de Alfaro, L., Henzinger, T.: Interface automata. SIGSOFT Software Engineering Notes 26(5), 109–120 (2001)CrossRefGoogle Scholar
  4. 4.
    de Alfaro, L., Henzinger, T.: Interface theories for component-based design. In: Henzinger, T., Kirsch, C. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    de Alfaro, L., Henzinger, T.: Interface-based design. Engineering Theories of Software-intensive Systems 195, 83–104 (2005)CrossRefGoogle Scholar
  6. 6.
    de Nicola, R., Vaandrager, F.: Action versus state based logics for transition systems. In: Guessarian, I. (ed.) LITP 1990. LNCS, vol. 469, pp. 407–419. Springer, Heidelberg (1990)CrossRefGoogle Scholar
  7. 7.
    Google: App inventor for android (July 2010),
  8. 8.
    Honda, K.: Types for dyadic interaction. In: Best, E. (ed.) CONCUR 1993. LNCS, vol. 715, pp. 509–523. Springer, Heidelberg (1993)Google Scholar
  9. 9.
    Honda, K., Vasconcelos, V., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  10. 10.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)CrossRefzbMATHGoogle Scholar
  11. 11.
    Černá, I., Vařeková, P., Zimmerova, B.: Component substitutability via equivalencies of component-interaction automata. Electronic Notes in Theoretical Computer Science (ENTCS) 182, 39–55 (2007)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • M. Calder
    • 1
  • P. Gray
    • 1
  • A. Miller
    • 1
  • C. Unsworth
    • 1
  1. 1.Computing ScienceUniversity of GlasgowU.K.

Personalised recommendations