Skip to main content

An Interface Theory for the Internet of Things

  • Conference paper
  • First Online:
Software Engineering and Formal Methods (SEFM 2015)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 9276))

Included in the following conference series:

Abstract

This paper uses interface automata to develop an interface theory for a component architecture for Internet of Things (IoT) applications. Specifically, it examines an architecture for IoT applications where so-called “accessors” provide an actor-oriented proxy for devices (“things”) and services. Following the principles of actor models, an accessor reacts to input stimuli and produces outputs that can stimulate reactions in other accessors or actors. The paper focuses on a specialized form of actor models where inputs and outputs to accessors and actors are time-stamped events, enabling timing-sensitive IoT applications. The interaction between accessors and actors via time-stamped events forms a “horizontal contract,” formalized in this paper as an interface automaton. The interaction between an accessor and the thing or service for which it is a proxy is a “vertical contract,” also formalized as an interface automaton. Following common practice in network programming, our vertical contract uses an asynchronous atomic callback (AAC) pattern. The formal composition of these interface automata allows us to reason about the combination of a timed actor model and the AAC pattern, enabling careful evaluation of design choices for IoT systems.

M. Lohstroh and E.A. Lee—This work was supported in part by the TerraSwarm Research Center, one of six centers supported by the STARnet phase of the Focus Center Research Program (FCRP) a Semiconductor Research Corporation program sponsored by MARCO and DARPA.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    This composition was constructed automatically using software written by Yuhong Xiong over 12 years ago [14].

References

  1. Agha, G.A., Mason, I.A., Smith, S.F., Talcott, C.L.: A foundation for actor computation. J. Funct. Program. 7(1), 1–72 (1997)

    Article  MathSciNet  Google Scholar 

  2. Benveniste, A., Caillaud, B., Nickovic, D., Passerone, R., Raclet, J.-B., Reinkemeier, P., Sangiovanni-Vincentelli, A., Damm, W., Henzinger, T., Larsen, K.G.: Contracts for System Design. Research report RR-8147, November 2012

    Google Scholar 

  3. Corbett, J.C., et al.: Spanner: Google’s globally-distributed database. ACM Trans. Comput. Syst. (TOCS) 31(3), 8:1–8:22 (2013)

    Article  Google Scholar 

  4. de Alfaro, L., Henzinger, T.A.: Interface automata. In: Proceedings of the Ninth Annual Symposium on Foundations of Software Engineering (FSE), pp. 109–120. ACM Press (2001)

    Google Scholar 

  5. de Alfaro, L., Henzinger, T.A.: Interface theories for component-based design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  6. Dennis, J.B.: First version data flow procedure language. Report MAC TM61, MIT Laboratory for Computer Science (1974)

    Google Scholar 

  7. Gelernter, D., Carriero, N.: Coordination languages and their significance. Commun. ACM 35(2), 97–107 (1992)

    Article  Google Scholar 

  8. Hewitt, C.: Viewing control structures as patterns of passing messages. J. Artif. Intell. 8(3), 323–363 (1977)

    Article  Google Scholar 

  9. Kohler, E., Morris, R., Chen, B., Jannotti, J., Kaashoek, M.F.: The click modular router. ACM Trans. Comput. Syst. 18(3), 263–297 (2000)

    Article  Google Scholar 

  10. Latronico, E., Lee, E., Lohstroh, M., Shaver, C., Wasicek, A., Weber, A.: A vision of swarmlets. IEEE Internet Comput. PP(99), 1 (2015)

    Google Scholar 

  11. Lee, E.A.: The problem with threads. Computer 39(5), 33–42 (2006)

    Article  Google Scholar 

  12. Lee, E.A.: ThreadedComposite: a mechanism for building concurrent and parallel Ptolemy II models. Technical report UCB/EECS-2008-151, EECS Department, University of California, Berkeley, 7 December 2008

    Google Scholar 

  13. Lee, E.A., Neuendorffer, S., Wirthlin, M.J.: Actor-oriented design of embedded hardware and software systems. J. Circuits Syst. Comput. 12(3), 231–260 (2003)

    Article  Google Scholar 

  14. Lee, E.A., Xiong, Y.: A behavioral type system and its application in Ptolemy II. Formal Aspects Comput. 16(3), 210–237 (2003)

    Google Scholar 

  15. Levis, P., Madden, S., Gay, D., Polastre, J., Szewczyk, R., Woo, A., Brewer, E., Culler, D.: The emergence of networking abstractions and techniques in TinyOS. In: First USENIX/ACM Symposium on Networked Systems Design and Implementation (NSDI 2004) (2004)

    Google Scholar 

  16. Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: Proceedings of the Sixth Annual ACM Symposium on Principles of Distributed Computing, PODC 1987, pp. 137–151. ACM, New York (1987)

    Google Scholar 

  17. Nuzzo, P., Sangiovanni-Vincentelli, A., Sun, X., Puggelli, A.: Methodology for the design of analog integrated interfaces using contracts. IEEE Sens. J. 12(12), 3329–3345 (2012)

    Article  Google Scholar 

  18. Perssson, J.: Open source release of IoT app environment Calvin, 4 June 2015. Ericsson Research Blog. http://ericsson.com/research-blog/cloud/open-source-calvin/

  19. Ptolemaeus, C. (ed.): System Design, Modeling, and Simulation using Ptolemy II. Ptolemy.org, Berkeley (2014)

    Google Scholar 

  20. Sangiovanni-Vincentelli, A., Martin, G.: Platform-based design and software design methodology for embedded systems. IEEE Des. Test Comput. 18(6), 23–33 (2001)

    Article  MATH  Google Scholar 

  21. Tomasulo, R.: An efficient algorithm for exploiting multiple arithmetic units. IBM J. Res. Dev. 11(1), 25–33 (1967)

    Article  MATH  Google Scholar 

  22. von Eicken, T., Culler, D.E., Goldstein, S.C., Schauser, K.E.: Active messages: a mechanism for integrated communication and computation. SIGARCH Comput. Archit. News 20(2), 256–266 (1992)

    Article  MATH  Google Scholar 

  23. Wegner, P.: Why interaction is more powerful than algorithms. Commun. ACM 40(5), 80–91 (1997)

    Article  Google Scholar 

  24. Zhao, Y., Lee, E.A., Liu, J.: A programming model for time-synchronized distributed real-time systems. In: Real-Time and Embedded Technology and Applications Symposium (RTAS), pp. 259–268. IEEE (2007)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Edward A. Lee .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Lohstroh, M., Lee, E.A. (2015). An Interface Theory for the Internet of Things. In: Calinescu, R., Rumpe, B. (eds) Software Engineering and Formal Methods. SEFM 2015. Lecture Notes in Computer Science(), vol 9276. Springer, Cham. https://doi.org/10.1007/978-3-319-22969-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-22969-0_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-22968-3

  • Online ISBN: 978-3-319-22969-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics